[MD]
# BlockHideAndSeek 插件更新说明
## 🐛 BUG 修复
### 1. 世界备份问题
- **启动时未自动备份**:修复了服务器启动时游戏世界未自动备份的问题,现在世界加载完成后会自动创建备份
- **重载后未自动备份**:修复了执行 `/bhs reload` 后未自动备份的问题,现在会立即备份所有已启用的游戏世界
### 2. 游戏结束传送问题
- 修复了游戏结束后玩家未传送回大厅的问题
- 如果大厅世界不存在,会自动使用默认世界出生点作为备选位置
### 3. 世界重置循环问题
- 修复了手动上传备份后世界重置被重复执行的问题,该问题曾导致服务器严重卡顿(TPS 大幅降低)
- 每次重置之间至少有 30 秒冷却期,防止短时间内重复重置
- 修复了备份不存在时仍提示"重置完成"的误导性日志
- 修复了清理倒计时结束后清理逻辑被重复执行的问题
### 4. 倒计时消息刷屏
- 修复了"等待倒计时已重置"消息每秒重复打印的问题
- 消息发送频率限制为每 10 秒一次,避免日志刷屏
---
## ✨ 新增功能
### 1. 背包备份系统
- 玩家加入游戏时,当前背包物品会自动备份到文件
- 游戏结束后(包括主动离开游戏、退出服务器、插件关闭),背包会自动恢复
- 恢复后备份文件会自动删除,不占用服务器磁盘空间
- 支持完整备份:主背包、盔甲栏和副手物品
### 2. 管理员停止命令
新增三个管理员命令,用于不同场景下停止游戏:
| 命令 | 功能 | 适用场景 |
|------|------|---------|
| `/bhs forcestop` | 强制停止游戏逻辑 | 立即终止所有游戏操作,清零所有状态,恢复玩家背包并传送回大厅 |
| `/bhs gentlestop` | 缓和停止游戏 | 正常结束当前游戏(平局),告知所有玩家,恢复背包物品 |
| `/bhs forceshutdown` | 强制关闭插件 | 先执行强制停止,然后禁用插件 |
---
## 🛡️ 错误处理增强
- 所有游戏停止逻辑增加了异常保护,单个玩家处理失败不影响其他玩家
- 关键操作均添加了详细的日志记录,便于排查问题
- 增加了更多边界情况检查,防止空指针等异常导致插件崩溃
[/MD]