外观
💾 自动保存与备份恢复
保存与备份不是同一件事
保存更新当前主存档;备份保留历史记录。主存档保存成功,不代表留下了可以回滚的历史。
默认独立定时自动保存关闭,世界保存触发玩家保存开启;历史备份默认关闭。
建议配置
下面是在生成配置中修改的片段,不要整段替换其他配置。
yaml
# 独立定时保存,默认关闭;6000 tick 在 20 TPS 时为 5 分钟。
auto-save:
enable: true
time: 6000
# 世界保存时保存玩家,默认 true。
world-save-player-data: true
backup:
# 默认 false;开启后才可创建历史备份。
enabled: true
# 默认 true;退出时创建备份。
on-disconnect: true
# 默认 false;按磁盘与数据库容量决定是否启用。
on-auto-save: true
on-world-save: false
# 默认 true;背包和末影箱都为空时跳过,不是完整的数据异常识别。
skip-empty: true
retention:
# 最近保留数量,默认 10。
latest: 10
# 日/周/月层级保留窗口,单位分别为天、周、月;0 关闭对应层级。
daily: 7
weekly: 4
monthly: 3默认数值只是模板,不是所有规模都适合。增加频率与保留窗口会增加存储;观察数据量后调整。tick 定时在低 TPS 时实际周期会变长。
创建与预览
由有权限的玩家执行:
text
/invsync backup 测试玩家
/invsync restore 测试玩家需要 invsync.command,分别还需要 invsync.backup 或 invsync.restore。手动创建的目标必须在执行命令的子服在线。
恢复界面:左键预览背包,右键预览末影箱,Shift+左键进入恢复确认。
安全恢复步骤
恢复不是“补回一个物品”
当前恢复应用快照中的同步字段,可能同时回滚经验、进度、扩展数据等;没有分项恢复、恢复前自动保护或自动扣除世界掉落物的保证。不能把同一备份反复补发。
- 记录玩家、异常时间和希望恢复的内容。
- 让目标玩家从整个网络退出,并防止其在操作期间重新登录。
- 备份当前数据库,保存恢复前证据;必要时在玩家下线前手动创建当前快照。
- 预览历史内容,确认选对玩家和时间。
- 仅在一台子服执行一次恢复,检查日志和存储结果后让玩家进入验证。
如果玩家在另一子服在线,本服的在线查询不代表全网离线,禁止直接按离线恢复。界面提示成功也不能代替持久化核对;当前恢复入口不完整等待内部保存 Future,遇到错误保留日志,不重复点击。
独立备份
定期备份数据库、各服世界及玩家目录。内置分层记录只保护部分玩家数据,不保护数据库损坏、误删整个库或世界回档。升级前测试完整还原流程。