在 TrueNAS 上用 Docker 跑 Minecraft Forge 服务器,一条 compose 就够
【免费下载链接】docker-minecraft-serverDocker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup项目地址: https://gitcode.com/GitHub_Trending/do/docker-minecraft-server
TrueNAS 上想跑个带 mod 的 Minecraft Forge 服务器,又不想自己折腾 Java、安装器和存档路径。把活交给itzg/minecraft-server镜像,设好环境变量,Forge 自己下载、自己升级。
为什么不用裸 Java 装 Forge
- 一行
TYPE: FORGE,安装器下载、解压、起服全自动,不用手拖 installer jar - 版本升级只改
VERSION,下次启动自动迁移,存档和 modloader 跟着走 - 容器只碰你挂进去的卷,宿主机上别的东西它不碰
动手前 30 秒检查
- TrueNAS Scale 已启用 Docker 服务
- 数据集(如
minecraft/forge-server)已建好,记下/mnt下的路径 - 内存 8GB 以上,数据集剩余 20GB(SSD 更稳)
- 宿主机 25565 端口(UDP)没被占
- 容器能访问外网,首启要下载 Forge 安装器
从一条 compose 到服务器跑起来
写一份让容器自己下载 Forge 的 compose
镜像的启动脚本会按环境变量决定行为:先下安装器,再解压起服。你只管传TYPE和版本号,不用关心 Java 装在哪。
services: mc: image: itzg/minecraft-server ports: - "25565:25565" environment: EULA: "TRUE" TYPE: FORGE VERSION: "1.20.1" FORGE_VERSION: "47.1.0" MEMORY: "4G" volumes: - /mnt/tank/minecraft/forge-server:/data - ./mods:/mods:ro restart: unless-stoppedFORGE_VERSION不写就用该 Minecraft 版本对应的推荐版;想钉死就写死,避免联机时意外升级。/data直接 bind 到 TrueNAS 数据集,快照和复制直接作用在存档上。
启动,盯着日志等 Done
首启要下载安装器、解压,日志会安静几分钟,正常。
cd /mnt/tank/minecraft/forge-server docker compose up -d docker compose logs -f成功标志:日志出现Done (t=XX.XXXs)! For help, type "help",此时服务器已可连。
mod 丢进一个文件夹就行
./mods:/mods:ro是只读挂载,启动脚本会把里面的 jar 拷进/data/mods。以后换 mod 包,改文件夹就行,不用进容器。想省事的话可以整个 CurseForge mod 包自动装,见进阶。
没人玩时自动关机
家庭服务器常开太费电,autostop 机制按"最后一个玩家离开后的等待时间"停服。
environment: ENABLE_AUTOSTOP: "TRUE" AUTOSTOP_TIMEOUT_EST: "600" # 最后玩家离开 10 分钟后停 AUTOSTOP_TIMEOUT_INIT: "300" restart: "no" # autostop 依赖手动拉起,别设 unless-stopped翻车现场速查
Forge 安装失败或卡在装一半→ 临时加FORGE_FORCE_REINSTALL: "true",起服成功后删掉
日志停在Changing ownership of /data→ 设SKIP_CHOWN_DATA: "true",troubleshooting 有说明
客户端连不上 25565→ 确认是 UDP 映射,查宿主机防火墙;本地局域网测试先关 TrueNAS 的 NAT 规则干扰
内存不足、服务器卡死→ 调小MEMORY,并在server.properties里加view-distance=8
值得顺手做的进阶
- 加
ENABLE_AUTOSTOP让服务器闲置自动停:autostop 示例 - 开
ENABLE_RCON+RCON_PASSWORD,从容器外发指令:发送命令文档 - 用 CurseForge 一键装整个 mod 包:AutoCF 文档
首启下载要几分钟,日志别动,去喝口水。
全部变量说明:variables.md Forge 专项文档:forge.md 仓库自带的 Forge 示例:docker-compose-forge.yml
【免费下载链接】docker-minecraft-serverDocker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup项目地址: https://gitcode.com/GitHub_Trending/do/docker-minecraft-server
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考