登录插件 TinyAuth - 注册/登录/未登录锁定/超时踢出/基岩免登录/背包隐藏,零依赖

原创 开源 工具 世界管理 登录插件 TinyAuth - 注册/登录/未登录锁定/超时踢出/基岩免登录/背包隐藏,零依赖 1.0.1

完成注册/登录后下载
[MD] ## TinyAuth 1.0.1 本次是**安全与可靠性修复**,不新增玩法,但有三件事必须知道:说话要改口、密码要重输、背包多了一层保险。 ### 修了什么 **背包:崩溃不再吞物品** 旧版登录时把 41 格背包“藏在内存里”,服务器一崩、玩家一掉线,东西就没了。现在改为落盘快照 `pending-inv/<uuid>.yml`,进服先还原再登录,进程被杀也不丢。 **密码:不再写进控制台日志** `/登录 123456` 这种带参写法,明文会进 `logs/latest.log`,任何能看日志的人都能看到。现在 `/登录` `/注册` `/改密码` 不带参时进入聊天框输入状态,输入内容被插件吃掉并取消聊天事件,日志里干干净净。 **未登录还能聊天** 旧版只锁了移动、破坏、交互,没锁 `AsyncPlayerChatEvent`——没登录也能在公屏说话,还能连刷。现在一并锁掉。 **`/l` `/reg` 输入后死循环** 旧版命令白名单只有 4 个词,`/l`、`/reg`、`/login` 这类常用简写全被自己的插件拦掉,玩家反复输“请先登录”。现在白名单扩到 12 个词、覆盖全部别名,且按首词精确匹配,堵掉 `/登录xxx` 前缀穿透。 **口令哈希升级** SHA-256 单轮 → **PBKDF2-HMAC-SHA256**,每账号 16 字节随机盐、默认 12 万次迭代。老玩家不用做任何事:下次登录成功时自动迁移,无感。 **失败冷却** 连续输错达到 `auth.max-attempts` 后进入冷却,冷却期内就算密码正确也不放行,挡掉脚本爆破。 **权限真正生效** `tinyauth.bypass`(免登录)和 `tinyauth.admin` 之前全仓库没有一处 `hasPermission`,是空权限。现在接上了,也在 plugin.yml 里声明了。 **配置不再空转** `kick-message`、`kick-message-unregistered`、`messages.prefix` 之前都是死配置(代码读的键和 config.yml 写的对不上),现已全部接通;`auth.enabled: false` 时不再往数据库写账号。老服务器首次启动自动补齐新增配置键。 ### 新增内容 - `/改密码` — 自助修改密码(原 `changePassword` 逻辑是死代码) - `/注销账号 confirm` — 二次确认后删号 - `/authadmin list|reset|del` — 管理员重置密码、删号,控制台可用 - 等待区世界可配(`auth.spawn-world`),空值回退默认世界 - 补上换手、进食、剪羊毛、睡觉、拾取、背包点击六处锁,事件锁从 12 个增至 **20** 个 ### 升级到 1.0.1 注意 1. **说话方式变了**:默认 `/登录` 后按提示在聊天框输密码。想恢复旧的 `/登录 <密码>`,设 `auth.allow-command-password: true`(不建议)。 2. 老 `auth.yml` 不用动,哈希自动迁移。 3. 如果之前手工改过 `config.yml`,新增键不会被覆盖,缺失的会自动补默认值。 4. 插件的 `pending-inv/` 目录请随 `auth.yml` 一起备份。 ### 验证 32 项离线回归断言全过(注册/校验/冷却/改密/删号/旧哈希迁移/畸形记录拒绝/重启持久化/配置键对账),20 个监听器逐一反射核对。 [/MD]
后退
顶部 底部