本文说明了如何在Ubuntu 20.04上制作Minecraft服务器。四川联想代理商我们将使用Systemd运行Minecraft服务器,并使用该mcrcon实用程序连接到正在运行的实例。还将向您展示如何创建执行常规服务器备份的cronjob。
一、先决条件
根据Minecraft官方网站的建议,4GB内存是典型设置的最低配置。
安装构建mcrcon工具所需的软件包:
sudo apt update
sudo apt install git build-essential
二、安装Java运行时环境
Minecraft需要Java 8或更高版本。Minecraft服务器不需要图形用户界面,因此我们将安装Java的无头版本。该版本具有更少的依赖性并且使用更少的系统资源,因此更适合服务器应用程序。
运行以下命令以安装无头OpenJRE 11软件包:
sudo apt install openjdk-11-jre-headless
通过打印Java版本来验证安装:
java -version
三、创建Minecraft用户
出于安全原因,Minecraft不应在root用户下运行。我们将使用主目录创建一个新的系统用户和组/opt/minecraft。用户将具有运行Minecraft服务器的最低必需权限:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
我们不会为此用户设置密码。这样,用户将无法通过SSHand登录而不会受到损害。要更改为minecraft用户,您需要以root用户或具有sudo特权的用户身份登录服务器。
四、在Ubuntu上安装Minecraft
在开始安装过程之前,请切换至minecraft用户:
sudo su - minecraft
运行以下命令在用户主目录中创建三个新目录:
mkdir -p ~/{backups,tools,server}
backups目录将存储您的Minecraft服务器备份。您可以将此目录同步到远程备份服务器。
tools目录将包含mcrcon客户端和备份脚本。
server目录将包含实际的Minecraft服务器及其数据。
五、下载与编译mcrcon
RCON是一种协议,允许您连接到Minecraft服务器并执行命令。mcron是用C编写的RCON客户端。
我们将从GitHub下载源代码并构建mcrcon二进制文件。
将Tiiffi/mcrcon存储库从GitHub复制到~/tools/mcron目录::
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
完成后,切换到mcron目录并构建实用程序:
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
完成后,mcrcon通过打印其版本来验证是否已成功编译:
./mcrcon -v
输出将如下所示:
六、下载我的世界服务器端
有多个Minecraft服务器模块,例如
Craftbukkit:https://getbukkit.org/download/craftbukkit 或 Spigot:https://www.spigotmc.org/,可让您在服务器上添加功能(插件),并进一步自定义和调整服务器设置。
在本指南中,我们将安装最新的Mojang的官方vanilla Minecraft服务器端,步骤说明同样适用于安装其他服务器mod。
转到Minecraft下载页面以获取最新的Minecraft服务器的Java存档文件(JAR)的下载链接:https://minecraft.com/en-us/download/server/
在撰写本文时,最新版本是1.16。
使用以下命令将jar文件下载到~/server目录中wget:
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
七、配置Minecraft服务器
下载完成后,切换到~/server目录并启动Minecraft服务器:
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
首次启动时,服务器执行一些操作,创建server.properties和eula.txt文件,然后停止。
要运行服务器,您需要同意Minecraft EULA,如上面的输出所示。打开eula.txt文件并更改eula=false为eula=true:
nano ~/server/eula.txt
关闭并保存文件。
接下来,打开server.properties文件并启用rcon协议并设置rcon密码:
nano ~/server/server.properties
找到以下几行并更新其值,如下所示:
rcon.port=25575
rcon.password=strong-password
enable-rcon=true
不要忘记将更strong-password改为更安全的内容。如果您不想从远程位置连接到Minecraft服务器,请确保rcon端口被防火墙阻止。
在这里,您还可以调整服务器的默认属性。有关服务器设置的更多信息,请访问server.properties页面:https://minecraft.gamepedia.com/Server.properties
八、创建系统单位文件
我们将创建一个Systemd单元文件并将Minecraft作为服务运行,而不是手动启动Minecraft服务器。
输入切换回您的sudo用户exit。
打开文本编辑器,然后minecraft.service在/etc/systemd/system/目录中创建一个名为的文件:
sudo nano /etc/systemd/system/minecraft.service
粘贴以下配置:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
[Install]
WantedBy=multi-user.target
根据您的服务器资源修改Xmx和Xms标志。该Xmx标志定义Java虚拟机(JVM)的最大内存分配池,同时Xms定义初始内存分配池。另外,请确保使用正确的rcon端口和密码。
保存文件并重新加载systemd管理器配置:
sudo systemctl daemon-reload
您现在可以通过键入以下内容来启动Minecraft服务器:
sudo systemctl start minecraft
首次启动该服务时,它将生成多个配置文件和目录,包括Minecraft world。
使用以下命令检查服务状态:
sudo systemctl status minecraft
最后,启用Minecraft服务在启动时自动启动。
sudo systemctl enable minecraft
九、调整防火墙
Ubuntu随附了一个名为UFW的防火墙配置工具。如果系统上启用了防火墙,并且您想从本地网络的外部访问Minecraft服务器,则需要打开port 25565:
sudo ufw allow 25565/tcp
十、配置备份
在本节中,我们将创建一个备份Shell脚本和cronjob来自动备份Minecraft服务器。
切换到minecraft:
sudo su - minecraft
打开您的文本编辑器并创建以下文件:
nano /opt/minecraft/tools/backup.sh
粘贴以下配置:
#!/bin/bash
function rcon {
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password $1
}
rcon save-off
rcon save-all
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon save-on
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name *.gz -delete
保存文件并使脚本可执行:
chmod +x /opt/minecraft/tools/backup.sh
接下来,创建一个cron作业,该作业将每天固定时间自动运行一次。
通过键入以下内容打开crontab文件:
crontab -e
要每天在23:00运行备份脚本,请粘贴以下行:
0 23 * * * /opt/minecraft/tools/backup.sh
十一、访问Minecraft控制台
要访问Minecraft控制台,请使用该mcrcon实用程序。您需要指定主机,rcon端口,rcon密码并使用-t启用mcrcon终端模式的开关:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
从远程位置访问Minecraft控制台时,请确保未阻止rcon端口。
如果您定期连接到Minecraft控制台,则无需创建此长命令,而是创建一个bash别名。
结论
我们已经向您展示了如何在Ubuntu 20.04上制作Minecraft服务器并设置每日备份。现在,您可以启动Minecraft客户端(https://www.minecraft.com/en-us/download/),连接到服务器并开始Minecraft冒险。
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼