☰
艾尔登法环存档换电脑不认?ER-Save-Editor 迁移 SteamID 使用教程
2026/11/2 6:28:38 网站建设 项目流程

艾尔登法环存档换电脑不认?ER-Save-Editor 迁移 SteamID 使用教程

【免费下载链接】ER-Save-EditorElden Ring Save Editor. Compatible with PC and Playstation saves.项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor

把练了上百小时的存档拷到新电脑,或从 PlayStation 的 Save Wizard 导出文件里搬一个练了一半的角色回来,最先卡住你的往往是那行账号信息:旧.sl2绑定的 SteamID 和游戏里现在的账号对不上,角色直接消失。ER-Save-Editor 是 Rust 写的艾尔登法环存档编辑器,兼容 PC 与 PlayStation 两种存档格式,适合需要迁档、快速搭 build 的单机玩家。这篇 ER-Save-Editor 使用教程按换 SteamID 这条最高频的路径,把打开、改字段、另存、验证一遍走清楚。

🧭 该不该用:先对号入座

适合用它别指望它
换电脑或换 Steam 账号后,把旧存档迁到新账号名下一次导入几十个角色的命令行批量脚本(没有 CLI 批量接口)
跳过前期刷材料,直接给 build 塞武器、防具、灰辉石改完就保证被线上对局接受(作者明确没在线上测过)
从 PS 的 Save Wizard 导出 txt 里捞一个角色写坏存档后自动还原(不自动备份)
想读游戏存档二进制结构、学 Rust 桌面端解析只认图形菜单、不愿看一行报错日志的场景

它的边界同样明确,这几条来自 README 的原文立场,先记下来再动手:

  • 不自动备份:README 开头就是 "Always backup your save file before making any edits",复制一份原档这一步必须自己做。
  • 无命令行批量接口:所有操作都在图形界面里点,cargo run起的就是窗口,没有--import、--set-steam-id这类子命令。
  • 不保证线上可用:FAQ 对"会不会封号"的回答是 "There's no guarantee that you won't be banned. None of these features have been tested online."
  • 不解析 PS5 直拷的原始文件:PlayStation 侧只认 Save Wizard 导出的 txt,Open对话框里TXT过滤项写的是 "Save Wizard Exported TXT File"。

准备工作与最小运行

前提条件:

  • 装好 Rust 工具链(rustup),能正常cargo run。
  • 机器带图形界面,窗口固定 1920x960,建议大屏或缩小缩放。
  • 手上有一份自己的存档:PC 是.sl2原档,PlayStation 是 Save Wizard 导出的.txt。
  • 窗口图标等资源仓库已内置(icon/目录),不用额外下载。

最小运行命令:

git clone https://gitcode.com/GitHub_Trending/er/ER-Save-Editor cd ER-Save-Editor cargo run

首次编译会拉eframe/egui等依赖,耗时较长属正常。成功长这样:弹出一个 1920x960 的窗口,顶栏只有 open / save / Import Character 三个按钮,中央提示 "Drop a save file here or click 'Open' to browse"。窗口能正常出来、没有 panic,就是启动成功。

🚚 换 SteamID 迁移存档:完整走查

下面以"换到新 SteamID"为主线,六步走。每步都是动作、观察、判断三段。

1. 备份原档

  • 动作:复制一份.sl2出来,记下文件大小。
  • 观察:得到一份原封未动的备份。
  • 判断:备份大小和原档一致才算稳。这一步为什么必须做:工具不改坏文件是它自己写的,但它不会替你留后路,写坏或改错只能拿备份重来。

2. 打开存档

  • 动作:点顶栏 open,或直接把文件拖进窗口中央。Open对话框支持SL2、TXT、*三种过滤项。
  • 观察:成功后左侧出现角色名列表,第二栏出现 General / Stats / Equipment / Inventory / Event Flags / Regions 六个面板按钮,顶部显示Platform: PC或Platform: Playstation,角色名旁边多出 Steam ID 输入框。
  • 判断:角色列表和六个面板都出来才算打开成功;中央变成红字 "Save file has irregular data!" 则是没识别通过(原因见后文自查)。

3. 填入新 SteamID

  • 动作:在 Steam ID 输入框里替换成新账号的 64 位纯数字 ID。输入框限 17 位,悬停有提示 "Important: This needs to match the id of the steam account that will use this save!"
  • 观察:字符即时写进内存里的 ViewModel,界面无其它变化。
  • 判断:ID 位数对不对,这一步只是改内存、没落盘,填错了还能反悔。

4. 顺手补家当

  • 动作:切到 Inventory 面板,左侧点 "Add"(按钮上标着 "Add (WIP)"),顶部选 Single 或 Bulk,再选 Items / Weapons / Armors / Ash of War / Talismans,从按名称过滤的列表里挑,点 "Add"。
  • 观察:底部滚动日志逐条追加 "> Added 1 xxx to held inventory"。
  • 判断:库存到上限会记录 "Inventory is full.",武器 ID 在参数表里查不到会记录 "Failed! Couldn't find weapon ... in weapon params."。日志为空即无异常。

5. 保存到新文件

  • 动作:点顶栏 save,另存一份新.sl2,不要直接覆盖备份。
  • 观察:程序此时才执行ViewModel::update_save,把界面状态统一写回二进制结构。
  • 判断:新文件能生成、大小与备份同量级就算成功。别跳过"另存"这一步,直接覆盖备份会把唯一的退路也一起改没。

6. 进游戏验证

  • 动作:用新 SteamID 上线,看角色在不在。
  • 观察:角色出现即迁移成功;再拿工具打开新档复查。
  • 判断:复查时 Steam ID 字段显示新值、角色列表正常加载、无红色警告,才算真正迁完。

它凭什么做对这件事

三个机制决定了它改得对、也改得克制。

格式识别只看两处字节。结论先行:不是逐字节试解析,而是两处特征命中一种就定平台,都不命中直接放弃。PC 档看文件头 4 字节是否为 "BND4",PlayStation 档则跳到固定偏移、取一段 regulation 数据算 MD5 比对硬编码指纹,逻辑在 src/save/save.rs。两种都不中就返回 "Invalid data!",不会做半吊子解析。

参数表从存档内部解出来。结论先行:能"按名字搜武器""校验宝石能不能装这把武器",靠的不是内置库,而是存档内嵌的一份 regulation 数据。打开时按 AES-256-CBC 解密、zstd 解压、再展开 BND4 归档,得到武器、防具、宝石等 Param 表,代码在 src/util/regulation.rs;物品名的中文名映射则来自src/db/下的静态表。没有这份表,按名字加物品和引用校验都无从谈起。

保存前过五道校验,改属性一次联动四字段。结论先行:Validator在打开时先验一遍,武器 ID 查得到、战技宝石与武器类型匹配、防具部位对得上、快捷槽无重复等,任何一条不过就触发顶部的 "Save file has irregular data!"、六个面板不显示,逻辑在 src/util/validator.rs。等级不是直接填的,而是由 8 项属性之和减 79 反推,HP/FP/SP 再按属性查表同步,所以改一项属性等于同时改四个字段,联动逻辑在 src/vm/vm.rs 的update_stats:

let level = stats_vm.vigor + stats_vm.mind + stats_vm.endurance + stats_vm.strength + stats_vm.dexterity + stats_vm.intelligence + stats_vm.faith + stats_vm.arcane - 79; save_type.set_character_health(index, HP[stats_vm.vigor as usize] as u32); save_type.set_character_fp(index, FP[stats_vm.mind as usize] as u32); save_type.set_character_sp(index, SP[stats_vm.endurance as usize] as u32);

🚨 报错与风险自查

按"现象 / 原因 / 验证 / 处理"排了四个常见坑:

坑一:SteamID 填错,游戏里角色消失。现象:迁移完进游戏看不到该角色。原因:填的不是目标账号的 steamid64,存档仍绑在旧账号上。验证:把 ID 换成账号真实的 steamid64 再存一次。处理:从 Steam 账户资料页取正确 ID,别凭记忆填。

坑二:打开直接报 "Save file has irregular data!"现象:一打开就是红字,六个面板出不来。原因:存档来自与工具参数表对不上的游戏版本,或文件本身已损坏。验证:用同一份原始档换一台没动过的环境打开对比。处理:以原版存档为准重新导出,别拿报错的档继续改。

坑三:PS 存档导入失败。现象:PlayStation 存档打不开或识别成 Unknown。原因:工具只认 Save Wizard 导出的 txt,PS5 直接拷贝的原始文件不行。验证:看Open对话框里TXT过滤项,扩展名必须匹配。处理:重新用 Save Wizard 导出一份 txt。

坑四:加物品时日志报 "Inventory is full." 或 "Failed! Couldn't find weapon ..."现象:Inventory 面板底部日志出现上述文案。原因:前者是随身库存到 2688 上限,后者是武器 ID 在当前参数表里查不到。验证:先确认库存是否已满、武器名是否在参数表版本内。处理:满则先清库存,查不到则换与游戏版本一致的存档重新导出。

合规红线,立场引用项目 README 原文:

  • ✅ 离线单机内改档、做 build 实验
  • ✅ 个人设备之间迁移自己的存档
  • ✅ 用于学习与二进制存档结构、Rust 桌面应用开发("Feel free to use this save editor for learning or development purposes")
  • ❌ 把改动后的存档用于联机作弊(作者明确 "I do not endorse or condone cheating online")
  • ❌ 基于本工具制作允许线上越界行为的衍生工具("I do not authorize its use for creating tools or modifications that enable actions online outside the bounds of what the game allows")

它本质上做的是格式翻译和字段回填,不做反作弊对抗,也不替你做决定。想深入看实现,从 src/save/ 的平台读写和 src/read/ 的解码逻辑入手最快;功能清单与授权条款以仓库 README 为准。

【免费下载链接】ER-Save-EditorElden Ring Save Editor. Compatible with PC and Playstation saves.项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询