如何在 Raspberry Pi 上安装 Minecraft Server

Raspberry Pi 可用于许多不同的项目。 Raspberry Pi 最受欢迎的场景之一是将 Raspberry Pi 变成游戏服务器。

在本教程中,我们将引导您完成在 Raspberry Pi 3 或4上安装和配置 Minecraft Server 的过程。

《我的世界》是有史以来最受欢迎的游戏之一。这是一款沙盒视频游戏,它允许玩家探索无限的世界,并建造从简单房屋到大型摩天大楼的所有事物。

先决条件

我们假设您在 Raspberry Pi 上安装了 Raspbian 。 Plex Media Server 不需要图形界面,因此我们的建议是使用 Raspbian Stretch Lite 镜像并启用 S​​SH 。这样,您的 Raspberry Pi 将具有更多可用的处理能力和内存来运行 Plex 媒体服务器。

我们将使用 mcrcon 实用程序连接到 Minecraft 服务器。安装构建 mcrcon 工具所需的软件包:

sudo apt update
sudo apt install git build-essential

使用以下 raspi-config 工具启用 GL 驱动程序:

raspi-config
  1. 使用向上或向下键导航到“高级选项”,然后按 Enter
  2. 选择 “ GL Driver” 并点击 Enter
  3. 选择 “ GL(Fake KMS)” ,然后按 Enter
  4. 选择“完成”按钮,然后按 Enter 。当出现提示“您要立即重启吗?”时,选择“是”并点击 Enter

Pi 重新联机后,请继续以下步骤。

安装 Java 运行时环境

Minecraft 需要在系统上安装 Java 8 或更高版本。

我们将安装 JRE 的 headless 版本。该版本具有较少的依赖关系并使用较少的系统资源,因此更适合服务器应用程序。

要安装无头 OpenJRE 8 ,请输入:

sudo apt install openjdk-8-jre-headless

通过打印 Java 版本来验证安装:

java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)
OpenJDK Client VM (build 25.212-b01, mixed mode)

创建 Minecraft 用户

为了安全起见, Minecraft 不应在 root 用户下运行。我们将使用主目录 /opt/minecraft 创建一个新的系统用户和组,以运行 Minecraft 服务器:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

我们不会为此用户设置密码。这是一种很好的安全做法,因为用户将无法通过 SSH 登录。

在 Raspberry Pi 上安装 Minecraft

在开始安装过程之前,请确保切换到用户  “minecraft” :

sudo su - minecraft

在用户主目录中创建两个目录:

mkdir -p ~/{tools,server}
  • tools 目录将存储 mcrcon 客户端和备份脚本。
  • server 目录将包含实际的 Minecraft 服务器及其数据。

下载与编译  mcrcon

RCON 是一种协议,允许您连接到 Minecraft 服务器并执行命令。 mcrcon 是用内置的 RCON 客户端。

我们将从 GitHub 下载源代码并构建 mcrcon 二进制文件。

导航到 ~/tools 目录并从 GitHub  克隆存储库 Tiiffi/mcrcon ,运行以下命令:

cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git

接下来,切换到存储库目录:

cd ~/tools/mcrcon

输入以下内容开始编译:

gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

完成后,您可以通过键入以下内容进行测试:

./mcrcon -h

输出将如下所示:

Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
...

mcrcon 0.6.1 (built: Sep 19 2019 20:52:13)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/

下载我的世界服务器

有多个 Minecraft 服务器模块,例如 CraftbukkitSpigot ,可让您在服务器上添加功能(插件)并进一步自定义和调整设置。我们将安装最新的Minecraft 官方服务器。

转到 Minecraft 下载页面,以获取最新的 Minecraft 服务器的 Java 存档文件 (JAR) 的下载链接。

在撰写本文时,最新版本是 1.14.4 。在运行下一个命令之前,应检查下载页面是否有新版本。

运行以下 wget 命令以在 ~/server 目录中下载 Minecraft jar 文件:

wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar -P ~/server

配置 Minecraft 服务器

下载完成后,导航~/server 目录并启动 Minecraft 服务器:

cd ~/server
java -Xms512M -Xmx768M -jar server.jar nogui

首次启动时,服务器执行一些操作并创建 server.propertieseula.txt 文件,然后停止。

[21:06:23] [main/ERROR]: Failed to load properties from file: server.properties
[21:06:24] [main/WARN]: Failed to load eula.txt
[21:06:24] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

要运行服务器,您需要同意 Minecraft EULA 。打开 eula.txt 文件并更改 eula=falseeula=true

nano ~/server/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Thu Sep 19 21:06:24 BST 2019
eula=true

关闭并保存文件。

接下来,编辑 server.properties 文件以启用 rcon 协议并设置 rcon 密码。使用文本编辑器打开文件:

nano ~/server/server.properties

找到以下几行并更新其值,如下所示:

rcon.port=25575
rcon.password=strong-password
enable-rcon=true

不要忘记将更 strong-password 改为更安全的内容。如果您不想从远程位置连接到 Minecraft 服务器,请确保防火墙阻止了 rcon 端口。

在这里,您还可以调整服务器的默认属性。有关可用设置的更多信息,请检查 server.properties 页面。

创建 Systemd 文件

要将 Minecraft 作为服务运行,我们将创建一个新的 Systemd 文件。

输入 exit 切换回您的 sudo 用户。

打开文本编辑器,在 /etc/systemd/system/ 创建一个 minecraft.service 文件:

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 -Xmx768M -Xms512M -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

根据您的 Raspberry Pi 版本和资源修改 XmxXms 标志。该 Xmx 标志定义 Java 虚拟机 (JVM) 的最大内存分配池,同时 Xms 定义初始内存分配池。另外,请确保使用正确的 rcon 端口和密码。

保存并关闭文件,然后重新加载 systemd 配置:

sudo systemctl daemon-reload

通过发出以下命令来启动 Minecraft 服务器:

sudo systemctl start minecraft

使用以下命令检查服务状态:

sudo systemctl status minecraft
● minecraft.service - Minecraft Server
   Loaded: loaded (/etc/systemd/system/minecraft.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-09-19 21:11:58 BST; 1min 27s ago
 Main PID: 1992 (java)
    Tasks: 17 (limit: 1604)
   Memory: 338.9M
   CGroup: /system.slice/minecraft.service
           └─1992 /usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui

首次启动该服务时,它将生成多个配置文件和目录,包括 Minecraft 世界。使用以下 tail 命令监视服务器日志文件:

tail -f /opt/minecraft/server/logs/latest.log

Minecraft 服务器启动后,输出将如下所示:

[21:19:25] [Server-Worker-3/INFO]: Preparing spawn area: 98%
[21:19:25] [Server thread/INFO]: Time elapsed: 201586 ms
[21:19:25] [Server thread/INFO]: Done (418.339s)! For help, type "help"
[21:19:25] [Server thread/INFO]: Starting remote control listener
[21:19:25] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575

启用 Minecraft 服务以在启动时自动启动:

sudo systemctl enable minecraft

访问 Minecraft 控制台

要访问 Minecraft 控制台,请使用该 mcrcon 实用程序。您需要指定主机, rcon 端口, rcon 密码并使用 -t 启用 mcrcon 终端模式的开关:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
> 

从远程位置访问 Minecraft 控制台时,请确保未阻止 rcon 端口。

如果您定期连接到 Minecraft 控制台,则无需输入此长命令,而应创建 bash 别名

结论

您已经在 Raspberry Pi 上成功安装了 Minecraft 服务器。请注意, Minecraft 在资源不足的系统上可能无法流畅运行。