更好的存档

更好的存档

BetterSaves 是《杀戮尖塔2》的一个模组,能够保持原版游戏存档与模组存档同步,并支持Steam云存档和多人游戏存档同步。

杂项

描述

BetterSaves 让《杀戮尖塔2》的原版与模组存档保持互通。它提供可选的同步范围、受保护的首同步流程,以及经过验证的游戏内备份与恢复工具。

安装说明

如果你曾使用过 v0.3.0 以下版本的 BetterSaves,并希望切换到 v0.3.0 或更高版本,请在启动游戏前前往 %AppData%/SlayTheSpire2/mods/BetterSaves 目录删除配置文件,以备份当前所有存档。

亮点

  • 原版/模组存档双向同步
  • 四种同步模式,包括完全退出选项
  • 当 BetterSaves 是唯一启用的模组时,提供原版兼容模式
  • 受保护的首同步,并自动创建本地安全快照
  • 一键备份、SHA-256 校验、精确双向恢复及备份删除
  • 配置文件界面指示当前正在使用的存档端

安装或更新

  1. 下载 BetterSaves

  2. 将压缩包解压到游戏的 mods 目录中。

  3. 确认最终目录结构如下:

    Slay the Spire 2/
    └─ mods/
       └─ BetterSaves/
          ├─ BetterSaves.dll
          ├─ BetterSaves.json
          └─ BetterSaves.pck
    
  4. 正常启动游戏。

更新时,请替换游戏侧的 BetterSaves 文件夹。配置和备份存储在游戏目录之外,替换模组文件不会将其移除。

同步模式

在模组设置界面中,通过 BetterSaves 行更改模式。

模式 同步内容
Sync Off 禁用 BetterSaves 的复制、删除、监视、启动协调和首同步提示。新存档仅保留在当前游戏使用的一侧。
Save Only 同步受支持的进行中的单人游戏运行文件。
Data Only 同步进度、时间线、发现和运行历史,但不包括进行中的运行文件。
Full Sync 同时同步受支持的运行文件和配置文件数据。

模式更改会立即生效。要在选择 Sync Off 前保持两侧一致,请在主菜单保存,并等待当前同步完成。

当仅启用 BetterSaves 时,游戏使用原版存档路径。当启用游戏模组时,则使用模组存档路径。

首次同步

BetterSaves 首次管理现有配置文件时,会在询问保留哪个存档之前创建本地安全备份:

  • Keep Vanilla (Overwrite Modded) 保留原版存档并将其复制到模组端。
  • Keep Modded (Overwrite Vanilla) 保留模组存档并将其复制到原版端。
  • Decide Later 在当前会话中不进行任何更改,并在下次启动时再次询问。

所选源文件仅在文件复制完成且游戏成功重新加载该配置文件后,才视为完整。Steam 云镜像写入会延迟到重新加载成功后再进行。

如果所选源文件包含的数据明显少于另一端,首次点击时会显示警告。仅在有意覆盖时,再次点击同一选项。

如果无法创建安全备份,BetterSaves 将阻止导入,而不会修改任一存档端。如果配置文件重新加载或自动回滚失败,保护状态将在重启后持续存在,并显示恢复备份路径。

备份与恢复

BetterSaves Save Backups 行直接出现在同步模式设置下方。

  • Back Up Now 为当前 Steam 账户和配置文件快照原版与模组目录。
  • Restore Backup 可从主菜单使用,列出手动备份、恢复前安全备份以及兼容的首同步备份。
  • 每次正常恢复都会创建恢复前安全备份,精确替换两个配置文件目录,验证结果,并在同步恢复前重新加载配置文件。
  • 每个账户/配置文件保留最近三个恢复前安全备份。手动备份和首同步备份不会自动清理。
  • 保护首同步或失败恢复的备份不可删除。
  • 如果恢复或回滚被中断,BetterSaves 会暂停自动同步,并将恢复锁定到记录的安全备份。
  • 如果存在多个本地账户文件夹,无法安全匹配当前 Steam 账户时,BetterSaves 将拒绝操作,而不是猜测。

手动配置文件备份有意排除账户级的 profile.savesettings.save。因此,恢复一个配置文件不会替换另一个配置文件、所选槽位、全局设置或其他 Steam 账户。

Sync Off 选择时,恢复功能仍然有效,并且不会更改所选的同步模式。

数据位置

BetterSaves 将其配置和备份存储在操作系统的应用程序数据目录下:

系统 BetterSaves 数据目录
Windows %AppData%/SlayTheSpire2/mods/BetterSaves/
Linux ${XDG_CONFIG_HOME:-~/.config}/SlayTheSpire2/mods/BetterSaves/
macOS ~/Library/Application Support/SlayTheSpire2/mods/BetterSaves/

Windows 和 Linux 是当前发布目标。macOS 路径记录了代码使用的应用程序数据布局,但目前未验证 macOS 运行时兼容性。

重要路径:

config.json
backups/manual/
backups/first-sync-<timestamp>/

完成的首同步备份包含 backup-complete.json;手动备份和恢复前备份包含 manual-backup.json

Steam 云与兼容性

  • BetterSaves 在本地同步或恢复成功后,可根据所选同步模式上传镜像文件。
  • BetterSaves 有意不删除 Steam 云文件。这可以保护其他设备,但意味着恢复后的本地备份中缺少的远程文件可能会在稍后重新出现。
  • Steam 云启动时机可能导致更改在其他设备上延迟显示。请在共享同一存档的所有安装上使用相同的 BetterSaves 版本。
  • 多人游戏当前运行的互操作性不如单人游戏可预测,因为原版和模组会话可能使用不同的本地玩家标识符。
  • 《杀戮尖塔2》更新可能更改模组使用的内部游戏方法。游戏更新后,请安装最新的 BetterSaves 版本。

Linux 运行时错误

如果启动时出现 Harmony 或 mm-exhelper.so 错误,提及 _Unwind_RaiseException,请确保 libgcc-s1libstdc++6libunwind8 对游戏进程可见。

NixOS 或 Flatpak 等沙盒 Steam 安装可能需要在 Steam 启动选项中包含库:

LD_PRELOAD+=":/path/to/libgcc_s.so.1" %command%

使用 nix-ld 的 NixOS 通常使用:

LD_PRELOAD+=":/run/current-system/sw/share/nix-ld/lib/libgcc_s.so.1" %command%

恢复检查清单

如果 BetterSaves 报告首同步或恢复受阻:

  1. 不要删除或覆盖显示的备份目录。
  2. 返回主菜单,打开 Restore Backup
  3. 恢复恢复警告中选择的备份。
  4. 保持游戏打开,直到配置文件重新加载完成。
  5. 如果游戏内恢复不可用,请先复制数据目录,再进行手动修复,并在报告问题时附上最新的游戏日志。

要求

如果你在使用此模组时遇到任何问题,欢迎立即向我反馈! 如果你仍然遇到存档丢失的问题,请提交当前日志文件以帮助我修复此问题。

致谢