ServerPackCreator 自动识别纯客户端模组:如何一键排除服务器不需要的 Mod
【免费下载链接】ServerPackCreatorCreate a server pack from a Minecraft Forge, NeoForge, Fabric, LegacyFabric or Quilt modpack!项目地址: https://gitcode.com/gh_mirrors/se/ServerPackCreator
🎯 ServerPackCreator 是一款为 Minecraft 模组包(Modpack)一键生成服务器包的工具,支持 Forge、NeoForge、Fabric、LegacyFabric 和 Quilt 五大模组加载器。它能自动识别纯客户端模组(Clientside-only Mods),并通过内置的排除与白名单机制,一键排除服务器根本不需要的 Mod,让你的服务器包更精简、启动更稳定。
为什么要把客户端模组从服务器包里移除?
很多 Minecraft 模组只影响客户端表现——更好的动画、HUD 显示、音效增强、粒子效果等。比如 Sodium(性能优化)、BetterF3、JEI 相关显示类模组,服务器装了它们毫无用处,只会:
- ⚠️ 白白占用内存和磁盘空间
- ⚠️ 某些模组在服务端加载时直接导致崩溃
- ⚠️ 增加启动时间
因此,生成服务器包时剔除纯客户端 Mod是必备步骤。
ServerPackCreator 如何自动识别纯客户端模组?
🧠 ServerPackCreator 内置了自动识别(Autodetection)功能,默认开启。它会逐个扫描 Mod 文件,判断其"侧面属性"(Sideness):
| 扫描器 | 识别目标 | 适用加载器 |
|---|---|---|
ForgeAnnotationScanner | fml-cache-annotation.json | Forge |
ForgeTomlScanner | mods.toml | Forge |
NeoForgeTomlScanner | mods.toml | NeoForge |
FabricScanner | fabric.mod.json | Fabric |
QuiltScanner | quilt.mod.json | Quilt |
这些扫描器由统一的 ModScanner.kt 聚合调度。当 Mod 被判定为"仅客户端"时,它会在生成服务器包前被自动从 mods 目录中排除,全程无需手动挑选。
💡 自动识别无法做到 100% 完美——部分 Mod 的侧面声明方式千差万别。未被捕获的 Mod 会自动落入**备用列表(Fallback List)**比对,该列表随版本持续更新,收录了数百个已知客户端模组。
自动识别可通过 serverpackcreator.properties 中的属性de.griefed.serverpackcreator.serverpack.autodiscovery.enabled手动开启或关闭。
一键排除:3 种最省事的配置方法
方法一:右键"一键加入排除列表" ⚡
这是最快捷的方式:
- 点击配置中Clientside-only Mods文本区
- 选中Mod 文件名中能标识它的部分(建议不含版本号,例如
connectedglass-,这样未来版本也能自动命中) - 右键,在弹出菜单中选择"加入排除列表"或"加入白名单"
方法二:文件选择器批量挑选 📂
Clientside-only Mods 字段旁有一个文件夹按钮,会打开文件选择器,直接在 Mod 包的mods目录里勾选客户端 Mod,一次可批量添加多个。
方法三:重置为官方默认列表 ♻️
官方不断在默认列表中补充新发现的客户端模组。要获取最新版:
- 菜单栏进入Edit → Update Fallback Clientside Modslist
- 回到服务器包配置的高级区(Advanced Section),在客户端/白名单列表处点击重置按钮(带两个红色箭头的齿轮图标)
如果你在列表中加了自定义条目,重置时会询问是否合并,注意保留自己的条目即可。
白名单:防止误伤服务器必需的 Mod 🛡️
自动识别偶尔会出现误判(False Positive),把服务器真正需要的 Mod 也排除了。这时把该 Mod 加入Whitelist(白名单)即可——白名单中的 Mod无论是否命中客户端列表,都会保留在服务器包中。
典型例子:Appleskin 曾被误判,只需将Appleskin-加入白名单即可永久防止误排除。白名单逻辑实现可见 PackConfig.kt 中的whitelist参数说明。
5 种匹配过滤方式,精确控制排除行为
🔍 排除列表中的每个条目默认与 Mod 文件名做"开头匹配(START)",例如条目BetterPingDisplay-会排除BetterPingDisplay-1.16.5-1.0.jar。你可以通过属性de.griefed.serverpackcreator.serverpack.autodiscovery.filter切换 5 种过滤方式(定义见 ExclusionFilter.kt):
| 模式 | 行为 | 适用场景 |
|---|---|---|
START(默认) | 文件名以条目开头 | 绝大多数情况 |
END | 文件名以条目结尾 | 按扩展名排除 |
CONTAIN | 文件名包含条目 | 灵活模糊匹配 |
REGEX | 按正则表达式匹配 | 高级用户批量规则 |
EITHER | 以上任一命中即排除 | ⚠️ 慎用,可能误伤全部 Mod |
💡 小技巧:任何文本区都支持CTRL+F搜索。不确定某个模组是否在排除列表里?直接搜 "advan" 就能高亮所有包含该词的条目!
生成并验证你的精简服务器包 ✅
配置完成后点击生成,ServerPackCreator 会扫描 Mod 包、自动移除已识别的客户端模组、安装对应加载器服务端,并可选打包成 CurseForge 兼容的 ZIP。整个流程可在 ServerPackHandler.kt 的compileModList逻辑中溯源。
命令行用户同样可用 CLI 模式完成全部流程,效果与图形界面完全一致:
延伸阅读
- 📖 官方帮助文档:HELP.md("Clientside-only modslist" 与 "Automatic detection" 章节)
- 📚 Mod 排除专题文档:Mod-Exclusions.md
- 📚 排除配置参考:Exclusions.md
- ⚙️ 全局设置界面源码:GlobalSettings.kt
掌握以上方法,你生成的服务器包将只包含服务器真正需要的 Mod——更轻量、更稳定、启动更快!
【免费下载链接】ServerPackCreatorCreate a server pack from a Minecraft Forge, NeoForge, Fabric, LegacyFabric or Quilt modpack!项目地址: https://gitcode.com/gh_mirrors/se/ServerPackCreator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考