ubuntu 20.04 Minecraft服务器设置
Tianye
・6 分钟阅读
Ubuntu 20.04 Focal Fossa是托管Minecraft服务器的首选,因为Linux以运行服务器时的稳定性着称,而Ubuntu以其易用性着称。遵循下面的步骤,引导你完成启动和运行Minecraft服务器的步骤。
在本教程中,你将学习:软件需求和Linux命令行约定已安装Ubuntu 20.04或升级了Ubuntu 20.04 Focal Fossa | |
Minecraft,再加上Java和各种先决条件 | |
以Linux系统作为root或通过sudo 命令的权限访问,
| |
#linux命令以root特权直接作为root用户执行,或使用sudo命令执行 $-linux命令以普通非特权用户身份执行 |
安装先决条件
为了运行Minecraft服务器,我们需要一些包,所以首先安装它们,打开一个终端并输入以下两个命令:
$ sudo apt update $ sudo apt install wget screen default-jdk nmap
wget
将用于下载Minecraft服务器fiesscreen
用于后台运行Minecraft服务器default-jdk
是一个Java包,Minecraft需要它才能运行- nmap稍后将用于基本故障排除
创建Minecraft用户
最佳实践是让Minecraft服务器在其自己的专用帐户下运行,而不是使用root或其他帐户,在Ubuntu中使用以下命令创建一个新帐户:
$ sudo useradd -m -r -d /opt/minecraft minecraft
安装Minecraft服务器
- 可以在单个主机上运行Minecraft服务器的多个实例。在本文的后面向展示如何做到这一点,以防你希望运行多个服务器,我们运行的每个服务器实例都需要在
/opt/minecraft
目录下有自己的目录,对于第一个服务器实例,让它命名为survival
,并创建以下目录:
$ sudo mkdir /opt/minecraft/survival
- 现在,我们需要用Minecraft下载
wget
的Java文件,由于Minecraft经常更新,因此你需要通过转到官方Minecraft下载页面,并把链接复制到.jar来确保下载最新版本,从Minecraft下载页面复制链接位置 - 使用以下命令下载文件,将本示例中的链接替换为当前可用的链接:
$ sudo wget -O /opt/minecraft/survival/minecraft_server.jar https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar使用wget下载服务器java文件
- 在能够安装Minecraft服务器之前,你需要接受这些条款和条件,使用此命令:
$ sudo bash -c "echo eula=true > /opt/minecraft/survival/eula.txt"
- 最后,我们需要给
minecraft
用户帐户在Minecraft服务器目录中的所有权:
$ sudo chown -R minecraft /opt/minecraft/survival/
创建Minecraft SystemD启动脚本
将Minecraft启动脚本添加到SystemD,可以在重新启动系统时启动Minecraft服务器,
- 首先使用nano或首选的文本编辑器创建以下文件:
$ sudo vi /etc/systemd/system/minecraft@.service
- 将以下内容粘贴到新文件中:
[Unit]
Description=Minecraft Server: %i
After=network.target
[Service]
WorkingDirectory=/opt/minecraft/%i
User=minecraft
Group=minecraft
Restart=always
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."5'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"5'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"5'
[Install]
WantedBy=multi-user.target
- 注意,第13行指示Minecraft,它可以使用多少系统内存,上面的文件将分配2GB内存,如果你想分配更多的空间(例如4GB ),就需要进行以下更改:
从:
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx2G -jar minecraft_server.jar nogui到:
ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xmx4G -jar minecraft_server.jar nogui
启动Minecraft服务器
启动Minecraft服务器非常简单,使用以下systemctl
命令将它打开:
$ sudo systemctl start minecraft@survival
可以通过以下命令确认服务器的当前状态以确保服务器已启动,并运行,它应该返回如下所示的输出。
$ sudo systemctl status minecraft@survival
如果希望Minecraft服务器在每次重新启动系统时自动启动,请键入以下命令:
$ sudo systemctl enable minecraft@survival
要确保Minecraft服务器正在侦听传入连接,请使用nmap
命令检查默认的Minecraft端口,即25565
$ nmap -p 25565 localhost