Minecraft 模组服务器
使用场景
- 用户想从服务器包 zip 搭建模组 Minecraft 服务器
- 用户需要帮助配置 NeoForge/Forge 服务器
- 用户询问 Minecraft 服务器性能调优或备份
先收集用户偏好
开始设置前,询问用户:
- 服务器名称 / MOTD——服务器列表中显示什么?
- 种子——特定种子还是随机?
- 难度——和平 / 简单 / 普通 / 困难?
- 游戏模式——生存 / 创造 / 冒险?
- 在线模式——true(Mojang 认证,正版账号)还是 false(LAN/破解友好)?
- 玩家数量——预计多少玩家?(影响 RAM 和视距调优)
- RAM 分配——让用户决定还是根据模组数和可用 RAM 自动选择?
- 视距 / 模拟距离——让用户选择还是根据玩家数和硬件自动选?
- PvP——开启还是关闭?
- 白名单——开放服务器还是仅白名单?
- 备份——要自动备份吗?多久一次?
如用户不在乎,使用合理默认值,但生成配置前始终询问。
步骤
1. 下载并检查包
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 版本。
2. 安装 Java
- Minecraft 1.21+ → Java 21:
sudo apt install openjdk-21-jre-headless - Minecraft 1.18-1.20 → Java 17:
sudo apt install openjdk-17-jre-headless - Minecraft 1.16 及以下 → Java 8:
sudo apt install openjdk-8-jre-headless - 验证:
java -version
3. 安装模组加载器
大多数服务器包包含安装脚本。使用 INSTALL_ONLY 环境变量仅安装不启动:
cd ~/minecraft-server/server
ATM10_INSTALL_ONLY=true bash startserver.sh
# 或通用 Forge 包:
# java -jar forge-*-installer.jar --installServer
这会下载库、打补丁服务器 jar 等。
4. 同意 EULA
echo "eula=true" > ~/minecraft-server/server/eula.txt
5. 配置 server.properties
模组/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
6. 调优 JVM 参数(user_jvm_args.txt)
根据玩家数和模组数分配 RAM。模组服务器经验法则:
- 100-200 个模组:6-12GB
- 200-350+ 个模组:12-24GB
- 至少留 8GB 给系统/其他任务
-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
7. 开放防火墙
sudo ufw allow 25565/tcp comment "Minecraft Server"
检查:sudo ufw status | grep 25565
8. 创建启动脚本
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 获取确切路径。
9. 设置自动备份
创建备份脚本:
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或更高——模组服务器在世界生成时常有长 tick- 首次启动很慢(大包可能几分钟)——不要惊慌
- 首次启动时"Can't keep up!"警告是正常的,初始区块生成后会稳定
- 如果 online-mode=false,也要设置 enforce-secure-profile=false,否则客户端会被拒绝
- 包的 startserver.sh 常有自动重启循环——创建不带它的干净启动脚本
- 删除 world/ 文件夹用新种子重新生成
- 某些包有环境变量控制行为(如 ATM10 使用 ATM10_JAVA、ATM10_RESTART、ATM10_INSTALL_ONLY)
验证
pgrep -fa neoforge或pgrep -fa minecraft检查是否运行- 检查日志:
tail -f ~/minecraft-server/server/logs/latest.log - 日志中出现"Done (Xs)!" = 服务器就绪
- 测试连接:玩家在多人游戏中添加服务器 IP
安装指南
复制下方命令,在终端运行即可安装:
# 安装到当前项目
npx skills add minecraft-modpack-server
# 全局安装 — 所有项目可用
npx skills add minecraft-modpack-server -g
使用指南
安装完成后,在对话框中直接使用此技能。