20260727102309916.jpg
在网上看到一篇“用树莓派搭建Minecraft服务器”,又想起年轻时曾经搞传奇服务器的时光。时过境迁,现在全世界流行Minecraft,何不尝试一下,突然就来了兴趣。有一台树莓派2B很久了,如果当服务器用SD卡或U盘存储运行,长期开机那肯定是十分的不稳定,于是选用了平时研究调试的一台Debian服务器。折腾开始,步骤如下:

一、安装Java环境

# 安装Java 17(轻量级)
sudo apt update
sudo apt install openjdk-17-jdk-headless -y

# Java 21
wget https://download.bell-sw.com/java/21.0.7+9/bellsoft-jdk21.0.7+9-linux-amd64-lite.deb
sudo dpkg -i bellsoft-jdk21.0.7+9-linux-amd64-lite.deb
sudo apt --fix-broken install
sudo update-alternatives --config java

# 验证安装
java -version  # 应显示 "OpenJDK 64-Bit Server VM"

安装的是第三方Liberica JDK,一款免费、受支持且100%开源的OpenJDK发行版,如果是Windows环境,也可以下载安装,直接安装完成就配置完,不用手动设置环境变量。支持JDK 8 LTS、JDK 11 LTS、JDK 17 LTS、JDK 21 LTS、JDK 25 LTS、JDK 26等版本。

如果下载出现ERROR: cannot verify URL’s certificate, issued …….’: Unable to locally verify the issuer’s authority.,提示网站为不受信任的证书无法下载,可使用以下命令处理。

#更新安装根证书
sudo apt-get install ca-certificates

二、安装PaperMC服务器

创建专用用户(提升安全性)

sudo useradd -m -s /bin/bash minecraft
sudo passwd minecraft

下载Paper服务端
https://papermc.io/downloads/paper

sudo su - minecraft
mkdir ~/server && cd ~/server
wget https://fill-data.papermc.io/v1/objects/bfca155b4a6b45644bfc1766f4e02a83c736e45fcc060e8788c71d6e7b3d56f6/paper-1.21.6-46.jar

首次启动生成配置

java -Xms1G -Xmx2G -jar paper.jar --nogui
# 首次启动后会停止,生成eula.txt,需要编辑用户许可为同意。
echo "eula=true" > eula.txt

安装服务器版本为1.21.6,可以按照需求更换,同时客户端也需要对应的版本。

三、内存优化配置

编辑 ~/server/start.sh:

nano ~/server/start.sh

#!/bin/bash
# 使用Aikar's Flags(如果为树莓派,针对低内存设备优化)
JAVA_ARGS="-Xms256M -Xmx768M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1"
java $JAVA_ARGS -jar paper-1.21.6-46.jar --nogui

关键参数说明:

  • -Xmx768M:最大内存768MB(为系统保留256MB)
  • G1GC:低延迟垃圾回收器
  • MaxGCPauseMillis=200:控制GC停顿时间
  • AlwaysPreTouch:启动时分配内存,减少运行时延迟

由于服务器不那么低配,直接用了以下配置:

#!/bin/bash
java -Xms1G -Xmx2G -jar paper-1.21.6-46.jar --nogui

加上权限(root下)

sudo chmod 755 start.sh

四、创建Systemd服务(持久化+自动重启)

创建服务文件

sudo nano /etc/systemd/system/minecraft.service

[Unit]
Description=Minecraft Paper Server
After=network.target

[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/bin/bash start.sh
Restart=always
RestartSec=5
# 内存保护(防止树莓派崩溃MemoryMax=800M,如果运行命令中Xmx没有限制,程序进程会不断被kill)
MemoryMax=2G
MemorySwapMax=0

[Install]
WantedBy=multi-user.target

启用服务

sudo systemctl daemon-reload
sudo systemctl start minecraft
sudo systemctl enable minecraft

管理命令

# 查看服务器状态
sudo systemctl status minecraft

# 重启服务器
sudo systemctl restart minecraft

# 查看实时日志
journalctl -u minecraft -f

五、有关配置文件

  1. 如果用户许可未修改成功,可打开/home/minecraft/server/下的eula.txt,使用命令修改:

    sudo nano /home/minecraft/server/eula.txt

修改为eula=true后,按Ctrl+O保存,按Ctrl+X退出。

  1. 如果仅限局域网离线多人游玩,不需要认证登录,可打开server.properties文件进行以下调整:

    sudo nano /home/minecraft/server/server.properties

将online-mode=true改为false(正版认证)。enforce-secure-profile=true改为false(如果设置为true,没有Mojang签名公钥的玩家将无法连接到服务器)。

  1. 可使用pvp=false参数关闭PVP,生成动物spawn-animals=true,生成怪物spawn-monsters=true,生成村民spawn-npcs=true,服务器默认游戏模式可修改gamemode=survival(生存 - survival 或 0、创造 - creative 或 1、冒险 - adventure 或 2、旁观 - spectator 或 3),默认端口server-port=25565根据需求可修改。server.properties配置文件详解:https://www.minebbs.com/threads/java-server-properties.27473/?u_atoken=6a66bbca-4e1f-23db-3c9f-a95e66a3060e&u_asig=6f7b2a2817851176425193139e
  2. 如果出现卡位,修改spigot.yml文件下的两个数据为1和50,或者更大。

    sudo nano /home/minecraft/server/spigot.yml

    moved-wrongly-threshold: 1.0 (移动错误阀值)
    moved-too-quickly-multiplier: 50.0(移动过快倍数)

  3. 设置管理员:ops=johndoe,op-permission-level=4,“johndoe”是您的玩家名称,“4”表示管理员权限。您可以使用1到4之间的数字,其中1是最低权限,4是最高权限。或者在命令行输入:/op <您的玩家名称> ,设置管理员。 加入了ops这个配置没有生效,Linux的服务模式下没有发现命令行输入位置。所以暂没有加上管理员,玩玩不作弊最好。

以下是正确的管理员添加方式:
如果已经启用了服务模式,可先停用服务,使用命令行进入控制台,再启用服务。

sudo systemctl stop minecraft  #停用服务
sudo su - minecraft            #切换为安装用户
cd server                      #进入用户个人的server目录
java -Xms1G -Xmx2G -jar paper-26.2-87.jar --nogui  #启用程序运行进入控制台
/op mymc                       #在控制台>尖括号状态下添加mymc玩家名为管理员

出现Made mycf a server operator表示添加管理员成功。按Ctrl+X结束运行状态,然后运行以下命令,以服务模式启动进程。

su -     #切换管理员模式
sudo systemctl start minecraft
journalctl -u minecraft -f

管理员常用命令:

/ban: 禁止一个玩家在服务器上进入。
/kick: 将一个玩家从服务器踢出。
/whitelist: 添加或删除白名单中的玩家。
/give: 给予自己或其他玩家物品。
/tp: 传送自己或其他玩家到指定位置。
/gamerule 世界规则调整

管理员设置成功后,服务器重启依然有效,除了通过命令行进行设置规则外,还可以在客户端中设置世界规则。方法为:进入游戏,按ESC返回,在选项中点击“世界选项”,点击“编辑游戏规则”,各种控制选项就呈现眼前,可用中文搜索选项。

ScreenShot_2026-08-01_111357_993.png

  1. 死亡不掉落。在 server.properties 文件中添加或修改一行配置:keep-inventory=true,重启服务器后全局生效。游戏中管理员命令 /gamerule keepInventory true(I 大写)。 配置文件加上好像没什么作用,不清楚是不是用法有问题。后来使用了插件KeepInventory-1.0.4.jar放置在/home/minecraft/server/plugins/目录内解决问题,当然管理员设置选项或命令行设置也是没有问题。

六、客户端安装和设置

开源版本的客户端运行环境也需要JAVA支持,在https://bell-sw.com/pages/downloads/下载JDK21 LTS。

根据服务器版本下载对应客户端,我使用的是Hello Minecraft! Launcher(简称HMCL)启动器,可以多版本供选择下载。按照此服务器运行的版本,必须选择1.21.6版本的客户端,否则会登录不进服务器。

选择离线账号,输入自定义名字,确认后使用离线账号启动游戏,选择多人游戏,添加或直接连接服务器,输入服务器IP(我的是192.168.1.99,如果修改了端口要加端口号),连接游戏服务器成功。

介绍一下HMCL:

HMCL 是一款开源、跨平台的 Minecraft 启动器,支持模组管理、游戏自定义、游戏自动安装(Forge、NeoForge、Cleanroom、Fabric、Legacy Fabric、Quilt、LiteLoader 和 OptiFine)、整合包创建、界面自定义等功能。

HMCL 有着强大的跨平台能力。它不仅支持 Windows、Linux、macOS、FreeBSD 等常见的操作系统,同时也支持x86、ARM、RISC-V、MIPS、LoongArch 等不同的 CPU 架构。你可以使用 HMCL 在不同平台上轻松地游玩 Minecraft。

服务端和客户端JAVA历史版本网站:https://minecraftversions.org/cn/,客户端可使用HMCL/PCL2启动器导入该jar文件启动。

七、升级服务端

由于版本过低和MOD匹配问题,为了尝试更新的内容,决定进行版本升级。当前最新服务器版本为paper-26.2-87,直接在https://papermc.io/downloads/paper下载了jar文件,使用mobaxterm拖入/home/minecraft/server/文件夹,修改start.sh文件。将java -Xms1G -Xmx2G -jar paper-1.21.6-46.jar --nogui修改为:

java -Xms1G -Xmx2G -jar paper-26.2-87.jar --nogui

命令行在https://bell-sw.com/pages/downloads/?version=java-25&vtabs=true下载Liberica JDK 25.0.4版本。

su -
wget https://download.bell-sw.com/java/25.0.4+9/bellsoft-jdk25.0.4+9-linux-amd64-lite.deb
sudo dpkg -i /home/minecraft/bellsoft-jdk25.0.4+9-linux-amd64-lite.deb
sudo apt --fix-broken install
sudo update-alternatives --config java

# 验证安装
java -version  # 应显示 "openjdk version "25.0.4" 2026-07-21 LTS和OpenJDK 64-Bit Server VM"

手动运行一下服务端,更新mojang_26.2.jar,记得移除不兼容的Server/plugins文件夹内不兼容版本的插件,否则会导致启动出错失败。

java -Xms1G -Xmx2G -jar paper-26.2-87.jar --nogui

会自动升级一些配置文件。然后重启服务器。

# 重启服务器
sudo systemctl restart minecraft

# 查看实时日志
journalctl -u minecraft -f

最后,在HMCL或PCL2启动器下载26.2版本客户端,连接服务器登录即可。

标签: Minecraft, 我的世界

添加新评论