用树莓派搭建Minecraft服务器

为什么要折腾这个?

为什么要自己搭Minecraft服务器呢?因为在自己的服务器上玩Minecraft,你可以让服务器一直运行,当你不玩的时候,你的朋友和家人还可以加入到游戏中,继续建造你的世界。你可以尝试修改游戏参数,制作mod,而且还能让你体验一把上帝的感觉,这在公共服务器里可是做不到的,而且也不用花很多钱去租远程主机来做服务器。

对于Minecraft狂热粉丝而言,搭建Minecraft服务器已经很有吸引力了。但是在树莓派上搭则会更有吸引力。小小的树莓派耗电非常少,你可以不间断地开着服务器,一年的电费也不过几块钱而已。只要一个树莓派,一张SD卡,花上一点时间设置一下,就能有一台全天候的Minecraft服务器。

一、前期准备

  1. 系统要求
    • 树莓派3B(1GB内存)
    • 推荐系统:Raspberry Pi OS Lite(64位)
    • 至少16GB存储(建议使用SSD/USB3.0硬盘,避免SD卡损坏)
    • 稳定电源和散热风扇

二、安装Java环境

1
2
3
4
5
6
7
8
9
10
11
12
# 安装适合ARM的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-aarch64-lite.deb
sudo dpkg -i bellsoft-jdk21.0.7+9-linux-aarch64-lite.deb
apt --fix-broken install
sudo update-alternatives --config java

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

三、安装PaperMC服务器

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

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

下载Paper服务端

https://papermc.io/downloads/paper

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

首次启动生成配置

1
2
3
java -Xms256M -Xmx768M -jar paper.jar --nogui
# 首次启动后会停止,编辑 eula.txt
echo "eula=true" > eula.txt

四、内存优化配置

编辑 ~/server/start.sh

1
2
3
4
5
6
7
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.jar --nogui

关键参数说明

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

加上权限(root下)

1
sudo chmod 755 start.sh

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

  1. 创建服务文件
1
sudo nano /etc/systemd/system/minecraft.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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
MemorySwapMax=0

[Install]
WantedBy=multi-user.target

启用服务

1
2
3
sudo systemctl daemon-reload
sudo systemctl start minecraft
sudo systemctl enable minecraft

管理命令

1
2
3
4
5
6
7
8
# 查看服务器状态
sudo systemctl status minecraft

# 重启服务器
sudo systemctl restart minecraft

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

玩家连接

  1. 获取树莓派IP:hostname -I
  2. 客户端连接地址:树莓派IP:25565

通过这样配置,即使在1GB内存下也能稳定运行轻量级生存服务器。建议每两周重启一次服务释放内存碎片。

这种只适合折腾,正式开服还是用游戏服吧~


用树莓派搭建Minecraft服务器
https://blog.quickso.cn/2025/06/28/用树莓派搭建Minecraft服务器/
作者
木子欢儿
发布于
2025年6月28日
许可协议