Repository navigation
Releases: lmxdg/ZeroLogin
Releases · lmxdg/ZeroLogin
Release list
ZeroLogin 1.1.0
ZeroLogin v1.1.0 —— SQLite 存储后端与多语言系统
本版本在保持「单个 JAR 兼容 Minecraft 1.20 ~ 26.1.2」的前提下,引入 SQLite 账号存储、双后端数据迁移与 7 种界面语言。
新增功能
SQLite 存储后端(默认)
- 账号数据默认存入单文件数据库
plugins/ZeroLogin/zerologin.db,备份只需复制一个文件 - WAL 日志模式 +
busy_timeout,读写并发更好,注册/登录高峰不阻塞读取 - 所有 SQL 在专用 IO 线程上串行执行(
CompletableFuture回调),不阻塞服务端主线程 sqlite-jdbc驱动打包内联并 relocate 到dev.zerologin.libs.sqlite,不依赖服务端环境、不与其他插件冲突uuid主键 +name_lc唯一索引:玩家改名不丢数据、大小写不敏感命中- 单行更新(
INSERT ... ON CONFLICT DO UPDATE)、批量迁移单事务、启动时PRAGMA integrity_check自检
双后端与数据迁移
storage.type可在sqlite/file(v1.0 后端)之间切换,两种后端均受支持- 新增
/zerologin migrate <from> <to> [force]:异步、非破坏式迁移;目标后端非空时中止,force前自动导出文本备份到backups/migrate-<时间戳>/ - v1.0 升级零操作:首次以 SQLite 启动且数据库为空时,自动导入
accounts/下旧账号(可用storage.sqlite.import-file: false关闭)
多语言系统
- 内置 7 种语言:
zh_cn/zh_tw/en_us/ja_jp/ko_kr/ru_ru/es_es language: auto:每位玩家按其客户端语言(Player#getLocale())收到提示,互不影响;控制台回退en_us- 语言标签前缀归一化(
zh_TW/zh_HK/zh_hant→zh_tw等) - 新增
/zerologin lang-template <lang>:导出内置消息模板,便于社区翻译新语言
管理命令扩展
/zerologin子命令从 3 个扩展到 5 个:reload/info/stats/migrate/lang-template,含 Tab 补全/zerologin info显示版本、兼容区间、存储后端与当前语言;/zerologin stats显示注册账号数与在线已认证人数
配置变更
- 新增
storage.type、storage.sqlite.file、storage.sqlite.import-file language默认值改为auto(原为固定语言)- 旧
config.yml缺失的键按默认值处理,v1.0 配置可直接沿用
兼容性与验证
- 依旧单个 JAR 兼容 Minecraft 1.20 ~ 26.1.2(Paper / Spigot),编译目标 Java 17
- 通过 1.20.1 / 1.20.2 / 1.21.11 / 26.1.2 四组 API 编译门禁
- 单元测试从 21 个增加到 43 个,新增 SQLite 存储与后端间迁移的覆盖
升级指南
- 停止服务端,备份
plugins/ZeroLogin/ - 用
ZeroLogin-1.1.0.jar替换旧 JAR(注意:JAR 因内联 SQLite 驱动约扩大到 14 MB) - 启动服务端,观察控制台是否输出账号自动导入日志
- 详见 README「数据迁移」章节
全量提交对比:v1.0.0...v1.1.0
ZeroLogin 1.0
ZeroLogin 1.0
新一代轻量级 Minecraft 登录插件,单 JAR 兼容 Minecraft 1.20 ~ 26.1.2。
兼容性
- 单 JAR 覆盖 1.20(Java 17)至 26.1.2(Java 25),编译目标 Java 17(字节码 major 61)
- 仅使用 1.20 与 26.x 共有的 Bukkit API 交集
- 已在 Paper 26.1.2(Java 25)实机加载并启用验证通过
功能
- PBKDF2-HMAC-SHA256 加盐口令散列(零外部依赖,常量时间比较)
- 自包含文件存储后端(每账号一文件,玩家改名安全)
- 命令:
/register/login/unregister/changepassword/ip/zerologin - 未认证保护:冻结移动,拦截命令 / 聊天 / 破坏 / 放置 / 伤害 / 背包 / 丢弃
- 登录超时踢出、密码错误次数限制、IP 自动登录、会话恢复
- 中英文消息与权限体系,管理命令与统计
质量
- 21 个单元测试全部通过
- 双向 API 编译门禁:
mvn package(对齐 1.20.1)与mvn -Papi-latest package(对齐 26.1.2)均通过
下载
ZeroLogin1.0.jar— 放入服务端plugins/目录即可
安装
- 下载
ZeroLogin1.0.jar - 放入
plugins/并重启服务端 - 首次启动后按需编辑
plugins/ZeroLogin/config.yml