ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

用 Docker 快速部署 Minecraft 服务器:原版、插件服与整合包一次跑通的 4 个决策

用 Docker 快速部署 Minecraft 服务器:原版、插件服与整合包一次跑通的 4 个决策 用 Docker 快速部署 Minecraft 服务器原版、插件服与整合包一次跑通的 4 个决策【免费下载链接】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用 itzg/minecraft-server 这个 Minecraft 服务器 Docker 镜像部署服务器核心思路只有四步定玩法、对版本、给内存、挂数据。镜像启动时会按环境变量自动下载对应的服务端程序、模组加载器和整合包世界文件则统一落在挂载目录里升级和回滚都不用手碰。下面按这四个决策展开。 第一步定玩法选对 TYPE 值选类型的标准只有一条你要装什么。只和朋友玩纯净生存用默认值即 Mojang 官方服务端TYPEVANILLA或不写都行。要跑 Bukkit/Spigot 插件或想要更好的性能选PAPERPaperMC 官方构建大服也常用它的衍生版 Pufferfish、Purpur、Folia。玩 Fabric 生态的轻量模组选FABRIC加载器版本由FABRIC_LOADER_VERSION指定。跑 ATM、RLCraft 这类大型整合包选FORGE或较新版本的NEOFORGE。直接从 CurseForge 或 Modrinth 平台拉整合包用AUTO_CURSEFORGE或MODRINTH这类平台类型后面第四节单独讲。各类型的完整清单和专用变量在 docs/types-and-platforms/index.md。⚠️ 第二步对版本Minecraft 和 Java 各占一个位置最容易踩的坑是这两个版本号配错判断标准很简单VERSION决定游戏版本镜像 tag 决定 Java 版本两者必须互相匹配。1.17 及以上的游戏版本需要 Java 171.20.5 之后需要 Java 21直接用latesttag 即可它会自动跟进 Mojang 要求的最新 Java。玩旧版本如 1.12或 Forge 低于 1.18 的整合包必须显式指定itzg/minecraft-server:java8否则启动会直接报ClassCastException。启动日志里出现UnsupportedClassVersionError或 class file version 报错几乎都是 Java 版本过低换一个更高的 tag 再拉镜像即可。每个镜像 tag 对应的 Java 版本、架构支持在 docs/versions/java.md 有对照表固定版本时可用release-java版本格式的 tag 锁定具体构建。 第三步给内存一条命令把服务器拉起来原版和 Paper 这类基础服务端内存默认 1G小服够用多人长期在线或插件多的建议 2G~4G用MEMORY变量或JVM_OPTS调整。下面是最小化的启动方式EULATRUE必须显式声明否则容器会拒启docker run -itd --name mc -p 25565:25565 \ -v ./data:/data \ -e EULATRUE -e TYPEPAPER -e VERSION1.21.1 -e MEMORY2G \ itzg/minecraft-server习惯 compose 的话仓库里的 examples/docker-compose-simple.yml 可以直接抄它演示了把宿主机./data目录挂到容器/data的最小写法。数据落盘后换镜像 tag 重启就能无感升级游戏版本模组和插件也留在原处。 第四步装整合包让镜像自己去平台下载装整合包的原则是只填平台标识下载、依赖解析、旧版本清理全部交给镜像不要在宿主机手动下 jar 包。CurseForge 方式需要两个 IDCF_PROJECT_ID是整合包项目 ID页面上可查CF_FILE_ID是具体版本文件 ID两者都填后启动时自动拉取environment: - TYPEAUTO_CURSEFORGE - CF_PROJECT_ID325345 - CF_FILE_ID4439757Modrinth 方式则把MODRINTH_MODPACK填成整合包的项目 slug、ID 或版本页 URL 即可加载器Forge/Fabric随之自动安装想钉死某个加载器可用MODRINTH_LOADER指定。无论哪个平台REMOVE_OLD_MODS默认开启换版本后旧的模组文件会被清掉/data/mods不会越攒越多。⏸️ 收尾两件事没人的时候省电世界文件留得住启用自动暂停服务器长期开着但没人在玩时ENABLE_AUTOPAUSEtrue可以让 Java 进程整体挂起有人连入再自动唤醒客户端体验无感。必配项MAX_TICK_TIME-1。暂停在服务器看来等于一个超长 tick不关掉 watchdog 的话恢复后可能被强制重启。Paper 服务端还要加JVM_DD_OPTSdisable.watchdog:true。暂停判定时间用AUTOPAUSE_TIMEOUT_INIT首次启动无人连入和AUTOPAUSE_TIMEOUT_EST玩家断开后控制。1.21.2 起游戏自带空服暂停改设PAUSE_WHEN_EMPTY_SECONDS更省事。完整参考 examples/autopause/compose.yml。管理世界数据/data是唯一的持久化位置世界文件在/data/world目录名可由LEVEL改server.properties和各平台缓存都在其下备份时整个目录打 tar 即可。想从网上或另一个目录导入世界给WORLD变量填 zip/tar 包的 URL 或容器内路径镜像会找level.dat自动展开FORCE_WORLD_COPYTRUE可在每次启动时强制覆盖。多服务器共用一个原始世界做克隆也是靠WORLD指向只读挂载的源目录实现。以上四步跑通后想继续深入可以看仓库里的两个目录docs/ 按服务器类型、模组平台、配置项分类的完整文档以及 examples/ 下 30 多个按场景命名的 compose 示例Fabric、GTNH、K8s、自动暂停等都能直接找到对应文件。【免费下载链接】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),仅供参考
返回列表