- 版权类型
- 原创
- 插件中文名称
- KKCraft-AutoLoginAuthme - Authme自动登录
- 插件英文名称
- AutoLoginAuthme
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
AutoLoginAuthme
基于 AuthMe 的智能自动登录插件 | MySQL + HikariCP 高性能存储
前言
本插件为 KKCraft 自用的自动登录插件,现 KKCraft 已永久关闭。发布此插件,希望能帮助一些有需要的人,为社区做贡献。后续将发布更多 KKCraft 相关的插件以及源码。
本人将不再开服,非插件问题请勿联系。
⚙ 工作流程
- 首次登录 — 玩家进服,通过 AuthMe 正常输入密码登录
- 记录凭证 — 登录成功后,插件将玩家的 IP 地址 + 客户端指纹(Client Brand)记录到 MySQL 数据库
- IP 地址是否与上次一致(支持 IPv6 归一化比较)
- 客户端指纹是否与上次一致(防止不同客户端冒用)
- 会话是否在有效期内(默认 60 分钟,跨越自然日零点自动失效)
- 若玩家为 OP,默认拒绝自动登录(可配置)
验证通过 — 调用 AuthMe API 自动完成登录,无需再次输入密码
验证失败 — 清除该玩家的会话记录,要求重新手动登录
安全机制
- 零密码存储:插件不保存任何密码信息,仅记录 IP、客户端指纹和时间戳,密码验证完全由 AuthMe 负责
- 双因素验证:同时校验 IP 地址 + 客户端指纹(Brand),仅 IP 相同不足以触发自动登录
- OP 保护:默认禁止管理员自动登录,防止物理设备被他人操作导致权限滥用
- 跨日失效:无论有效期设置多长,跨越自然日零点(00:00)会话自动作废,缩小风险窗口
- 环境变更告警:当 IP 或客户端指纹变化时,自动清除会话并提醒玩家,防止账号被劫持
- 本地回环拒绝:IP 为 127.0.0.1 时直接跳过自动登录,防止本地代理绕过验证
- 玩家名校验:正则过滤玩家名(仅允许 a-z、0-9、下划线,最长16位),防止路径遍历等注入攻击
- 数据库存储:MySQL + HikariCP 高性能连接池,数据集中管理,适合多服/群组环境
性能优化
- HikariCP 连接池 — 高并发下数据库访问稳定高效,支持自定义连接池大小、超时时间等参数
- LRU 内存缓存 — 热点玩家数据缓存在内存中,减少数据库查询,缓存容量和过期时间可配置
- 异步数据库操作 — 会话保存在异步线程中执行,不阻塞主线程,零 TPS 影响
- 内存监控 — 内置自动内存监控,堆内存超过阈值时自动清理缓存,防止 OOM
命令
- /autologin reload — 重载配置
- /autologin lookup <玩家> — 查看玩家会话信息(IP 脱敏显示)
- /autologin remove <玩家> — 删除玩家自动登录数据
- /autologin status — 查看缓存统计和连接池状态
依赖
- AuthMe 5.6.0+(必须)
- MySQL 数据库
🛡 安全检测
插件无后门无病毒,VirusTotal 安全审核结果: https://www.virustotal.com/gui/file...763ae1dcfa7e6251a73aae78e457d00e72f?nocache=1
交流反馈
插件交流群:908213883有问题群内反馈,将会很快得到回复解决问题。