Raspberry Pi可用于许多不同的项目。 Raspberry Pi最受欢迎的用例之一是将Raspberry Pi变成游戏服务器。
在本教程中,我们将引导您完成在Raspberry Pi 3或4上安装和配置Minecraft Server的过程。
《我的世界》是有史以来最受欢迎的游戏之一。 这是一款沙盒视频游戏,它允许玩家探索无限的世界,并建造从简单的房屋到大型摩天大楼的所有事物。
前提条件
我们假设您在Raspberry Pi上安装了Raspbian。 Plex Media Server不需要图形界面,因此我们的建议是使用Raspbian Stretch Lite映像并启用SSH
。 这样,您的Raspberry Pi将具有更多可用的处理能力和内存来运行Plex媒体服务器。
我们将使用mcrcon
实用程序连接到Minecraft服务器。 安装构建mcrcon
工具所需的软件包:
sudo apt update
sudo apt install git build-essential
使用raspi-config
工具启用GL驱动程序:
raspi-config
- 使用向上或向下键导航到
Advanced Options
,然后按Enter
。 - 选择
GL Driver
,然后按Enter
回车。 - 选择
GL(Fake KMS)
,然后按Enter
。 - 选择
Finish
按钮,然后按Enter。 当提示Would you like to reboot now?
时,选择Yes
,然后按Enter。
树莓派重新联机后,请继续以下步骤。
安装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服务器并执行命令。 mcron
是用C内置的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服务器
有多个Minecraft服务器模块,例如Craftbukkit或Spigot,可让您在服务器上添加功能(插件)并进一步自定义和调整设置。 我们将安装最新的Mojang官方Minecraft官方服务器。
转到Minecraft下载页面,以获取最新的Minecraft服务器的Java存档文件(JAR)的下载链接。
在撰写本文时,最新版本为1.14.4。 在运行下一个命令之前,应检查下载页面是否有新版本。
运行以下wget
命令以在~/server
目录中下载Minecraft jar(1.15.2)文件:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar -P ~/server
要获取最新的服务端,你可以到 https://www.minecraft.net/zh-hans/download/server/ 下载。
配置Minecraft服务器
下载完成后,导航至~/server
目录并启动Minecraft服务器:
cd ~/server
java -Xms512M -Xmx768M -jar server.jar nogui
首次启动时,服务器将执行一些操作并创建server.properties
和eula.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=false
更改为eula=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
不要忘记将强密码更改为更安全的密码。 如果您不想从远程位置连接到Minecraft服务器,请确保您的防火墙阻止了rcon
端口。
在这里,您还可以调整服务器的默认属性。 有关可用设置的更多信息,请检查server.properties
页面。
创建系统服务文件
要将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版本和资源修改Xmx
和Xms
标志。 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
别名。
创建配置备份
在本节中,我们将创建一个备份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_%R).tar.gz /opt/minecraft/server
rcon "save-on"
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
通过发出以下chmod命令,保存文件并使脚本可执行:
chmod +x /opt/minecraft/tools/backup.sh
接下来,创建一个cron作业,该作业将每天固定时间自动运行一次。
通过键入以下内容打开crontab文件:
crontab -e
要每天在23:00运行备份脚本,请粘贴以下行:
0 23 * * * /opt/minecraft/tools/backup.sh
文章结语
您已经在Raspberry Pi上成功安装了Minecraft服务器。 请注意,Minecraft在资源不足的系统上可能无法流畅运行。
如果您遇到问题或有反馈,请在下面发表评论。