为什么要折腾这个?
为什么要自己搭Minecraft服务器呢?因为在自己的服务器上玩Minecraft,你可以让服务器一直运行,当你不玩的时候,你的朋友和家人还可以加入到游戏中,继续建造你的世界。你可以尝试修改游戏参数,制作mod,而且还能让你体验一把上帝的感觉,这在公共服务器里可是做不到的,而且也不用花很多钱去租远程主机来做服务器。
对于Minecraft狂热粉丝而言,搭建Minecraft服务器已经很有吸引力了。但是在树莓派上搭则会更有吸引力。小小的树莓派耗电非常少,你可以不间断地开着服务器,一年的电费也不过几块钱而已。只要一个树莓派,一张SD卡,花上一点时间设置一下,就能有一台全天候的Minecraft服务器。
一、前期准备
- 系统要求
- 树莓派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
| sudo apt update sudo apt install openjdk-17-jdk-headless -y
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
|
三、安装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
echo "eula=true" > eula.txt
|
四、内存优化配置
编辑 ~/server/start.sh
:
1 2 3 4 5 6 7
| nano ~/server/start.sh
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下)
五、创建Systemd服务(持久化+自动重启)
- 创建服务文件
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
|
玩家连接
- 获取树莓派IP:
hostname -I
- 客户端连接地址:
树莓派IP:25565
通过这样配置,即使在1GB内存下也能稳定运行轻量级生存服务器。建议每两周重启一次服务释放内存碎片。
这种只适合折腾,正式开服还是用游戏服吧~