
一份compose配置跑起Minecraft Forge服务器从空目录到可进服【免费下载链接】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-serverdocker-minecraft-server 镜像在容器启动时自动下载并装好指定版本的 Minecraft Forge 服务端免去手动装 Java、下服务包的麻烦。本文演示如何用一份 compose 配置把 Forge 1.20.1 服务器跑起来并确认玩家能正常连接。动手前先核对环境一台能装 Docker 的机器Linux 主机或 TrueNAS Scale 这类 NAS已安装 docker compose内存至少 4GB5 人以上联机建议 8GB预留 10GB 以上磁盘存放服务端文件与世界数据使用的镜像为itzg/minecraft-server官方入口见 docs/index.md先理解数据怎么流动动手前花 30 秒建立心智模型后面排错会容易很多服务端所有文件都在容器内/data目录绑定挂载到主机的./data目录容器删了世界数据还在每次启动时入口脚本按环境变量自动下载并安装/升级 Minecraft 与 Forge不需要手动维护安装器客户端连接的是主机 IP 的 25565 端口再由 Docker 转发给容器内的服务端下图展示了主机端口与容器端口的对应关系准备目录并编写 compose 配置在主机上任选位置建目录data和mods两个子目录由挂载自动创建mkdir minecraft-forge cd minecraft-forge把以下内容存为compose.yamlservices: mc: image: itzg/minecraft-server ports: - 25565:25565 environment: EULA: TRUE TYPE: FORGE VERSION: 1.20.1 MEMORY: 4G volumes: - ./data:/data - ./mods:/mods:ro restart: unless-stopped这段配置里最关键的设置是TYPE: FORGE和VERSION前者决定用 Forge 加载器而不是原版后者指定 Minecraft 版本Forge 版本默认取该 MC 版本推荐的稳定版想用特定版本可加FORGE_VERSION: 47.1.0。./mods:/mods:ro表示把 mods 目录以只读方式挂进容器启动时其中的 jar 会被拷贝进服务端日常放 mod 文件只操作主机目录即可。全部可配置变量汇总在 docs/variables.md仓库自带的 Forge 示例见 examples/docker-compose-forge.yml。如果习惯docker run写法这张图对照了两种形式每个参数的对应关系启动容器并验证成功标志docker compose up -d docker compose logs -f首次启动会比较久下载 Forge 安装器 → 安装 → 生成世界。成功的标志是日志出现这样一行Done (txx.xxxs)! For help, type help随后打开游戏客户端添加服务器填入主机 IP 与 25565 端口列表里能看到服务器名称即部署完成。之后升级版本只需改VERSION再docker compose up -d容器会自行完成服务端升级。两个高频进阶能力远程发命令RCON镜像默认启用 RCON。需要不打开控制台就执行stop、踢人、改 MOTD 时设置RCON_PASSWORD后用容器内的rcon-cli操作方式见 docs/sending-commands/commands.md。无玩家自动停止跑在 NAS 上不想让它空转时加ENABLE_AUTOSTOP: TRUE和AUTOSTOP_TIMEOUT_EST最后一人离线后多久停服并记得把 restart 策略设为no完整参数说明在 docs/misc/autopause-autostop/autostop.md。启动排错速查现象原因解法Forge 安装报错或反复重装安装过程不完整临时加FORGE_FORCE_REINSTALL: true启动成功后删除该变量卡在 Changing ownership of /data某些文件系统常见于 NAS上做属主检查很慢设置SKIP_CHOWN_DATA: true提示端口 25565 已被占用主机端口被其他容器占走改映射为26000:25565客户端连 26000 端口启动行为异常但看不出原因默认日志较精简加DEBUG: true输出详细启动日志更多排错手段见 docs/misc/troubleshooting.md为什么推荐这种部署方式整个服务端被隔离在一个容器里主机不沾任何 Java 依赖配置全部写在 compose 文件中换机器时拷贝目录即可完整重建世界数据落在自己控制的目录备份就是打包一个文件夹。想让服务器更省心可以先从 examples/autostop/compose.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),仅供参考