V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fengwq
V2EX  ›  游戏

XGP 存档迁移转换为 Steam 存档的相对通用方法

  •  
  •   fengwq · 1 天前 · 532 次点击

    当你觉得微软的产品很好用,它就会猝不及防地偷袭你,让你想放弃

    本文仅讨论 Windows 平台。

    不同游戏的存档方式不同。不论是 XGP 存档或是 Steam 的 .sav 存档,存档的数据结构、目录组织、命名、数量都因游戏而异。
    只有部分游戏可以通过简单的重命名、修改数据完成转换。

    XGP 游戏存档位置

    XGP 游戏属于「微软商店」( Microsoft Store )应用,这种安装方式与直接 exe 安装有所不同。
    存档位置有这几种情况:

    1. %LocalAppData%\Packages\<公司名>.<游戏名>_<应用 id>\SystemAppData\wgs\<XboxUseridHex>_<TitleidHex>\
      公司名:开发游戏的公司的名字。应用 id:「微软商店」给这个游戏分配的 id 。
    2. %UserProfile%\Documents\My Games\<游戏名>(《帝国时代 4 》等)
    3. 部分游戏不管哪个版本都是同样的保存方式(目录结构、文件名),但是可能会为 XGP 单独生成一层目录(《全战三国》等)。

    (可以在 PCGameingWiki 查找存档位置;如果 wiki 上也没有记录,那就 Everything 手动查找吧。如果搜索游戏名没找到存档,就试试开发商的公司名。)

    迁移转换方法

    第 1 种情况

    需要查看 %LocalAppData%\Packages\<公司名>.<游戏名>_<应用 id>\SystemAppData\wgs\<XboxUseridHex>_<TitleidHex>\containers.index 文件是否记录了存档的 XGP 命名与人类可读文件名的对应关系。如果记录了,那么只需要修改文件名后复制粘贴即可完成存档转换。除了 container.index,其他 container 文件一概忽略。

    存档转换工具 XGP-save-extractor

    手动修改很麻烦,有一个免费开源的 GitHub 项目可以完成自动转换,详情:

    XGP-save-extractor

    这是个免费的 GitHub 开源项目,Python 编写,也打包了 exe 。目前( 2025-01-14 )支持 35 个游戏
    这个项目是 2021-07 月,由 Z1ni 创建的(相见恨晚),最开始支持 3 个游戏:《如龙 0 》《八方旅人》《正当防卫 4 》。

    运行,程序会读取玩家存档,并转换,在当前目录下生成 Steam 存档的 zip 压缩包。

    但是,即使存档位置相同,也不是所有的游戏都可以使用这个工具转换。因为游戏的存档方式五花八门,有各种原因会导致 XGP 存档与 Steam 存档不兼容
    《 P3R 》(存档加密不同
    《 TUNIC 》(不同的序列化方式,存档能读取,但有 bug )
    《 Palworld 》(版本不一致

    可以说,如果手上只有 XGP 存档,不在 Steam 上测试,很难确定是否转换成功了

    该项目的更新频率不高,我发这个帖子也是想宣传一下,希望能有人更多人参与开发、测试

    第 2 、3 种情况

    确认存档目录之后手动复制,顺利的话 Steam 版本可以无缝衔接。

    注意事项

    卸载 XGP 游戏的时候,会同时删除本地存档(拯救宝贵的 C 盘空间)。
    虽然 %UserProfile%\AppData\LocalLow 不一定会删干净,但好在占用空间不大。

    不管 1 、2 、3 哪种情况,先备份存档,再删 XGP 游戏

    如果已经把游戏删除了,还可以下载 Xbox 云存档。幸好,大部分游戏都支持云存档,并且保存期限好像是永久。
    据我所知,在 Windows 上想要获得 Xbox 云存档,只有一个方法:重新下载游戏,并打开一次,完成云同步(应该说在 PC 上好像不能管理云存档,Xbox app for PC 也不显示是否支持云存档)。
    如果游戏已经离开 XGP ,而且你也没有在本地备份存档,那还可以耐心等待游戏下一次入库(几个月到几年时间)。

    4 条回复    2025-01-17 16:16:42 +08:00
    linglongll
        1
    linglongll  
       1 天前
    厉害厉害 学习了
    FlytoSirius
        2
    FlytoSirius  
       1 天前
    感谢楼主分享此存档转化方式。
    rxg9527
        3
    rxg9527  
       1 天前
    好帖
    coderlxm
        4
    coderlxm  
       21 小时 0 分钟前 via Android
    不错的分享,虽然我现在不沾 xgp 了,但以前也确实有过转换存档的需求。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 05:17 · PVG 13:17 · LAX 21:17 · JFK 00:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.