5分钟上手uesave:虚幻引擎存档读写实用手册
2026/8/24 20:13:28 网站建设 项目流程

5分钟上手uesave:虚幻引擎存档读写实用手册

【免费下载链接】uesaveRust library and CLI to read and write Unreal Engine save files项目地址: https://gitcode.com/gh_mirrors/ue/uesave

你是不是也遇到过这种情况:想改一下游戏里的数值,可打开 .sav 文件全是二进制乱码,根本无从下手?uesave 是一个用 Rust 写的开源工具,专门读取和写入虚幻引擎的存档文件(GVAS 格式),能把它变成人话 JSON,你改完再写回去,游戏照样认。

  • 🚀一条命令完成二进制与 JSON 互转,不用写任何代码
  • 🔎一键往返验证,改完立刻知道存档坏没坏
  • 💻跨平台,Windows、macOS、Linux 都能跑
  • 🎮真机验证,《深岩银河》存档已完整支持读写

🧰 环境自检与一键安装:3步把 uesave 装到手

1. 确认 Rust 是否已装

uesave 需要现场编译,所以先确认环境里有 Rust(1.60 以上)。这条命令用来检查 Rust 编译器版本:

rustc --version

看到类似rustc 1.75.0 (...)的输出才算 OK;如果提示找不到命令,先去装好 Rust 再回来继续。

2. 一条命令安装 uesave

环境没问题,就执行下面这条命令,它会从仓库拉源码并编译安装:

cargo install --git https://gitcode.com/gh_mirrors/ue/uesave

首次编译要几分钟,耐心等。装完后~/.cargo/bin目录下会多出uesave可执行文件。

3. 验证装好没装好

在终端敲一下:

uesave --version

看到版本号输出,说明成功了(当前版本为 0.7.1)。顺手再跑一句uesave --help,能看到 to-json、from-json、edit、test-resave 四个子命令,就说明一切就绪。

🔁 一条命令把 .sav 存档转成可读 JSON

主流程就是"输入 → 动作 → 输出":把二进制存档丢进去,拿回一份结构化 JSON。输入一个 .sav,输出一个 .json:

uesave to-json mygame.sav mygame.json

两个参数依次是输入和输出。想先瞄一眼不落盘,把输出写成-直接打到终端:

uesave to-json mygame.sav -

转换前后效果对比:

转换前转换后
.sav 二进制文件,编辑器打开全是乱码结构化 JSON 文本文件
文本编辑器碰都不敢碰随便用编辑器查找、改值
数据藏在字节里无从下手数值、字符串、列表一目了然

下面是从《深岩银河》存档里截取的最小示例,感受一下 JSON 长什么样:

{ "root": { "properties": { "NumberOfGamesPlayed": 2173, "Credits": 4200, "BestRigName": "Drill-01", "RecentlyPlayedModes": ["mining", "combat"] } } }

接下来是反方向,把编辑好的 JSON 写回游戏能识别的二进制:

uesave from-json mygame.json mygame_new.sav

动手前先把操作边界划清楚:

  • 放心改:数值、字符串、布尔值
  • ⚠️谨慎改:数组的增删、嵌套对象里的字段
  • 别动:属性名、GUID(带连字符的长串)、JSON 整体结构

🔍 深岩银河实战:端到端走一遍改档流程

拿最典型的场景练手——修改一份《深岩银河》存档。

第1步:定位存档文件。不同平台路径不一样:

  • Windows:C:\Users\<你的用户名>\AppData\Local\FSD\Saved\SaveGames\
  • Linux / macOS:~/.local/share/DeepRockGalactic/FSD/Saved/SaveGames/

先备份,这一步不能省:

cp SaveGame.sav SaveGame_backup.sav

第2步:转成 JSON。进入存档目录执行转换:

uesave to-json SaveGame.sav SaveGame.json

看到 SaveGame.json 生成,说明转换成功。

第3步:改关键数据。打开 JSON,用搜索功能找到Credits这类字段,把数值改成你想要的,比如 50000。只改数值本身,别碰字段名。

第4步:写回二进制。保存 JSON 后执行:

uesave from-json SaveGame.json SaveGame_modified.sav

第5步:验证改好的存档。uesave 自带往返测试,这条命令会重新读一遍再写一遍,确认结构完好:

uesave test-resave SaveGame_modified.sav

看到Resave successful就可以放心替换了。替换清单:

  1. 原始备份还在(上面已做),心里有底
  2. 把 SaveGame_modified.sav 重命名为原文件名
  3. 启动游戏,确认数值生效且没有闪退
  4. 有任何不对劲,立刻把备份文件放回去

⚡ 效率工具箱:两招省一半功夫

一条命令直接编辑

嫌来回转换麻烦的话,直接:

uesave edit SaveGame.sav

它会自动生成临时 JSON、调起你的默认编辑器,退出保存后自动写回二进制;一个字没改的话它会提示 "File unchanged, doing nothing."。省掉了手动转两次文件的来回折腾。

批量转换整个存档目录

存档多也不怕,把下面这段存成脚本,放进存档目录跑:

#!/bin/bash # 用法:bash batch_convert.sh for save in *.sav; do echo "正在转换: $save" uesave to-json "$save" "${save%.sav}.json" done

省掉了逐个敲命令的重复劳动,一个目录几十份存档秒转完。

🛡️ 动手前检查与高频坑

动手前先过一遍清单:

  • 版本兼容:确认游戏用虚幻引擎制作,且存档格式能被工具支持(深岩银河已完整验证)
  • 先备份:原始存档拷一份到别处再开改
  • 先拿无关紧要的存档试:第一把刀别落在心爱存档上
  • 先改一个小数值试试水:改一个、测一轮,再扩大范围

问题:转换完游戏读不了存档

  • 检查 JSON 结构是否完整,属性名和结尾标记别删
  • 确认没动过看不懂的数组和对象
  • uesave test-resave先跑一遍往返验证再替换

问题:to-json 报错(如 bad magic value)

  • 确认文件真是 GVAS 存档,别拿加密档或其他格式试
  • 升级 uesave 到最新版再试
  • 个别字段类型猜不出时,可用-t参数手动指定,例如-t .UnlockedItemSkins.Skins=Guid

问题:JSON 太大翻不动

  • 直接用编辑器的全局搜索定位字段名
  • 只改要改的值,其余部分保持原样

🗂️ 仓库长什么样:目录一眼看懂

uesave/ ├── uesave/ # 核心 Rust 库 │ ├── src/ │ │ ├── archive.rs # GVAS 格式读写核心逻辑 │ │ ├── serialization.rs # 属性序列化与 JSON 互转 │ │ └── error.rs # 错误类型定义 │ ├── examples/ # 示例程序(read-save 等) │ └── drg-save-test.sav # 深岩银河测试用存档 ├── uesave_cli/ # 命令行工具(就是你装的 uesave 命令) │ └── src/main.rs # to-json / from-json / edit 的实现 ├── uesave_wasm/ # 浏览器端 WebAssembly 构建 ├── web/ # 网页版存档编辑器前端 └── Cargo.toml # 工作区配置(版本、许可证统一在此)

几个关键文件一句话说明:

  • uesave/src/archive.rs:GVAS 格式解析的核心,读写都从这里走
  • uesave_cli/src/main.rs:命令行全部功能所在,看它就够
  • uesave/drg-save-test.sav:现成的测试存档,先拿它练手

把整个流程串成一行:备份原档 → to-json 转换 → 改 JSON → from-json 写回 → test-resave 验证。

最后叮嘱几句:

  • 原始存档的备份永远留着
  • 只改你看得懂的字段
  • 拿没心动的存档先试水
  • 探索之余记得享受乐趣

其实你做的不只是改数字,而是在亲手读游戏背后的数据结构。把 uesave 用熟了,任何虚幻引擎存档你都能用同一套流程打开,甚至能顺便搞懂引擎是怎么序列化数据的。你可以放心地开始第一次存档编辑了,这条路一旦走通,后面全是探索的乐趣。

本文基于 uesave 0.7.1 编写,适用于虚幻引擎 GVAS 格式存档,《深岩银河》存档已完整验证读写;动手前请先确认你所玩游戏的引擎版本在支持范围内。

【免费下载链接】uesaveRust library and CLI to read and write Unreal Engine save files项目地址: https://gitcode.com/gh_mirrors/ue/uesave

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

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

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

立即咨询