MineWiki
Java 版开服教程扩展内容模组服

安装模组服

从服务端包到客户端同步,按加载器和整合包的真实结构完成部署

模组服最容易出问题的地方不是“把 jar 放进 mods/”,而是服务端、加载器、Java、模组和配置必须形成同一组兼容关系。动手前先保存整合包页面、版本号和服务端包来源,后续排错会轻松很多。

优先选择 server pack

如果整合包作者提供了 server pack,优先使用它。server pack 通常已经排除了纯客户端模组,并包含服务端需要的配置或启动文件。不要假设任何整合包页面都会提供一个单独的服务端 jar;不同平台和作者的交付方式不同。

基本流程是:

  1. 创建独立的服务端目录,下载整合包作者提供的 server pack 或安装说明。
  2. 按整合包要求安装 Java;要求以该整合包和加载器的说明为准。
  3. 解压或运行安装器,使用它生成的 run.batrun.sh 或明确指定的脚本启动。
  4. 首次运行后编辑 eula.txt,将 eula=false 改为 eula=true,再启动一次。
  5. 在本机验证服务端,最后才让其他玩家连接。

NeoForge 官方文档明确使用安装器的 --installServer 选项,并在安装后通过生成的 run.batrun.sh 启动;JVM 参数通常写在 user_jvm_args.txt,不应想当然地改成通用 server.jar 启动方式。NeoForge 服务端文档

自己组模组时,先分清加载器

加载器服务端安装要点模组文件放置
Fabric使用对应 Minecraft 版本的服务端加载器;很多模组还需要 Fabric API。mods/
NeoForge运行官方安装器的 --installServer;使用生成的启动脚本。首次启动后出现的 mods/
Forge按该版本官方安装器与生成脚本说明操作。mods/

每个模组都应同时匹配 Minecraft 版本、加载器和运行环境。Fabric 官方也特别提醒:一个适用于 1.21.8 的模组不一定适用于 1.21.11,且 Fabric 模组不能和其他加载器的版本混用。Fabric:Installing Mods

客户端需要和服务端“完全一致”吗

不要用一句“必须完全一致”概括所有模组。大部分内容模组确实需要两端匹配,但有些模组只在客户端运行,有些只在服务端运行。最可靠的来源是模组作者的标注和整合包说明。

排查玩家无法进入时,按这个顺序核对:

  1. Minecraft 主版本是否一致。
  2. 加载器类型和版本是否一致。
  3. 整合包版本、模组版本和依赖库是否一致。
  4. 客户端是否缺少服务端要求的模组,或服务端是否误放了纯客户端模组。
  5. logs/latest.log 和客户端报错中第一个点名的模组或依赖是什么。

看到 Incompatible modsMissing dependency 等信息时,先修复版本或依赖,再检查端口转发。网络正常也无法弥补模组兼容性错误。

备份与更新

模组服除了世界,还会依赖 config/defaultconfigs/、脚本和模组 jar。更新加载器、模组或整合包前,备份整个服务端目录。NeoForge 官方同样强调,更新 NeoForge 或模组前应始终备份世界。NeoForge 服务端文档

常见问题

服务端没有 mods/ 目录怎么办? 先看加载器日志和官方安装步骤。有些加载器会在首次成功启动后创建目录;手动创建空目录不会修复安装器未完成、Java 版本错误或启动脚本错误。

能否直接把客户端整合包复制到服务端? 只有当整合包作者或加载器文档明确说明这种做法可行时才可以。普通客户端包可能包含光影、界面和其他纯客户端模组;server pack 的价值就在于处理这些差异。

一次加了很多模组后无法启动? 先还原到最近一次可启动的整服备份,再按小批次加入并保存每次变更的日志。直接随机删除 jar 会让依赖关系更难判断。

参考

On this page