
虚空认证
这是一个新生代的可视化GUI登录模组。This is a next-generation visual GUI login module.
查看大图VoidAuth
Minecraft 26.1–26.1.2 强制认证模组 | Fabric | 双方安装
VoidAuth 是一款针对 Minecraft 26.1 系列设计的强制安全认证模组,需要服务端与客户端同时安装。除基础登录/注册功能外,它在架构上解决了传统认证模组的长期顽疾——闪烁、死亡状态下卡住,以及鞘翅断线导致的虚空陷阱,并提供了完整的 GUI 管理、精细的权限节点以及开发者 API。
🚀 快速入门
- 安装 Fabric Loader 0.19.2+ 与 Fabric API
- 将 VoidAuth 放入 服务端与客户端 的
mods文件夹 - 启动服务端——配置文件会自动生成在
config/voidauth.json - 玩家加入后输入
/voidauth register <密码>进行注册,之后每次输入/voidauth login <密码>登录 - 输入
/voidauth help查看所有命令(可点击!)
💡 默认使用 JSON 存储——零依赖,开箱即用。如需 SQLite/MySQL,只需将驱动 jar 放入 mods 文件夹。
📋 要求
| 项目 | 要求 |
|---|---|
| Minecraft | 26.1 / 26.1.1 / 26.1.2 |
| Java | 25 |
| Fabric Loader | 0.19.2+ |
| Fabric API | 0.145.1+26.1 |
⚠️ 强制安装双方——未安装 VoidAuth 的客户端将被拒绝并提示安装。
✨ 独特功能一览
以下功能在其他 Minecraft 认证模组中均不存在:
| # | 功能 | 一句话概述 |
|---|---|---|
| 🔒 | 四层位置锁定 | 客户端输入冻结 + 服务端位置同步 + 移动数据包拦截 + 偏移修正——消除闪烁与 X 光 |
| 🌑 | 黑暗反绕过 | 黑暗效果 + 强制伽马=0 + F3 屏幕封锁——即使全亮也无法透视 |
| 🪂 | 鞘翅断线保护 | 加入时自动加载 7×7 区块,防止鞘翅断线后陷入虚空 |
| 💀 | 死亡状态自动恢复 | 检测登出时的死亡状态,重连时自动复活——无需管理员干预 |
| ⏱️ | 飞行检查缓冲期 | 可配置的登录后缓冲期,在坠落/鞘翅飞行时抑制飞行作弊检测 |
| 🛡️ | BCrypt 截断防护 | 验证密码 UTF-8 长度 ≤ 72 字节,封堵 BCrypt 静默截断漏洞 |
| 🔐 | 顺序字符检测 | 阻止 abc/123/cba/321 模式——拒绝弱密码 |
| 📝 | 管理员审计日志 | 所有管理员操作自动记录,一键导出带时间戳 |
| 🔑 | 精细权限节点 | 7 个独立权限节点,支持 Fabric Permissions API |
| 🔌 | 开发者 API | 回调系统 + 数据查询 + 异常隔离,便于第三方模组集成 |
| 🔄 | 自动迁移 | 升级或切换存储类型时,配置与数据自动迁移 |
| 🛡️ | MySQL 密码保护 | 配置同步使用占位符 ***,防止密码通过网络泄露 |
| ⚙️ | bcryptCostFactor 验证 | 服务端强制范围 10–14,防止通过恶意成本因子发起 DoS 攻击 |
🔍 独特功能详解
🔒 四层位置锁定——消除登录闪烁与 X 光
传统认证模组仅拦截服务端的移动数据包,客户端仍可自由移动——导致闪烁与 X 光问题。VoidAuth 实现了四层协同防护:
- ClientInputMixin——冻结所有键盘/鼠标输入
- tickFreeze() + LockPositionPacket——将客户端锁定至服务端指定位置,零速度 + 无重力 + 渲染插值锁定
- ServerPlayHandlerMixin——拦截所有移动与载具移动数据包
- ServerPlayerEntityMixin——主动纠正位置偏差,重置飞行检测计数器
关键创新:专用的 LockPositionPayload 网络数据包将服务端坐标同步至客户端,防止因位置不同步导致的嵌入方块问题。
🌑 黑暗反绕过
传统模组使用夜盲效果,全亮材质包可轻易绕过。VoidAuth 使用三重防护:
- 黑暗效果——即使最大亮度也无法穿透
- 客户端伽马强制归零——登录期间锁定渲染亮度,登录后恢复
- F3 调试屏幕封锁——防止坐标与实体信息泄露
⏱️ 飞行检查缓冲期
登录后,玩家可能仍在坠落或使用鞘翅滑翔。传统模组会立即触发飞行作弊检测并踢出。VoidAuth 提供了可配置的缓冲期(flightCheckGracePeriodSeconds),在此期间抑制飞行检测,让玩家安全落地。
🪂 鞘翅断线保护
当玩家在鞘翅飞行中断线并重新加入时,传统模组会让其卡在虚空中(区块未加载)。VoidAuth 在加入时主动加载玩家周围 7×7 的区块区域。
💀 死亡状态自动恢复
使用传统模组时,玩家死亡后断线,重新加入时会卡在“死亡”状态。VoidAuth 会记录登出时的死亡状态,并在重连时自动执行重生。
🛡️ BCrypt 72 字节截断防护
BCrypt 会静默截断超过 72 字节的密码。攻击者可利用此前缀碰撞访问其他账号。VoidAuth 验证密码的 UTF-8 字节长度并拒绝超过 72 字节的密码。
🔐 顺序字符检测
除了要求包含字母与数字外,VoidAuth 还会检测升序/降序序列(例如 abc、123、cba、321)以拒绝弱密码。
📝 管理员审计日志
所有管理员操作自动记录到 logs/voidauth-admin.log。使用 /voidauth exportlog 导出带时间戳的副本。
🔑 精细权限节点
| 权限节点 | 操作 |
|---|---|
voidauth.admin.reset |
重置玩家密码 |
voidauth.admin.setpassword |
强制设置密码 |
voidauth.admin.delete |
删除玩家账户 |
voidauth.admin.list |
查看玩家列表 |
voidauth.admin.reload |
重载配置 |
voidauth.admin.config |
修改配置 |
voidauth.admin.exportlog |
导出管理员日志 |
当未安装 Fabric Permissions API 时,回退至 OP 检查。
🔌 开发者 API 与回调系统
VoidAuthAPI.registerCallback(new AuthCallbackAdapter() {
@Override
public void onAuthenticated(UUID uuid) { /* 登录成功 */ }
});
Set<UUID> authenticated = VoidAuthAPI.getAuthenticatedPlayers();
Optional<PlayerData> data = VoidAuthAPI.getPlayerData(uuid);
AuthCallbackAdapter提供空实现便于选择性重写- 回调异常自动隔离——一个回调失败不会影响其他回调
🔄 自动迁移
- 配置:模组升级时自动进行版本迁移——设置不会丢失
- 数据:切换存储类型时自动迁移(JSON → SQLite → MySQL)
🛡️ MySQL 密码保护
配置同步数据包将 MySQL 密码替换为 ***。服务端仅在客户端发送非空且非占位符的值时才更新密码。
⚙️ bcryptCostFactor 验证
服务端强制 BCrypt 成本因子范围为 10–14,防止通过恶意高值发起 DoS 攻击。
🎮 完整功能列表
玩家命令
| 命令 | 描述 | 点击行为 |
|---|---|---|
/voidauth login <密码> |
登录 | 填入命令,输入密码 |
/voidauth register <密码> |
注册 | 填入命令,输入密码 |
/voidauth info |
查看个人信息 | 点击执行 |
/voidauth changepassword |
打开修改密码 GUI | 点击执行 |
/voidauth email |
打开邮箱管理 GUI | 点击执行 |
/voidauth unregister |
删除账户(需确认) | 填入命令,提示后确认 |
/voidauth help |
显示帮助菜单 | 点击执行 |
管理员命令
| 命令 | 描述 | 权限 | 点击行为 |
|---|---|---|---|
/voidauth reset <玩家名> |
重置玩家密码 | voidauth.admin.reset |
填入命令,输入玩家名 |
/voidauth setpassword <玩家名> <密码> |
强制设置密码 | voidauth.admin.setpassword |
填入命令,输入玩家名与密码 |
/voidauth list [页数] |
查看已注册玩家 | voidauth.admin.list |
点击执行 |
/voidauth delete <玩家名> |
删除玩家账户 | voidauth.admin.delete |
填入命令,输入玩家名 |
/voidauth reload |
重载配置 | voidauth.admin.reload |
点击执行 |
/voidauth config |
打开配置 GUI | voidauth.admin.config |
点击执行 |
/voidauth exportlog |
导出管理员日志 | voidauth.admin.exportlog |
点击执行 |
💡 帮助菜单中的所有命令均可点击。需要参数的命令会自动填入聊天栏。
GUI 界面
- 登录界面——带倒计时,超时自动踢出
- 注册界面——注册时可选绑定邮箱
- 修改密码界面——旧密码 + 新密码 + 确认密码字段
- 邮箱管理界面——绑定 / 修改 / 解绑模式
- 配置管理界面——所有设置的图形化编辑器
- 账户管理界面——统一入口
安全
- BCrypt 密码哈希(可配置成本因子 10–14)
- 密码强度验证(最少 6 个字符 + 字母与数字 + 顺序字符检测 + 72 字节上限)
- 登录失败锁定(可配置尝试次数与持续时间)
- 同 IP 自动登录(可配置有效期)
- 账户删除带确认 + 效果清理 + 数据清除
数据存储
| 存储类型 | 描述 | 依赖项 |
|---|---|---|
| JSON | 默认,零依赖 | 无 |
| SQLite | 适用于中小型服务器 | 在 mods 文件夹中安装 sqlite-jdbc |
| MySQL | 适用于大型服务器 / 多服务器 | 在 mods 文件夹中安装 mysql-connector-j |
切换存储类型时数据自动迁移。如果驱动缺失,回退至 JSON 并发出警告。
🔧 可选依赖项
| 依赖项 | 用途 | 安装方式 |
|---|---|---|
| sqlite-jdbc | SQLite 存储 | 将 jar 放入 mods 文件夹 |
| mysql-connector-j | MySQL 存储 | 将 jar 放入 mods 文件夹 |
| Fabric Permissions API | 精细权限 | 放入 mods 文件夹 |
未安装时自动回退至默认值(JSON 存储 + OP 权限检查)。核心功能不受影响。
⚙️ 配置
| 设置项 | 默认值 | 描述 |
|---|---|---|
loginTimeoutSeconds |
120 | 登录超时(秒) |
maxPasswordAttempts |
5 | 最大密码尝试次数 |
lockDurationMinutes |
30 | 账户锁定持续时间(分钟) |
bcryptCostFactor |
10 | BCrypt 成本因子(10–14) |
ipAutoLoginEnabled |
true | 启用同 IP 自动登录 |
ipAutoLoginDurationHours |
24 | 自动登录有效期(小时) |
storageType |
json | 存储类型(json/sqlite/mysql) |
flightCheckGracePeriodSeconds |
30 | 飞行检查缓冲期(秒) |
mysqlHost |
localhost | MySQL 主机 |
mysqlPort |
3306 | MySQL 端口 |
mysqlDatabase |
voidauth | MySQL 数据库名 |
mysqlUsername |
root | MySQL 用户名 |
mysqlPassword |
MySQL 密码 | |
mysqlPoolSize |
5 | MySQL 连接池大小 |
📜 开发者 API
// 添加依赖
dependencies {
modImplementation "com.voidauth:voidauth:1.0.0"
}
// 注册回调
VoidAuthAPI.registerCallback(new AuthCallbackAdapter() {
@Override
public void onAuthenticated(UUID uuid) { /* 登录成功 */ }
});
// 数据查询
Optional<PlayerData> data = VoidAuthAPI.getPlayerData(uuid);
Set<UUID> authenticated = VoidAuthAPI.getAuthenticatedPlayers();
boolean isAuth = VoidAuthAPI.isAuthenticated(uuid);
❓ 常见问题
问:未安装 VoidAuth 的玩家可以加入吗? 答:不行。未安装 VoidAuth 的客户端会被拒绝并提示安装。
问:在单人游戏中需要登录吗? 答:不需要。在单人游戏中(包括局域网联机),主机玩家会自动认证。
问:如何切换存储类型?
答:修改 config/voidauth.json 中的 storageType 并重启。现有数据会自动迁移。
问:如果我忘记密码怎么办?
答:管理员可以使用 /voidauth reset <玩家名> 重置密码。
问:支持哪些 Minecraft 版本? 答:26.1、26.1.1 和 26.1.2。不兼容更早版本。
📄 许可证
© 2025 VoidAuth。保留所有权利。
本模组为闭源软件。保留所有权利。未经作者事先书面授权,禁止以下行为:
- 反编译、反向工程或反汇编本软件
- 修改、改编或制作衍生作品
- 分发、再许可或销售本软件的源代码
- 删除或修改本软件中的任何版权声明
用户被授予非独占、不可转让的许可,仅可将本软件安装并用于个人、非商业目的。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。