尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

一杯咖啡的时间,在 TrueNAS 上把 Minecraft Forge 服务端跑进 Docker 容器

一杯咖啡的时间,在 TrueNAS 上把 Minecraft Forge 服务端跑进 Docker 容器 一杯咖啡的时间在 TrueNAS 上把 Minecraft Forge 服务端跑进 Docker 容器【免费下载链接】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 Scale 的 Docker 能力配合 itzg/minecraft-server 这个社区维护的镜像把 Minecraft Forge 服务端容器化部署数据落在自己的存储池里整个过程一小时内能收工。开始前先对这几项系统内存至少 4GB想跑多人或大型 Mod 包建议 8GB 以上TrueNAS Scale 中 Docker 服务已启用设置 应用/服务 Docker准备出至少 20GB 可用空间放世界数据的磁盘优先选 SSD计划拉取的镜像是itzg/minecraft-server国内网络建议先确认能拉到它是怎么跑起来的容器里发生的事并不神秘抓住这四条就够了TrueNAS 数据集挂载为容器卷映射到容器内/data世界、配置、日志全部持久化在存储池里一组环境变量服务端类型、游戏版本、内存决定容器启动时要下载并安装什么装完自动拉起服务端端口 25565 从容器映射到宿主玩家客户端连这里端口 25575 是 RCON 管理端口只有你显式开启 RCON 才需要暴露动手部署四步上线第一步建数据集和容器网络在 TrueNAS 的文件系统里新建数据集minecraft/forge-server用于存放 compose 文件和容器卷。数据集属主设成 Docker 服务实际使用的账号如果你打算用 root 直接跑容器这一步最容易翻车——属主不对后面的 Changing ownership 环节就会卡住。再进网络管理建一个 bridge 模式网络起个名字如mc-net。第二步把容器定义写成 compose在数据集里新建docker-compose.yml关键行如下其余可按需增删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: - mc-data:/data - ./mods:/mods:ro restart: unless-stopped volumes: mc-data: {}逐条说人话TYPE: FORGE——声明用 Forge 加载器镜像会在启动时自动下载对应安装器VERSION: 1.20.1——锁定 Minecraft 版本不写FORGE_VERSION时默认选该版本官方推荐的 ForgeFORGE_VERSION: 47.1.0——钉住具体 Forge 版本写latest则跟随最新MEMORY: 4G——JVM 堆的初始与上限一起设成 4Gmc-data:/data——命名卷持久化服务端数据./mods:/mods:ro——本地 mods 目录只读挂入启动时被拷贝进/data/modsEULA必须为TRUE否则服务直接拒绝启动第三步首次启动与验收启动容器并跟踪日志首次会自动下载 Forge 安装器并执行安装耗时取决于网速docker compose up -d docker compose logs -f翻日志盯一行字Done (tXX.XXXs)! For help, type help出现说明服务端就绪客户端填宿主机 IP 25565 就能试连。第四步装 Mod 和基础参数把 jar 丢进数据集下的./mods/目录即可——只读挂载保证容器改不了源文件改完重启容器重新加载。先别急着堆 Mod先把基础参数调顺编辑/data卷里的server.properties关注三项——max-players上限人数、difficulty难度、motd大厅里显示的服务器名。完整参数含义见 docs/configuration/server-properties.md。调优与验收Minecraft 服务器内存分配有个简单口径堆按玩家数和 Mod 量给JVM 垃圾回收器随规模换玩家规模建议堆内存MEMORYJVM 参数JVM_OPTS1~5 人4~6G-XX:UseG1GC6~10 人8~12G-XX:UseParallelGC参数细节可查 docs/configuration/jvm-options.md。验收清单三条全过才算上线客户端能进游戏大厅显示的 motd 与你的设置一致踢掉一个玩家再进/data卷里world目录有新增文件——数据确实落盘在数据集docker compose down docker compose up -d后服务自动拉起进度照常——restart: unless-stopped在真干活日常运维三件事快照备份TrueNAS 计划任务里给minecraft/forge-server数据集建每周快照保留 4 周。容器随时可弃世界数据有快照兜底。闲置自动停止compose 加ENABLE_AUTOSTOP: true、AUTOSTOP_TIMEOUT_EST: 300最后一名玩家离线 5 分钟后停机注意restart要改成no停掉后需手动重启。详见 docs/misc/autopause-autostop/autostop.md。RCON 远程管理加ENABLE_RCON: true和RCON_PASSWORD容器暴露 25575 后用 rcon-cli 从宿主机连进去下指令不用进游戏。踩坑速查QForge 安装报错容器起不来临时加FORGE_FORCE_REINSTALL: true重启强制重装一次修好后删掉该变量。换下载源可用FORGE_INSTALLER_URL说明见 docs/types-and-platforms/server-types/forge.md。Q启动卡在 Changing ownership of /data把SKIP_CHOWN_DATA: true加上跳过这一步的属主改写适合容器直接以 root 运行的场景。Q内存溢出、GC 卡顿先加堆MAX_MEMORY再把server.properties里view-distance降到 8Mod 太重时优先卸载而不是硬堆内存。这套部署把版本管理交给环境变量把数据交还给 TrueNAS 存储池日常只剩改变量、重启容器一个动作。想再往前走可以看看 examples/ftba/ 里的 Web 管理面板玩法或者用 examples/proxied/ 的多实例加反向代理方案做负载均衡。延伸阅读docs/variables.md、docs/misc/troubleshooting.md。【免费下载链接】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),仅供参考
返回列表