钮结

钮结

Vinculum允许玩家与服务器同步模组

Vinculum

Vinculum 是一个 Fabric 模组,帮助玩家保持其 Minecraft 模组列表与所加入的服务器一致。

此模组必须同时安装在客户端和服务器/局域网中。

Vinculum 的必需模组界面

工作原理

当运行 Vinculum 的服务器或开启局域网的游戏在服务器列表中广播其 Minecraft 版本、加载器版本和已安装的模组时,客户端会在加入前将该信息与本地 mods 文件夹进行比较,然后对任何缺失或使用不同版本的模组显示清晰的状态界面。

功能

  • 在加入前检测服务器必需的缺失模组。
  • 高亮显示客户端与服务器之间的版本不匹配。
  • 单独标记仅客户端模组,让玩家知道哪些条目不会阻止加入。
  • 当存在匹配文件时,从 Modrinth 下载缺失的 Fabric 模组。
  • 当 Modrinth 无法解析必需模组且服务器传输已启用时,回退到服务器提供的传输。
  • 在直接从服务器下载任何 JAR 文件之前需要明确确认,并附带安全警告和公告的文件元数据。
  • 为阻止加入的模组提供“必要同步”,为完整服务器模组集提供“完全同步”。
  • 在替换不匹配或多余的本地模组之前进行备份。
  • 直接在 Minecraft 界面中显示同步进度。

配置

Vinculum 会在 Fabric 配置目录中创建一个 modsync.json 配置文件。

{
  "transferPort": 9123,
  "allowServerTransfers": true,
  "filterMode": "none",
  "filterRules": []
}
  • transferPort:用于服务器托管的模组传输的端口。
  • allowServerTransfers:启用或禁用从服务器直接下载。
  • filterMode:控制 Vinculum 管理的 JAR 文件。使用 none(无)、blacklist(黑名单)或 whitelist(白名单)。
  • filterRules:JAR 文件名或类似 gitignore 的模式。黑名单中的 JAR 和白名单之外的 JAR 不会被公告、传输、比较或移入备份。

不含斜杠的规则匹配任何目录中的 JAR 文件名。包含斜杠的规则相对于 mods 目录。匹配不区分大小写,* 匹配除 / 外的任意字符,? 匹配除 / 外的单个字符,** 可以跨目录,末尾的 / 匹配目录及其下所有内容。空白规则和以 # 开头的规则将被忽略。

例如:

{
  "transferPort": 9123,
  "allowServerTransfers": true,
  "filterMode": "blacklist",
  "filterRules": [
    "client-only/",
    "mod-proprietario-*",
    "optional/**/*.jar"
  ]
}

两个值也可以通过 modsync.transferPort 和 modsync.allowServerTransfers 系统属性,或 MODSYNC_TRANSFER_PORT 和 MODSYNC_ALLOW_SERVER_TRANSFERS 环境变量进行覆盖。

要求

  • Minecraft 26.1.2
  • Fabric Loader 0.19.3 或更新版本
  • Fabric API
  • Java 25 或更新版本

许可证

此项目在 MIT 许可证下授权。您可以重用、修改和分发它,前提是保留原始版权声明和许可证。