## 新增功能
- 新增 `/reslink status`,显示 MySQL、Redis、当前子服和迁移状态。
- 新增 MySQL 传送 Intent、失败记录、过期清理和目标服认领。
- Redis 改为可选增强,支持冷却广播、跨服提示和领地缓存失效通知。
- 新增 `server.yml`,独立保存本服 `server-id`,支持旧配置迁移和 reload 恢复。
- 新增可配置领地传送菜单,支持字符矩阵布局、分页、背景、关闭按钮、材质降级和 CustomModelData。
- 新增菜单物品防拿取保护,领地左键会复用原 `/res tp` 流程。
- 权限数量、等待时间和冷却时间改为服主自定义权限节点映射。
- 新增旧 `ResList`、`PlayerList` 表迁移和 schema 版本管理。
- 新增 Folia 玩家调度、Paper 异步传送和 Spigot 调度降级。
- 保留同一个 Universal 整包使用方式,并增加混淆版整包交付。
## 主要优化
- 从单体项目拆分为 8 个职责模块:核心、存储、Bukkit 通用层、Legacy、Modern、Bungee、Velocity、Universal。
- 数据库操作统一异步执行,GUI 和 PAPI 使用内存快照,不在热路径查询 MySQL。
- MySQL 成为领地、冷却和传送状态的权威来源,Redis 断开时主流程仍可运行。
- 旧版 `ScheduledExecutorService` 源码出现 4 处,重构版生产代码为 0 处,静态减少 100%。
- 旧版 `System.out` 源码出现 69 处,重构版生产代码为 0 处,静态减少 100%。
- 旧版 `DataInputStream` 代理解析出现 2 处,重构版为 0 处,静态减少 100%。
- 裸线程从 3 处减少到 1 处,减少约 66.7%;保留线程仅用于 Redis 阻塞订阅。
以上百分比是源码结构指标,不代表 TPS、CPU 或内存提升比例。
## 客户端表现
- 统一 Chat、ActionBar、Title、Subtitle 的富文本渲染。
- 1.16.5 以上使用 RGB,1.12.2 自动降级为传统颜色。
- 旧版已经存在 RGB 配置;2.0 主要改进为统一渲染、异常 fallback 和真实客户端验证。
- 默认消息改为蓝、黄、灰、黑的高对比配色。
- 领地菜单支持自定义标题、槽位、按钮、物品名称和 Lore。
- Lore 可显示领地名、所在子服、页码和操作提示。
- 菜单中的 Shift 点击、拖拽、热键和数字键无法移动或拿取物品。
- 本服和跨服领地都通过菜单进入同一套传送、权限、冷却和倒计时流程。