在 TrueNAS 上用 Docker 跑 Minecraft Forge 服务器,一条 compose 就够
2026/9/12 14:06:01 网站建设 项目流程

在 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-stopped

FORGE_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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询