热备份与热还原
热流程用于世界仍在运行、关键文件可能被占用的场景。它依赖文件占用检测、KnotLink、联动模组和一组有上限的等待时间,因此是“尽力而为”的协同层,不是对所有锁定或通信故障的保证。
默认热键
默认全局热键为:
Alt+Ctrl+S:备份当前检测到的活动世界。Alt+Ctrl+Z:把活动世界还原到最新备份。
热键可以在设置中重新绑定。如果当前桌面会话不支持全局热键,程序会显示能力状态和诊断;这不应影响普通备份和还原。
热备份流程
当程序检测到 level.dat 等世界文件被占用,或用户明确触发热备份时,流程会尝试:
- 与联动模组握手并检查版本。
- 请求世界保存,并等待
WORLD_SAVED。 - 在安全窗口中执行普通备份,必要时使用快照目录。
- 完成后解除联动侧的等待或冻结状态。
如果握手、保存确认或版本检查失败,MineBackup 可能退回直接快照或普通备份。回退结果仍需检查日志,不要把“任务结束”当成“游戏状态已完全协调”。
热还原流程
热还原会改变当前正在使用的世界,步骤比热备份更危险:
- 握手并检查联动模组版本。
- 发送保存并退出请求,等待
WORLD_SAVE_AND_EXIT_COMPLETE。 - 等待世界目录和
level.dat释放。 - 还原最新归档或指定归档。
- 发送还原完成状态。
- 请求模组重进世界,并等待
REJOIN_RESULT。
程序使用状态机防止同一时间重复执行热还原。另一个请求在流程未回到空闲状态前可能会被忽略。
使用前提与限制
- 必须存在可识别的活动世界和可用归档。
- MineBackup-Mod 至少需要
3.0.0;旧版本不能参与完整热流程。 - KnotLinkService 需要使用 MineBackup 支持的版本,服务端和端口边界见 KnotLink v2 联动。
- 运行中的外部自定义归档不能自动视为安全热还原输入。
- 热还原失败时,先确认世界是否已经退出、文件是否释放,再决定是否改用普通还原。
第一次演练
- 创建测试世界并保留独立 Full 归档。
- 先测试退出游戏后的普通备份和还原。
- 再测试
Alt+Ctrl+S热备份。 - 列出历史并确认最新归档后,再测试
Alt+Ctrl+Z。 - 检查重进结果、世界状态和日志。
任何阶段超时都不要连续重复触发。先退回普通备份/还原路径,确认基础链路正常后再排查联动。