【V-20260801-8 版本已上线】
云存档服务器连接异常报错
【V-20260731-3 版本已上线】
- **修复航线数据丢失**
- 原存档没有保存 `edges`,读档后可能导致寻路、舰队调动异常。
- 现在保存并恢复航线,同时重建邻接缓存。
- 位置:`scripts/data/World.lua:2940`、`scripts/data/World.lua:3521`
- **改为紧凑 `cjson` 序列化**
- 删除原来 Lua 层递归拼接、缩进和空白。
- 减少存档体积、临时字符串和 GC 压力。
- 位置:`scripts/data/World.lua:2816`
- 测试生成的完整新存档约 **49 KB**。
- **精简持久化内容**
- 统一通过 `BuildSaveData()` 生成存档。
- 不再保存账号设置、日志、云请求状态、UI 状态、邻接缓存等运行时内容。
- 本地和云端共用同一份精简数据结构,避免两套字段逐渐不一致。
- 位置:`scripts/data/World.lua:3521`
- **原子化本地存档**
- 新数据先写入 `save_game.pending.json`。
- 完整回读校验后,才轮换旧主档并提交新主档。
- 文件轮换使用 `Rename`,不再重复写整份旧存档。
- 位置:`scripts/data/World.lua:3448`
- **加强损坏存档校验**
- 不再只判断 JSON 能否解析。
- 现在验证 `systems`、`homeSystem`、`currentSystem` 等核心恢复数据。
- 位置:`scripts/data/World.lua:3420`
- **三级本地恢复**
1. 主存档
2. 上一份有效快照
3. 已完整写入但尚未提交的临时快照
- 位置:`scripts/data/World.lua:3501`
- **降低自动存档卡顿**
- 本地自动存档由每 10 秒改为每 30 秒。
- 云端自动备份改为每 5 分钟。
- 避免每 10 秒进行完整 JSON 编码、本地双写和云端请求。
- **后台与退出时优先保障本地档**
- 切后台和退出时只执行同步本地提交。
- 不再依赖来不及完成的异步云端请求。
- 位置:`scripts/game/Game.lua:867`、`scripts/game/Game.lua:958`
【V-20260731-2 版本已上线】
移除了移动端右下角原有的圆形本地存档按钮。
将右下角日期区域替换为云端存档按钮,显示:
点击立即备份提示;
最近云端备份时间;
当前游戏星历。
点击该区域会调用云端存档;上传期间按钮显示“云端存档保存中…”,避免重复触发。
云端备份区域新增:
最近云端备份:YYYY-MM-DD HH:MM
没有可用快照时显示“暂无可用云端备份”。
手动备份完成后显示“云端存档已保存”;失败则显示具体失败原因。
点击“备份至云端”后会显示全屏阻塞提示:
正在保存存档
正在写入主云档与备用云档,请不要离开。
保存结束后自动关闭。
弹窗出现期间会拦截设置页点击、拖动和滚动,也会阻止返回键离开设置页面,避免保存中断。
已修复设置界面的重复“运行请求日志”按钮。
删除了上方重复区块。
保留云端备份区块下方的日志导出入口。
云端备份区已上移,避免留下空白。
已修复“实际上传成功,但界面显示云端连接异常”的误报。
原因是上传前读取旧主云档时,平台可能在成功回调后又补发 timeout 或 error 回调。旧逻辑会重复推进上传流程,后续回调可能覆盖已经成功的云端状态。
现在:
每次手动/自动上传的预读取流程只允许完成一次。
成功提交后,后续重复的 error / timeout 回调会被忽略。
上传最终结果也只会结算一次,成功后不会再被旧回调改为异常。
保持原有的双云档主档/备用档策略不变。
已修复开始界面把已上传云档误显示为“不可用”的判定问题。
原因是云端 API 返回的存档值可能已经被自动解码为 Lua table,但原来的存档摘要、缓存和加载流程只接受 JSON 字符串,因此会把有效云档当成空值。
现在已统一处理:
云端返回 table 时自动重新序列化为快照 JSON。
该兼容逻辑覆盖云档摘要、缓存、恢复和加载路径。
开始界面上传中会显示“正在查询云端备份…”,不再直接显示不可用。
云端网络请求失败时会明确显示“云端查询失败,请稍后重试”,不再和“没有云端备份”混淆。
放宽了旧版本星系 ID 的摘要校验,避免旧档因 ID 结构差异被误判无效;仍保留空星系图、明显残缺档的拦截。
云档不再仅检查“能否解析 JSON”,还会验证:
星系数据非空;
当前星系与母星存在;
星系图至少包含基本完整的数据。
避免把空档、半写入档或异常结构误判为有效存档。
若主云档无效、备用云档有效:
自动选择备用云档;
自动将备用档写回主云档;
备用档继续保留,不会先被清空。
手动加载云档时,主档应用失败也会自动切换备用档并修复主档。
自动存档现在总是从当前内存重新生成云端快照上传,不再依赖可能写入失败、过大或过旧的本地文件。
进入战斗、切后台、退出游戏等关键时点也改为请求双云档保存,而不是只写本地。
【V-20260731-1 版本已上线】
现在点击开始界面的“本地存档”不会立即读档,而是先弹出风险确认:
本地存档存在丢失风险,建议优先使用云端存档。
是否仍要加载本地存档?
弹窗提供:
取消:关闭提示,停留在开始界面。
仍要加载:确认后才执行本地读档。
快捷键 Enter / Space 触发的本地优先加载同样会走这层确认。