存档救援 SaveRescue - restore your empty modded save 预览图

杀戮尖塔 2 (Slay the Spire 2)

存档救援 SaveRescue - restore your empty modded save

最后更新 2026/11/02文件 10.4 KBID 3831680718

模组简介

取消订阅那个"合并存档"的 mod 之后,你的存档并没有消失 —— 它在另一个文件夹里。 《杀戮尖塔 2》把存档分成 两套完全独立的目录 : • 原版 (没装 mod 时用)—— profile1\saves\progress.save • Mod 版 (装了 mod 时用)—— modded\profile1\saves\progress.save 很多人(包括我)装过那个"合并存档"的 mod(SavesMerger / UnifiedSavePath,创意工坊 id 3747532120),它的作用是让两套路径指向同一批文件,这样玩原版和玩 mod 的进度是共享的。 但从 2026 年 7 月起,官方在测试版给 GetProfileDir 加了一个重载,那个 mod 用的是按名字匹配的 Harmony patch,于是每次启动都抛 HarmonyException: Ambiguous match for GetProfileDir 。 • 这个报错 不影响游戏运行 (Harmony 在抛错前已经把该打的补丁打上了,路径其实仍然是合一的) • 但你一旦 取消订阅 它,游戏就会回到真正的 modded 目录 —— 而那里放的,还是你当初第一次装 mod 时自动生成的 空存档 • 于是你看到的是一个全新角色、零进度、零解锁的界面 官方的"首次装载 mod 时复制原版存档"永远不会再跑第二次。 它判断的依据是 modded 目录存不存在 —— 只要目录在(它当然在),就打出 "Modded saves exist. Skipping first-time save copy" 然后跳过。你的真实进度好端端地躺在隔壁文件夹里,但游戏不会自己去拿。 这个 mod 做什么 在游戏读取存档 之前 (也就是 ModInitializer 阶段,早于云同步),检查一次 modded 目录: • 如果 modded 的 progress.save 是空档(游玩时长、通关层数、解锁数全是 0)—— • 而原版的 progress.save 有真实数据 —— • 就把原版复制过去, 并且同时写进 Steam 云 (这一步很关键,否则紧接着的云同步会拿云端的空档再盖回来,实测确认过) 你原来那份空档会保留成 progress.save.saverescue-backup ,不会丢。 其余情况它什么都不做: 存档正常时是空操作;没装过 mod 的玩家是空操作;每次启动都只检查一次,不做任何常驻修改。 它故意不做什么 • 不用 Harmony。 一行补丁都没有,全部走反射,所以游戏以后再加方法、改签名,它也不会像旧 mod 那样抛 AmbiguousMatchException。这是这个 mod 存在的核心理由。 • 不复制 history 目录。 游戏判断"云端有没有这个文件"靠的是 Steam 已登记的文件清单,手工塞进云目录的 history\*.run 不在清单里,游戏会一条条删掉本地副本(实测删了 302 个)。而且 progress.save 里本来就包含全部进度、解锁和统计,history 只是对局回放列表。 • 不做永久重定向。 你的 modded 存档一旦有真实数据,它就彻底变成空操作。它不会把两个文件夹长期绑在一起,所以你也不会像旧 mod 那样被锁死。 使用要求 只要本体游戏,无任何前置 mod、无框架依赖。正式版和测试版(public-beta)都能用。 什么时候帮不上忙 如果 两套存档都是空的 ,或者你取消订阅之后又在新存档上玩了一阵(等于把空档也"用"了),那就没有可以复制过来的源数据了 —— 这种情况只能从备份恢复。建议检查: • %APPDATA%\SlayTheSpire2\steam\<你的SteamID64>\profile1\saves\ • 同目录下的 .backup 文件 • Steam 云本地缓存 <Steam>\userdata\<账号ID>\2868840\remote\ 如果它跑了但没生效,日志会告诉你原因:打开 %APPDATA%\SlayTheSpire2\logs\godot.log ,搜 ,会看到 nothing to repair (无事可做)或者 profile1: modded save is empty, restoring from the unmodded save (已修复)之类的记录。 完全不用 mod 的手动解决方案 如果你不想装 mod,自己动手也行:先 彻底关闭游戏和 Steam ,然后把 profile1\saves\progress.save 和 prefs.save 复制到 modded\profile1\saves\ ,下面两个位置都要放: • %APPDATA%\SlayTheSpire2\steam\<SteamID64>\ • <Steam安装目录>\userdata\<账号ID>\2868840\remote\ 千万不要复制 history\ 目录 (原因见上)。改完从 Steam 启动游戏,让云端看到新文件。 English Your modded save is not gone — it's in the other folder. Slay the Spire 2 keeps two separate save sets: profile1\saves\progress.save (vanilla) and modded\profile1\saves\progress.save (modded). Many of us installed SavesMerger / UnifiedSavePath (workshop id 3747532120) to make both point at the same files. That mod uses a name-only Harmony patch, and after the beta added a GetProfileDir overload it throws HarmonyException: Ambiguous match on every launch. The error does not break the game — but once you unsubscribe, the game falls back to the real modded folder, which still holds the empty save created the first time you ever loaded a mod. The game's first-time copy never runs again. It only checks whether the modded folder exists; it does, so it logs "Modded saves exist. Skipping first-time save copy" and moves on. What this mod does On launch, before the game reads its saves, it checks the modded profile. If that progress.save is blank (no playtime, no floors, no unlocks) while the unmodded one is not, it copies the unmodded save over — locally and into Steam Cloud, so the sync a second later does not overwrite it with the empty file again. Your old blank file is kept as progress.save.saverescue-backup . Otherwise it does nothing at all. What it deliberately does NOT do • No Harmony patches. It does not touch a single game method, so it will not break with AmbiguousMatchException when the game adds an overload. • No run-history copying. The game decides whether a cloud file exists by asking Steam for its registered file list; files dropped in by hand are not in it, so the game deletes the local copies one by one. progress.save already carries all progress, unlocks and stats. • No permanent redirect. Once your modded save has real data this mod is a no-op, and it never re-links the two folders. Requirements Base game only. No dependencies, no framework mods. Works on the main branch and on public-beta. When it will not help If both folders are empty, or if you already played on and overwrote the blank modded save, there is nothing to restore from. Check %APPDATA%\SlayTheSpire2\steam\<yourSteamId64>\profile1\saves\ and the .backup files next to it. The log at %APPDATA%\SlayTheSpire2\logs\godot.log explains what happened — search for . Manual alternative (no mod at all) Close the game and Steam, then copy profile1\saves\progress.save and prefs.save into modded\profile1\saves\ in both %APPDATA%\SlayTheSpire2\steam\<id64>\ and <Steam>\userdata\<accountId>\2868840\remote\ . Do not copy history\ . Start the game through Steam so the cloud sees the new files.

详情图片

条目信息

所属游戏
杀戮尖塔 2 (Slay the Spire 2)
创意工坊 ID
3831680718
文件名
3831680718.bin
文件大小
10.4 KB
最后更新
2026/11/02
内容版本
v1793579060-2661491c2bd333f5
作者与来源
由原作者发布于 Steam 创意工坊。本站不改变署名,作者信息与原始内容请以 Steam 原始页面 为准。