ARTICLE DETAIL

资讯详情

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

5分钟拉起自动装模组的Minecraft服务器:docker-minecraft-server 部署完全指南

5分钟拉起自动装模组的Minecraft服务器:docker-minecraft-server 部署完全指南 5分钟拉起自动装模组的Minecraft服务器docker-minecraft-server 部署完全指南【免费下载链接】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还在手动下载服务端 jar、对 Java 版本、写启动脚本吗docker-minecraft-server镜像在启动时自动下载指定版本的 Minecraft 服务端装好模组加载器、模组包并把世界数据管好一条命令就能拿到可联机的服务器。1 手动搭服务端的坑它替你填了1.1 传统流程有多繁琐去官网下载服务端 jar还要手动接受 EULA查这个 MC 版本需要哪个 Java再装对版本每次升级都重走一遍装整合包时一个个拖 jar 进 mods 目录这些步骤在镜像里全部变成启动脚本自动完成你只负责声明要什么版本、什么类型。1.2 镜像能自动做的事启动流程由脚本驱动先解析变量再下载对应服务端然后处理模组/插件/数据最后拉起 Java 进程全过程见下图按VERSION自动拉取对应游戏版本按TYPE切换 Vanilla、Paper、Fabric 等服务端类型自动下载并清理模组、插件、数据世界与配置集中在/data挂卷即可持久化2 三步完成首次启动2.1 最简命令先跑起来docker run -d -p 25565:25565 \ -e EULATRUE \ -v ./data:/data \ itzg/minecraft-serverEULATRUE必须给Mojang 要求接受条款-v ./data:/data把宿主机目录挂进去存世界数据。首次启动会下载服务端日志里看到DONE就可以连了。2.2 换成 Compose 方便后续改动长期开服的推荐 Compose 方式改完配置重新docker compose up -d即可生效services: mc: image: itzg/minecraft-server ports: - 25565:25565 environment: EULA: TRUE VERSION: 1.20.4 volumes: - ./data:/data从docker run迁到 Compose 的结构对照可以参考这张图从 docker run 迁移到 Compose 的对比图仓库的 examples 目录里有 Paper、Fabric、多服、K8s 等大量现成配置可以直接抄。3 换版本和换类型都只改一行3.1 用 VERSION 指定游戏版本VERSION可以是LATEST默认、SNAPSHOT或具体号如1.12.2。用LATEST时只要重启容器启动时就会检查并升级不需要改任何配置。3.2 用 TYPE 切换服务端类型VANILLA官方原版默认PAPER、SPIGOT插件服装 Bukkit 系插件FABRIC、NEOFORGE模组加载器装 mods各类型专属变量见 服务端类型文档类型和版本搭配不同所需 Java 版本也不同这就是下一节的事。4 对不上的 Java 版本用镜像标签解决4.1 按标签锁定 Java 版本镜像 tag 直接决定容器里的 Java常用组合latest最新 Java跟最新 MC 走java171.17 版本的稳妥选择java81.12.2 这类老服务端必须用它image: itzg/minecraft-server:java84.2 报错时先查这个如果日志出现class file version 65.0之类的UnsupportedClassVersionError基本就是 Java 太老老 Forge 报AppClassLoader cannot be cast to URLClassLoader则说明该换java8标签。完整对照表在 Java 版本说明里。5 整合包和模组交给平台自动装5.1 Modrinth列几个项目名就行用MODRINTH_PROJECTS写模组/加载器的项目名slug 或 ID每次启动都会下载最新版并清掉旧版environment: EULA: TRUE TYPE: FABRIC MODRINTH_PROJECTS: | fabric-api更多写法见 Modrinth 文档。5.2 CurseForge给两个 ID 一键部署TYPEAUTO_CURSEFORGE加项目 ID 和文件 ID服务端、Forge 版本、全部依赖都会被自动解析并下载environment: TYPE: AUTO_CURSEFORGE CF_PROJECT_ID: 325345 CF_FILE_ID: 4567896 世界数据挂一个卷下载也免挂载6.1 所有东西都在 /data世界默认在/data/world服务端配置是/data/server.properties模组在/data/mods。只要把/data挂出去备份就是拷一个目录迁移就是换个机器再挂回去。6.2 用 WORLD 直接拉现成世界不想手动拷贝给WORLD一个 zip/tar 包的 URL 或容器内路径启动时自动解压并识别level.dat再配FORCE_WORLD_COPYTRUE可每次启动强制覆盖。挂载一份母世界给多个服克隆的玩法细节见 世界数据文档。7 进阶没人时自动暂停服务器7.1 两行配置省掉空转的 CPU 朋友群里没人的深夜服务器还在满速空转。打开自动暂停后超过设定时间无玩家就暂停进程下次有人进服再自动恢复environment: ENABLE_AUTOPAUSE: TRUE MAX_TICK_TIME: -1参数如暂停超时时长说明见 自动暂停文档自动停机、RCON 定时指令等玩法也在同一目录下。延伸阅读examples/ 目录Paper、Fabric、Modrinth 模组包、多服 Velocity、K8s 等 30 份可直接用的 Compose 示例docs/variables.md全部环境变量速查调内存、时区、日志都在里面docs/misc/deployment/index.md从 Compose 到 Kubernetes、Podman 的部署方式说明【免费下载链接】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),仅供参考
返回列表