Skip to content

BetterAutoSave v0.16.1 — Forge 1.20.1 / NeoForge 1.21.1 异步存档优化

Choose a tag to compare

@github-actions github-actions released this 30 Jun 23:37
· 51 commits to main since this release
caa5887

v0.16.1 — entity 终态接力修复 + NeoForge 1.21.1 随版发布

0.16.1 是一个数据安全热修:补齐 entity 存盘在 IO 重试耗尽这一终态路径上唯一漏接力的分支,杜绝实体卸载期的最新增量在持续写盘失败时被静默丢弃。同时 NeoForge 1.21.1 经双端真机回归后随本版正式发布,与 Forge 1.20.1 并行维护

修了什么

entity 存盘有四条「在飞碰撞后把最新实体列表接力落盘」的路径,此前只有 IO 重试耗尽(FAILED_TERMINAL)这一条在取出待接力快照后直接丢弃,而非像其余三条那样重投。触发场景:某坐标实体在卸载瞬间被改写、其首代写盘连续失败到耗尽重试预算、且更新代已登记为待接力——此时实体已被原版驱逐出内存、entity 路径又无坐标恢复队列兜底,这份最新增量(命名生物、盔甲架、展示框等)会永久静默丢失

本版让该终态分支与区块侧 handleTerminalFailure 完全对称:待接力快照存在时重投一次,沿用已耗尽的重试预算保证一步级联收敛、不在持续 IO 故障下无限接力;无快照可投时才记 ERROR 收尾。Forge 与 NeoForge 两端逐字节同构修复

NeoForge 1.21.1 随版发布

NeoForge 1.21.1 此前因未做真机回归而未随版发布。本版前对两端做了真机端到端验证(Forge 1.20.1 测试服与 NeoForge 1.21.1 服务端:加载、存盘、entity 计数、关服 drain 均清白),故 0.16.1 起 NeoForge 1.21.1 与 Forge 1.20.1 一同发布。NeoForge 端不含异步区块加载(该功能仅 Forge)

验证

  • entity 终态接力落盘 + 接力再败一步收敛,新增两项回归单测,两端测试套件全绿
  • 双端真机端到端:worker 全部干净 drain(97ms / 90ms),entity 路径零失败、无 gauge 泄漏

升级

  • 替换 jar 即可,无配置变更
  • 跑高卸载量(大型农场、刷怪塔、频繁传送)且实体密集的服务器:建议升级