
简易模组同步
加入时自动同步服务器到客户端或客户端到客户端的文件,并使用端到端加密。
查看大图Easy Mod Sync

Easy Mod Sync 是一个 Fabric 模组,用于将 Minecraft 服务器或其他客户端的指定文件和目录同步到连接的客户端。它确保玩家在加入前拥有服务器所需的配置、模组、资源包或其他资源。
功能特性
- 增量同步: 该模组计算服务器跟踪文件的 MD5 哈希,并与客户端的本地文件进行比较。客户端仅下载缺失或与服务器版本不同的文件。
- 传输方式:
- MINECRAFT(默认)(较慢): 使用标准的 Minecraft 自定义负载数据包传输文件,并分块处理。适用于配置文件或少量模组。
- EXTERNAL(快速): 启动一个轻量级的内部 HTTP 服务器来处理文件传输。此方法针对较大文件(如大型资源包或数百个模组)进行了优化,以防止阻塞服务器主线程。
- 安全与加密:
- 使用
EXTERNAL传输方式时,文件负载使用 AES-GCM 加密,并为每个客户端连接生成一次性会话 ID。 - 服务器强制执行严格的白名单,客户端只能请求已添加到同步注册表中的文件。内置了目录遍历保护。
- 使用
- 客户端界面与隔离:
- 连接的玩家会看到一个提示,详细说明风险,并选择接受下载或断开连接。
- 文件首先下载到临时目录(
config/easymodsync/temp/)。只有当传输 100% 完成且无错误,并且玩家点击“确认”后,文件才会被移动到活动游戏目录。 - 进度屏幕上有可滚动的事件日志,可实时查看文件传输状态。玩家可以随时使用退出按钮安全地中止传输。
命令
EasyModSync 包含游戏内命令,用于管理文件同步注册表(config/easymodsync/file_tree.json)。这些命令需要操作员(OP)等级 3 或更高。
/easymodsync add_files <路径>将特定文件或递归添加目录到同步列表中。路径必须相对于服务器根目录。 示例:/easymodsync add_files config/mypack//easymodsync remove_files <路径>从同步列表中移除特定文件或目录中的所有文件。 示例:/easymodsync remove_files config/old_settings.json
(注意:命令参数支持动态标签补全,可补全本地服务器文件和当前跟踪的文件,以减少因递归检查服务器完整目录树而可能产生的延迟。因此,在输入文件夹名称后,请按空格键再按退格键,以获取该文件夹内文件和目录的更新列表。)
配置
该模组的配置存储在 config/easymodsync.json 中,可以直接编辑,也可以通过 Mod Menu/Cloth Config 进行修改。
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
offerAdditionalFiles |
布尔值 | true |
切换服务器是否提示加入的客户端下载跟踪文件。 |
fileTransferMethod |
枚举 | MINECRAFT |
确定用于发送文件的协议。选项为 MINECRAFT(基于数据包)或 EXTERNAL(基于 HTTP)。 |
externalPort |
整数 | 25652 |
如果选择了 EXTERNAL 传输方式,内置 HTTP 服务器使用的端口。此端口必须对连接的客户端可访问(即服务器或提供文件的客户端需要开放该端口)。 |
要求
- Fabric Loader
- Fabric API
- Cloth Config API
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。