持续更新中

如果需要帮助, 请前往我的 Github Repository 提出 issues, 评论区的提问无法回复

State-of-the-art Shitcode

Get it from AUR

Demo

mcctl 是什么?

mcctl ( Minecraft-Control )是一个多功能的自动化Linux脚本, 其内置的功能能让使用者轻松安装 / 更新 / 启动 Minecraft 服务器.

你能用 mcctl 做到什么?

  • 开机启动 Minecraft 服务器
  • 自动创建新的服务器
  • 在后台启动服务器
  • 手动指定更新服务器及组件
  • 轻松从 Arch User Repository 安装 / 更新
  • 使用 mcctl --install 自更新
  • 自动检测已安装的服务器及组件且更新
  • 下载受 Cloudflare 保护的 spigotmc.org 资源, 全程无需任何点击 ( Cloudflare的防护是什么垃圾 )
  • --unattended 让服务器不再主动询问 sudo 权限, 而是跳过这部分代码
  • 自动安装需要的软件包 ( CentOS 就算了 )
  • 支持环境变量 version serverPath, 无需手动指定版本与路径
  • 自动校验下载的文件
  • 自动同意 Minecraft 最终用户许可协议
  • 保存配置到 ~/.config, 可直接调用
  • 修复 BulidTools 错误
  • 自动按需请求 root 权限
  • 检测 ExitCode, 提供内建的疑难解答
  • 自动使用一个锁文件防止多个进程同时运行
  • 自动安装 / 更新插件
  • 更多…

基础 / Basic

安装 mcctl

从 AUR 安装 ( 仅限Arch Linux及衍生发行版 )

使用 AUR 助手安装 ( 例如 yay yaourt 等 )

1
yay -S mcctl-git --noconfirm --needed

手动从 AUR 安装 ( 需要安装 Git 与 base-devel包 )

1
2
3
4
cd ~
git clone https://aur.archlinux.org/mcctl-git.git
cd mcctl-git
makepkg -si

从源码安装

1
git clone https://github.com/Kimiblock/mcctl.git && cd mcctl && ./mcctl --install

设定环境变量

编辑 /etc/environment, 添加文字

1
2
serverPath=[服务器目录]
version=[目标Minecraft版本]

重新启动服务器

使用 mcctl 新建服务器

首先, 请确定服务器的位置, 并使用 cd 更改到那个路径. 呐, 不会有人放在奇怪的地方比如/boot罢 (急迫

原版服务器

1
mcctl --currentdirectory --latest --newserver mojang

Spigot 插件服务器

1
mcctl --currentdirectory --latest --newserver spigot

Paper 优化版插件服务器 ( 坑惨了某个屑腐竹 )

1
mcctl --currentdirectory --latest --newserver paper

使用 mcctl 启动服务器

警告! 请先安装依赖!

安装依赖

通过 AUR

请在安装时选择需要的依赖

通过mcctl

1
mcctl --instreq

通过命令行启动服务器

在前台启动

Spigot 服务器

1
mcctl --currentdirectory --latest --start [ 服务器核心: mojang / spigot / paper ] 

在后台启动

1
mcctl --currentdirectory --latest --start [ 服务器核心: mojang / spigot / paper ] d

服务器启动后可以通过 screen -r [screen 名称] 来返回, screen 名称可以通过 screen -ls 查询

通过 mcctl 快照服务器

创建快照

1
mcctl --create-snapshot

删除旧快照

1
mcctl --delete-snapshot $2 #删除 $2 天前的快照

还原快照

警告! 还原快照前请关闭正在运行的服务器

1
mcctl --restore-snapshot $2 #还原 $2 天前的快照

指定快照储存位置

编辑 /etc/environment, 添加环境变量 snapshotPath

通过 mcctl 更新服务器

首先, cd 到服务器目录

自动

1
mcctl --update --latest --currentdirectory autodetect

这将会自动判断你的服务器核心与插件并更新

手动

Options Effects
spigot Update spigot.
paper Update paper.
sac Update SoaromaSAC
floodgate Update floodgate.
geyser Update geyser.
systemupdate Fully update your system. ( Run with sudo when -unattended activated! )
unsafe Disable default protecting.
outtolog Redirect output to several log files.
newserver Automatically create server folder.
nosudo Do not use sudo for system update.
clean Clean leftovers.
mtvehicles Update mtvehicles (Unnecessary because you can update plugin by /mtv update)

进阶 / Advance

警告! 下列步骤如果设置错误, 可能会导致灾难性的后果.

使用环境变量来指定服务器的版本和路径

通过 /etc/environment

编辑文件. 在最后添加:

1
2
serverPath=[你的目标路径]
version=[你的目标版本]

通过 /etc/profile

1
2
export serverPath=[你的目标路径]
export version=[你的目标版本]

修复 BuildTools 错误

1
mcctl --clean

升级 mcctl

通过 AUR 助手

1
yay -Syyu

通过 mcctl

1
mcctl --install

开机启动服务器

1
mcctl --start --[Server name] -d
Server name Effects
paper Start PaperMC
spigot Start SpigotMC
mojang Start Mojang server

保存选项

保存:

1
mcctl --save-options [选项]

调用:

1
mcctl

每天0时自动更新

  • 安装软件包 cronie

  • 启用 cronie.service

  • crontab -e
    
    1
    2
    3

    ```bash
    0 0 * * * mcctl --[Options]