总结于经历了卡顿和服务器崩溃后的经验
最重要的是,如果要开离线服务器,请务必使用登录认证插件,无论是否开启白名单。
本教程不安装面板,使用mcrcon
控制。
购买云服务器
配置参考:
配置需求 | 玩家 | CPU | 内存 | 硬盘 | 上传带宽 | 下载带宽 | 备注 |
---|---|---|---|---|---|---|---|
最低配置 | 1-3 | Intel Pentium 4 2.0 GHz 或 AMD Athlon-Based CPUs 以上 | 512 MB | 2 GB 可用空间 (5GB - 如果经常备份服务器) | 3 Mbit/s | 2 Mbit/s | (Minecraft服务器能勉强在1Mbit/s的上传带宽上运行) |
可接受配置 | 3-5 | Intel Pentium 4 2.8 GHz 或 AMD Athlon XP 2600+ 以上 | 1 GB | 8 GB 可用空间 | 6 Mbit/s | 3 Mbit/s | |
推荐配置 | 5-8 | Intel Core-Based CPUs 或 AMD K8-Based CPUs 以上 | 3 GB | 16 GB 可用空间 | 8 Mbit/s | 4 Mbit/s | |
优良配置 | 8-12 | Intel Core-Based CPUs 或 AMD K8-Based CPUs at 3.0GHz 或更高 | 5 GB | 25 GB 可用空间 | 14 Mbit/s | 7 Mbit/s | |
最佳配置 | 12+ | Intel Nehalem-Based CPUs 或 AMD K10-Based CPUs 以上 | 6 GB | 35 GB 可用空间 | 30 Mbit/s | 15 Mbit/s | 推荐使用高速读写的机械磁盘或SLC SSD。 |
环境配置
JDK:OpenJDK Runtime Environment Zulu21.40+17-CA (build 21.0.6+7-LTS)
Minecraft:Purpur 1.20.1
开始安装
重装系统
云服务器自带的系统通常不纯净,会安装监控软件等。不仅占用资源,而且没人喜欢被监控,对吧?
这里使用bin456789的dd脚本,重置为 Ubuntu 系统。当然,如果你熟悉其他系统,可以不选择 Ubuntu 系统。
这是一个示例脚本,root
密码会在每次刷新时随机生成,此时密码为:加载中…
1 | curl -O https://gitlab.com/bin456789/reinstall/-/raw/main/reinstall.sh || wget -O reinstall.sh $_ |
可以通过多种方式(SSH、HTTP 80 端口、后台 VNC、串行控制台)查看安装进度。即使安装过程出错,也能通过 SSH 运行 /trans.sh alpine 安装到 Alpine。
等待安装完成。
安装JDK
1 | sudo apt update |
检查 Java 版本以确保 Zulu Java 已正确安装。输出应显示已安装的 Zulu Java 版本,确认安装。
1 | java -version |
创建 Minecraft 用户
出于安全原因, Minecraft 不应在 root 用户下运行。我们将创建一个新的系统用户和用户组,用户主目录为/opt/minecraft
。这个用户将拥有最小权限来运行 Minecraft 服务器:
1 | sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft |
我们不会为这个用户设置密码。这样,这个用户将无法通过 SSH 登录。要修改 minecraft 用户,你需要使用 root 登录服务器,或者其他有 sudo 权限的用户。
安装 Minecraft
切换到minecraft
用户:
1 | sudo su - minecraft |
运行以下命令在用户主目录下创建三个新目录:
1 | mkdir -p ~/{backups,tools,server} |
backups
目录将存储服务器备份。你可以将此目录同步到你的远程备份服务器。tools
目录将托管mcrcon
客户端和备份脚本。server
目录将包含实际的 Minecraft 服务器及其数据。
下载 mcrcon
以下是通过源码编译的方法,也可以从 Release 中下载。
安装编译mcrcon
软件
1 | sudo apt install git build-essential |
下载mcrcon
源码
1 | git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon --depth=1 |
编译mcrcon
1 | cd ~/tools/mcrcon |
检测是否可运行
1 | ./mcrcon -v |
输出应如下所示:
1 | mcrcon 0.7.2 (built: Jan 18 2025 14:05:51) - https://github.com/Tiiffi/mcrcon |
下载 Minecraft 服务器
1 | wget https://api.purpurmc.org/v2/purpur/1.20.1/2062/download -P ~/server |
或在本地电脑上下载完成后,通过 scp 或 sftp 传输到远程服务器,记得更改文件名和权限。
下载地址:https://purpurmc.org/download/purpur
更改权限:
1 | chown minecraft /opt/minecraft/server -R |
配置 Minecraft 服务器
1 | cd ~/server |
第一次启动时,服务器会执行一些操作,创建server.properties
和eula.txt
文件,并停止。
要运行服务器,你需要同意Minecraft EULA。
1 | echo "eula=true" > eula.txt |
接下来,打开server.properties
文件,修改配置文件:
1 | nano ~/server/server.properties |
修改以下配置,不要忘记将strong-password
修改为更安全的密码,例如:加载中…
如果你不想从远程位置访问 Minecraft 服务器,确保 rcon 端口被防火墙阻塞。
1 | rcon.port=25575 |
其他配置请参照服务端配置文件格式 - 中文 Minecraft Wiki,如
修改难度为困难:
1 | difficulty=hard |
启用白名单:
1 | enforce-whitelist=true |
关闭正版验证:
1 | online-mode=false |
安装插件
将插件jar文件复制到服务器文件的plugins
文件夹下。
如果关闭了正版验证,AuthMe 必装,FastLogin 和 SkinsRestorer 选装,血的教训
下载地址:
通过 scp 或 sftp 传输到服务器后,不要忘记更改权限:
1 | chown minecraft /opt/minecraft/server -R |
访问 Minecraft 终端
1 | /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t |
定期备份
1 | nano /opt/minecraft/tools/backup.sh |
粘贴以下配置:
1 | ##!/bin/bash |
保存文件,并将脚本设置为可执行:
1 | chmod +x /opt/minecraft/tools/backup.sh |
接下来,创建一个定时任务,每天在固定时间运行一次。
打开你的 crontab 文件,输入:
1 | crontab -e |
每天 4:00 运行备份脚本,粘贴以下文本:
1 | 0 4 * * * /opt/minecraft/tools/backup.sh |
创建 Systemd 单元文件
1 | sudo nano /etc/systemd/system/minecraft.service |
粘贴以下配置:
1 | [Unit] |
根据你的服务器资源调整Xmx和Xms标志。Xmx标志定义 Java 虚拟机的最大内存,而Xms定义初始内存。确保使用正确的rcon端口和密码。
重新加载 systemd 管理配置:
1 | sudo systemctl daemon-reload |
你还可以输入以下命令启动 Minecraft 服务器:
1 | sudo systemctl start minecraft |
使用以下命令检查服务状态:
1 | sudo systemctl status minecraft |
最后,设置 Minecraft 服务开机启动:
1 | sudo systemctl enable minecraft |