开始设置前,询问用户:
如用户不在乎,使用合理默认值,但生成配置前始终询问。
mkdir -p ~/minecraft-server
cd ~/minecraft-server
wget -O serverpack.zip ""
unzip -o serverpack.zip -d server
ls server/
查找:startserver.sh、installer jar(neoforge/forge)、user_jvm_args.txt、mods/ 文件夹。
检查脚本确定:模组加载器类型、版本和所需 Java 版本。
sudo apt install openjdk-21-jre-headlesssudo apt install openjdk-17-jre-headlesssudo apt install openjdk-8-jre-headlessjava -version大多数服务器包包含安装脚本。使用 INSTALL_ONLY 环境变量仅安装不启动:
cd ~/minecraft-server/server
ATM10_INSTALL_ONLY=true bash startserver.sh
# 或通用 Forge 包:
# java -jar forge-*-installer.jar --installServer
这会下载库、打补丁服务器 jar 等。
echo "eula=true" > ~/minecraft-server/server/eula.txt
模组/LAN 的关键设置:
motd=u00a7bu00a7l服务器名称 u00a7ru00a78| u00a7a模组包名称
server-port=25565
online-mode=true # LAN 无 Mojang 认证时设为 false
enforce-secure-profile=true # 与 online-mode 匹配
difficulty=hard # 大多数模组包按困难难度平衡
allow-flight=true # 模组必需(飞行坐骑/物品)
spawn-protection=0 # 让所有人都能在出生点建造
max-tick-time=180000 # 模组需要更长的 tick 超时
enable-command-block=true
性能设置(根据硬件调整):
# 2 玩家,强力机器:
view-distance=16
simulation-distance=10
# 4-6 玩家,中等机器:
view-distance=10
simulation-distance=6
# 8+ 玩家或较弱硬件:
view-distance=8
simulation-distance=4
根据玩家数和模组数分配 RAM。模组服务器经验法则:
-Xms12G -Xmx24G -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
sudo ufw allow 25565/tcp comment "Minecraft Server"
检查:sudo ufw status | grep 25565
cat > ~/start-minecraft.sh << 'EOF'
#!/bin/bash
cd ~/minecraft-server/server
java @user_jvm_args.txt @libraries/net/neoforged/neoforge//unix_args.txt nogui
EOF
chmod +x ~/start-minecraft.sh
注意:Forge(非 NeoForge)的 args 文件路径不同。检查 startserver.sh 获取确切路径。
创建备份脚本:
cat > ~/minecraft-server/backup.sh
添加每小时 cron:
(crontab -l 2>/dev/null | grep -v "minecraft/backup.sh"; echo "0 * * * * $HOME/minecraft-server/backup.sh >> $HOME/minecraft-server/backups/backup.log 2>&1") | crontab -
allow-flight=true——有喷气背包/飞行的模组会踢出玩家max-tick-time=180000 或更高——模组服务器在世界生成时常有长 tickpgrep -fa neoforge 或 pgrep -fa minecraft 检查是否运行tail -f ~/minecraft-server/server/logs/latest.log
评论区