STS2Saves

STS2Saves

允许你管理和操作《杀戮尖塔2》的游戏存档。

杂项

来源:https://github.com/nyaoouo/sts-2-saves

STS2Saves

STS2Saves 是一个《杀戮尖塔2》模组,旨在让玩家更灵活地管理游戏存档。它会自动归档自动保存,让你可以从暂停菜单创建手动快照,并添加了一个浏览器界面,用于加载、备份和删除存档快照。

模组功能

  • 每当游戏保存进行中的进度时,捕获并归档自动保存。
  • 在暂停菜单中新增手动存档按钮。
  • 新增加载浏览器,让你可以恢复更早的快照,而非仅依赖游戏原本单一的当前进度存档。
  • 按游戏进程和存档类型(自动保存与手动存档)区分快照。
  • 允许将单个快照或整个归档存档导出到磁盘上的文件夹。
  • 在将快照恢复到当前存档之前,会创建回滚副本。
  • 支持单人游戏和多人游戏主机存档。

主要功能

1. 自动保存归档

当《杀戮尖塔2》写入当前进度存档时,STS2Saves 会将该存档复制到自己的归档中。

  • 单人游戏的自动保存会自动归档。
  • 多人游戏主机的自动保存默认会自动归档。
  • 自动保存会根据其所属的游戏进度进行分组。
  • 默认保留模式为每个游戏进度仅保留最近 10 个自动保存。

2. 手动存档快照

在游戏过程中,暂停菜单会新增两个操作:

  • 保存:为当前游戏进度创建一个手动快照。
  • 加载:打开当前模式的存档浏览器。

在进行危险事件、精英怪战斗、首领战斗或路线变更之前,手动快照非常有用。

3. 存档浏览器

存档浏览器是管理归档存档的主要界面。

你可以通过以下方式打开它:

  • 主菜单中的继续按钮(用于单人游戏归档存档)。
  • 多人游戏中的加载流程(用于多人游戏归档存档)。
  • 游戏中暂停菜单的加载按钮。

在浏览器中,你可以:

  • 浏览归档的存档。
  • 展开一个存档以查看自动手动保存组。
  • 在右侧面板中查看存档详情。
  • 加载选定的快照。
  • 备份选定的快照。
  • 备份整个存档。
  • 删除选定的快照。
  • 删除整个归档存档。

4. 安全恢复与回滚

当你恢复快照时,模组会首先为当前活动的存档文件创建回滚副本(如果存在)。之后,它会将选定的归档快照写回游戏的活动存档位置。

这为你提供了安全保障,以防你恢复错误的快照或想检查被替换的内容。

5. 导出 / 备份

备份操作会将文件导出到磁盘上的普通文件夹。

  • 备份单个快照会导出.save文件及其元数据.json文件。
  • 备份整个存档会导出整个归档文件夹。

这对于分享测试状态、在清理前保留存档或在不同设备间转移存档非常有用。

安装

选项 1:安装预构建版本

如果你已有构建好的发布压缩包,请将其解压到你的《杀戮尖塔2》mods文件夹中,使模组清单文件和 DLL 文件位于如下目录结构中:

Slay the Spire 2/
  mods/
    STS2Saves/
      STS2Saves.dll
      STS2Saves.json

选项 2:从源代码构建

本项目面向 Godot .NET,并直接引用你本地《杀戮尖塔2》安装目录中的游戏 DLL 文件。

构建命令:

dotnet build D:\Games\SteamLibrary\steamapps\common\Slay the Spire 2\tools\sts-2-saves\STS2Saves.csproj

项目已配置为:

  • 构建 DLL 文件。
  • 将模组复制到本地《杀戮尖塔2》的 mods/STS2Saves/ 文件夹中。
  • 将压缩包打包到 dist/STS2Saves.zip

使用方法

创建手动存档

  1. 开始或继续一个游戏进度。
  2. 打开暂停菜单。
  3. 点击保存
  4. 一个手动快照将被添加到该游戏进度的归档中。

加载更早的快照

  1. 从主菜单、多人游戏加载流程或暂停菜单中打开存档浏览器。
  2. 选择你想要加载的存档。
  3. 展开自动手动保存列表。
  4. 选择快照。
  5. 点击加载

模组会将选定的快照恢复到活动存档位置,然后加载该进度。

导出备份

  1. 打开存档浏览器。
  2. 选择一个快照或整个存档。
  3. 点击备份
  4. 模组会在磁盘上创建一个导出文件夹。

删除旧存档

  1. 打开存档浏览器。
  2. 选择要删除的快照(仅删除该存档),或选择要删除的存档(删除整个存档)。
  3. 使用相应的删除操作。

存档存储布局

归档文件存储在《杀戮尖塔2》当前配置文件的路径下,位于模组自己的文件夹内。

逻辑布局如下:

<配置文件作用域路径>/nymod.saves/
  archive/
    singleplayer/
      runs/
      rollback/
      exports/
    multiplayer/
      runs/
      rollback/
      exports/
  config.json

说明:

  • runs/ 存储归档的自动保存和手动存档。
  • rollback/ 存储恢复前活动存档文件的副本。
  • exports/ 存储从浏览器中创建的快照或存档备份。
  • config.json 存储保留策略和行为设置。

配置

该模组目前没有游戏内设置界面。配置存储在 config.json 中,如果该文件不存在,则使用默认值。

当前设置:

  • autosave_retention_mode: AllCapLatest
  • autosave_cap_per_run: 使用 CapLatest 模式时保留的最大自动存档数量
  • capture_multiplayer_autosaves: 是否自动归档多人游戏主机存档
  • manual_names_include_sequence
  • confirm_run_deletion

示例:

{
  "schema_version": 1,
  "autosave_retention_mode": "CapLatest",
  "autosave_cap_per_run": 10,
  "capture_multiplayer_autosaves": true,
  "manual_names_include_sequence": true,
  "confirm_run_deletion": true
}

当前行为说明

  • 多人游戏的存档/加载操作面向主机,而非客户端。
  • 归档的存档与游戏当前活动的进度存档分开存储。
  • 本地化文本在运行时嵌入到 DLL 中,而非以独立的 JSON 文件形式提供。