ubuntu 20.04 Minecraft服务器设置

・6 分钟阅读

Ubuntu 20.04 Focal Fossa是托管Minecraft服务器的首选,因为Linux以运行服务器时的稳定性着称,而Ubuntu以其易用性着称。遵循下面的步骤,引导你完成启动和运行Minecraft服务器的步骤。

在本教程中,你将学习:
  • 如何安装和配置Minecraft服务器
  • 创建Minecraft SystemD启动脚本
  • 在同一主机上提供新的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服务器fies
  • screen用于后台运行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
  • 现在,你可以保存对文件的更改,并退出,SystemD Minecraft的脚本

启动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
Tianye profile image