
客户端管理
一个Minecraft客户端管理模组,提供许多功能来管理客户端连接
JarsAuth
描述由 ChatGPT 生成,并由模组作者校对。
如有任何歧义,请以中文文本为准。
详细中文描述请前往 客户端管理 (JarsAuth) - MC百科|最大的Minecraft中文MOD百科
如果你想发表评论,请前往 GitHub Discussion
重要通知
本模组已更新至 6.0 版本。 这是一次重大更新,配置与 5.x 或更早版本不兼容。因此:
- 服务端配置必须重新生成
- 客户端也必须更新模组,但无需客户端配置
- 5.x 版本存在导致 CPU 占用异常高的严重 bug,不再推荐使用 该问题已在 6.0 中修复
配置系统变更
所有配置已迁移至 SQLite 数据库
不再生成分散的配置文件
数据库结构在所有版本中保持一致,便于迁移
提供了内置配置工具:
- 入口:服务端 GUI 底部新增的 Manager 按钮
- 配置必须在支持 GUI 的环境中进行
- 如果你的服务器没有 GUI:
- 先在本地进行配置
- 然后将数据库文件复制到服务器
- 未来可能添加远程配置支持
模组 JAR 也可以作为可执行 JAR 运行,自动使用工作目录中的数据库文件
配置工具包含详细说明 → 将鼠标悬停在按钮上可查看提示
通用行为
所有功能均为可选,默认禁用
- 如果未进行任何配置更改,模组的行为就如同未安装一样
功能仅在专用服务器上生效
- 支持的环境:Forge、Fabric、Arclight、Mohist 等
- 单人游戏和局域网世界不受影响
所有消息均存储在**语言文件(
*.json)**中- 如果需要修改,请解包 JAR,编辑后重新打包再发布
为确保玩家的知情权,所有启用的功能将在每次连接时以系统消息的形式告知玩家。此消息为强制性的,无法禁用。
由于开发资源有限:
- 仅支持 Minecraft 1.20.1 及更高版本(稳定版)
- 1.20.1 是最终的 Forge 版本
- 此后开发将转向 NeoForge
- 可根据需求提供定制开发
功能 1 – 文件校验和
这是本模组的原始功能。
使用场景
通常情况下,模组加载器只检查客户端与服务端之间必需模组是否匹配。 它们不会检测:
- 仅客户端模组(例如小地图、性能模组、作弊模组)
- X 光或其他资源包
这严重影响了游戏公平性。 传统的应对措施(例如假矿石)可能会损坏区块数据或导致卡顿。
本模组的文件校验和功能可以:
- 验证所有客户端文件,包括仅客户端模组,是否与制作整合包时使用的版本一致
- 检测未经授权的仅客户端文件
示例:
如果不允许使用小地图,装有该模组的客户端将被拒绝连接
如果要求使用小地图,缺少该模组的客户端也将被拒绝
如果服务端更新了某些模组但客户端未更新:
- 模组加载器检查可能仍然通过
- 版本不匹配可能损坏服务端数据 → 本模组可以通过禁用其验证通道来阻止过时的客户端
工作原理
模组扫描所有已配置的文件并计算其哈希值
所有哈希值合并为一个客户端签名
当客户端连接时:
- 服务端定期发送需要验证的文件列表
- 客户端计算并返回其签名
如果签名不在服务端的记录中,则拒绝连接
重要配置变更
支持基于组的管理与继承
不同的客户端组可以有不同的验证规则
过滤器支持:
- 简单通配符
- 正则表达式
排除过滤器可以忽略不应检查的文件 (例如
.DS_Store、desktop.ini)
功能 2 – 客户端认证
此功能类似于登录系统。
使用场景
在离线模式服务器中,玩家身份仅基于用户名,很容易被冒充。
此功能添加了专用认证机制,防止其他玩家使用相同用户名登录。
工作原理
当玩家加入时:
- 服务端检查该用户名是否存在 ID(UUID)
如果不存在:
- 该玩家被视为首次登录
如果存在:
- 服务端向客户端请求该 ID
- 如果客户端无法在限定时间内提供,则拒绝连接
首次登录时:
- 服务端生成一个与用户名绑定的 ID
- 该 ID 被发送至客户端并存储在服务端
- 客户端随后被断开连接,必须重新连接以进行验证
功能 3 – 服务器许可证
此功能可用作防沉迷功能。
使用场景
服务器可能希望:
- 限制玩家游戏时间
- 要求服务器所有者明确授权
此功能提供了一个细粒度的白名单系统,其中:
服务端颁发许可证
只有持有有效许可证的玩家才能连接
许可证包括:
- 过期时间
- 类型
- 使用配额
工作原理
登录时,服务端检查玩家的许可证:
- 无许可证
- 许可证已过期
- 许可证配额已耗尽
→ 拒绝连接 许可证在游戏过程中也会定期重新验证。
此功能完全在服务端运行,不需要客户端数据交换。
重要配置变更
- 用户和规则支持分组与继承
- 移除了“基于连接次数”的许可证类型
- 添加了周期性许可证,可自动重置或清除配额
功能 4 – 签名与混淆(Beta)
注意: 此功能必须在 Minecraft 环境中使用。 直接运行 JAR 不支持此功能。
使用场景
服务器可能希望玩家仅使用服务器提供的整合包。
此功能允许:
- 导出已签名的模组包以确保唯一性
- 一键生成 ProGuard 混淆配置
重要通知
- 模组发布页面仅提供未签名包(“原始包”)
- 已签名包绝不会通过公共网络资源分发
- 服务器所有者必须决定是否使用已签名/混淆版本
安装设置
从 6.0 开始,严格的网络通道检查已被移除。 客户端和服务端可以独立运行,不会破坏游戏体验。
| 服务端已安装 | 客户端已安装 | 结果 |
|---|---|---|
| 是 | 是 | 按照配置进行验证 |
| 是 | 否 | 如果启用,验证始终失败;否则不进行验证 |
| 否 | 是 | 不进行验证 |
| 否 | 否 | 不进行验证 |
准备步骤
完成你的整合包并确保:
- 所有模组和文件均已正确放置
- 服务端和客户端可以正常启动并连接
下载原始包
将其放入服务端和客户端的
mods文件夹中启动服务端
通过服务端 GUI 打开配置工具
在 Config 选项卡中启用或禁用所需功能
签名(可选)
在 Signing 选项卡中:
生成:
*-signed.jar(服务端)*-signed-expanded.jar(客户端)
两者必须完全匹配
同时会生成一个
config.pro文件导入 ProGuard 以生成:
*-signed-expanded-obj.jar
混淆仅适用于客户端包
替换:
- 服务端模组为服务端签名 JAR
- 客户端模组为对应的签名/混淆 JAR
重启服务端
文件校验和工作流程
- 启动客户端和服务端
- 在服务端运行
/jarsauth record on(必须启用文件校验和) - 客户端连接 → 记录文件 → 客户端被断开连接
- 切换配置工具页面以刷新 UI
- 运行
/jarsauth record off - 选择客户端组并配置过滤器 → 更改立即生效
客户端认证说明
配置工具显示:
- 服务端 ID
- 所有已记录的客户端 ID
要撤销玩家:
- 删除其 ID 条目
客户端侧:
在客户端根目录中创建数据库文件
其中存储所有用户名–ID 映射
必须小心备份
- 丢失 → 无法登录
- 泄露 → 账户被冒充的风险
- 多设备使用 → 复制数据库文件
服务器许可证说明
在工具中配置组
一个强制性的
default组适用于所有用户玩家可以属于多个组
- 组关系为 OR
- 如果任意组有剩余额度,则允许访问
所有组的额度同时减少
- 有效额度 = 组中可用的最高额度
配置重载说明
- 不再支持配置重载
- 启用/禁用功能需要重启服务端
- 其他配置更改立即生效
模组作者的话
此部分已移至 GitHub。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。