palworld-save-tools 上手秘籍:把幻兽帕鲁 Level.sav 存档变成看得懂、改得动的 JSON
【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools
幻兽帕鲁存档转换工具 palworld-save-tools 能把游戏里密不透风的二进制 .sav 存档解开成普通文本,让你像编辑 Excel 一样修改角色属性、帕鲁技能和物品数量,改完还能原样封回去继续玩。不需要会写代码,跟着这篇指南走,十分钟内你就能完成第一次"存档手术"。
🎮 先讲个真实场景:凌晨两点,你盯着乱码发呆
辛苦肝了几十小时的幻兽帕鲁存档,里面有你精心培育的满级帕鲁、盖了一半的豪华基地、攒了一仓库的稀有资源。某天你想给帕鲁调几个技能、或者把基地从雪山搬到海边,打开存档文件夹却发现——Level.sav是一堆肉眼完全看不懂的二进制乱码。
你上网搜"帕鲁存档怎么改",得到的大多是零散的截图教程,改错一个字节存档就废了。这时候你就需要 palworld-save-tools:一个把.sav转成 JSON、再把 JSON 转回.sav的官方级开源工具。它把"改存档"这件事从"十六进制考古"变成了"改改文本、存个盘"。
✅ 为什么这个工具值得一试?它替你解决了四件事
- 🧩解密二进制:把 Level.sav 的压缩二进制内容完整解开,输出人类可读的 JSON,字符乱码全部变成看得懂的字段名和数字
- 🔄无损往返:SAV → JSON → SAV 转换后文件逐字节一致,改完封回去游戏照常读取,不用担心数据损坏
- 📦覆盖核心数据结构:角色、帕鲁、背包、基地、公会、工作分配等九大类数据全部支持解析,几乎一网打尽
- 🪶零依赖轻量运行:只需 Python 3.9+,不装任何第三方库,Windows、Linux、macOS 通吃
🗺️ 全景速览:它到底能解开哪些数据?
| 数据结构 | 管的是什么 | 典型用途 |
|---|---|---|
| CharacterSaveParameterMap | 玩家与帕鲁的属性档案 | 改等级、经验、技能、个体值 |
| ItemContainerSaveData | 背包、箱子、容器里的物品 | 增加稀有道具、调整资源数量 |
| CharacterContainerSaveData | 帕鲁仓库与队伍槽位 | 调整帕鲁存储、查看个体属性 |
| BaseCampSaveData | 基地营地状态与设施 | 优化基地布局、修复卡死的设施 |
| GroupSaveDataMap | 公会与组织关系 | 管理公会成员与权限 |
| MapObjectSaveData | 地图上的建筑与物件 | 调整建筑位置、清理异常物件 |
| WorkSaveData | 工作分配与任务队列 | 调整帕鲁工作安排 |
| DynamicItemSaveData / FoliageGridSaveDataMap | 动态物品与植被网格 | 清理多余植被、修复资源刷新 |
这些数据的解析代码都集中在源码的 palworld_save_tools/rawdata/ 目录,想深入研究的同学可以从这里看起。
🚀 上手路线图:三步完成首次转换
第一步:准备好运行环境
确认电脑上有Python 3.9 或更高版本。在终端输入python --version,如果提示找不到命令,就去 Python 官网装一个,勾选"Add to PATH"即可。
第二步:拿到工具
两种方式任选:
# 方式一:用 pip 直接安装(推荐,自带命令行入口) pip install palworld-save-tools # 方式二:克隆源码到本地 git clone https://gitcode.com/gh_mirrors/pa/palworld-save-tools cd palworld-save-tools pip install .Windows 用户还有一个更偷懒的玩法:下载压缩包解压后,直接把.sav文件拖到 convenience_tools/convert.cmd 上松手,自动完成转换;想转回来就把.json文件再拖一次。
第三步:找到存档并执行转换
Steam 版存档一般在这个位置:
%LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID>\<SaveID>\Level.sav然后执行:
# 把 Level.sav 转成 JSON(用于编辑) palworld-save-tools convert Level.sav --to-json # 把改好的 Level.sav.json 转回 SAV(应用修改) palworld-save-tools convert Level.sav.json --from-json转换完成后,用 Visual Studio Code 之类支持大文件的编辑器打开Level.sav.json,你会看到原本乱码般的存档变成了层层嵌套、结构清晰的 JSON 数据,搜索"PlayerCharacter"或你的角色名就能定位到自己的档案。
⚠️ 注意:Level.sav 转出来的 JSON 体积很大(可能数百 MB),占用内存也高,务必用现代编辑器打开,别用记事本。
🛠️ 实战演练:三个立刻能上手的应用场景
场景一:给帕鲁调技能点
能做什么:找到某只帕鲁的技能配置,调整已学习的技能,让它在战斗里更强。
怎么做:在 JSON 里用编辑器搜索帕鲁的CharacterSaveParameterMap区域,找到对应RawData下的技能数组,把技能 ID 替换成你想要的(技能 ID 可在社区资料中查到),保存后转回 SAV 即可。
场景二:批量补充稀有物品
能做什么:给自己仓库塞进指定数量的稀有材料,省去反复刷图的时间。
怎么做:在ItemContainerSaveData下找到目标容器,定位物品条目中的数量字段count,直接改成你想要的数字,比如把帕鲁球从 10 改成 999。改完 JSON → SAV 一转换,进游戏开箱即得。
场景三:把整个基地搬到新地点
能做什么:读取BaseCampSaveData里的坐标与设施配置,把基地整体平移,免去拆了重盖的麻烦。
怎么做:定位BaseCampSaveData中的位置字段(坐标 X/Y/Z),统一加上偏移量后保存。改之前先备份,改完进游戏确认基地设施是否正常加载。
⚡ 进阶玩法:三个提升效率的隐藏参数
1. 选择性解析,大存档也不卡
完整转换大型存档时内存占用很高,如果只关心角色和物品,可以用--custom-properties只解析需要的部分,处理速度大幅提升:
palworld-save-tools convert Level.sav --to-json \ --custom-properties ".worldSaveData.CharacterSaveParameterMap.Value.RawData,.worldSaveData.ItemContainerSaveData.Value.RawData"2. 紧凑输出,方便其他程序处理
# 生成没有缩进的紧凑 JSON,体积更小、解析更快 palworld-save-tools convert Level.sav --to-json --minify-json # 把特殊浮点值 NaN/Inf 转成 null,避免某些编辑器报错 palworld-save-tools convert Level.sav --to-json --convert-nan-to-null3. 批量处理多个存档
需要给多个存档做同样的修改?写个简单脚本循环搞定:
import subprocess saves = ["save1/Level.sav", "save2/Level.sav", "save3/Level.sav"] for sav in saves: subprocess.run(["palworld-save-tools", "convert", sav, "--to-json"]) # 在这里插入你的 JSON 修改逻辑 subprocess.run(["palworld-save-tools", "convert", sav + ".json", "--from-json"]) print(f"完成:{sav}")🛡️ 避坑指南:老玩家踩过的坑,你提前绕开
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 转换中途内存爆掉 | 存档过大 + 默认解析全部数据结构 | 加--custom-properties只解析需要的数据 |
| 游戏读不了改后的存档 | JSON 语法被编辑器的自动修复弄坏 | 修改时用 JSON 校验插件检查语法,改动要精准 |
| 转换提示文件已存在 | 同名输出文件已生成 | 加--force直接覆盖,或换--output指定新路径 |
| 拖拽 convert.cmd 没反应 | Python 未正确安装或未加入 PATH | 检查python --version,或改用终端命令执行 |
| 改完数值进游戏没生效 | 改错了层级或字段名拼写不一致 | 先在测试存档上验证,对照转换前后的 JSON 结构 |
最佳实践清单:
- 📌先备份再动手:所有修改都复制一份原始
Level.sav,这是安全第一原则 - 🧪小范围测试:先在测试存档上验证修改流程,再应用到主力存档
- 🔍改一处、验一处:每次只修改少量数据,出了问题容易定位
- 🗂️善用版本管理:给修改过的 JSON 文件建个 Git 仓库,随时回滚
- 📖查官方文档:命令细节与参数说明都在项目 README 和 palworld_save_tools/commands/convert.py 里
🔬 原理浅析:它到底是怎么"解开"存档的?
把幻兽帕鲁的存档想象成一个加了锁的压缩档案柜:外面的.sav文件先经过一次 zlib 压缩(对应源码 palworld_save_tools/palsav.py),解开压缩后露出游戏引擎标准的 GVAS 格式(对应 palworld_save_tools/gvas.py),里面是一层层套娃式的属性数据。
palworld-save-tools 的工作流程就像一位熟练的档案管理员:先解压缩,再解析骨架(读表头、版本号、属性结构),接着翻译内容——把引擎类型映射成易懂的 JSON 字段。这个"翻译对照表"就定义在 palworld_save_tools/paltypes.py,每种游戏数据(角色、背包、基地……)都有独立的解析器放在 palworld_save_tools/rawdata/ 目录。
项目还有一条很硬核的设计哲学:转换的正确性优先于性能,SAV → JSON → SAV 必须逐字节还原。这意味着你改完转回去的存档,和游戏自己写的存档在底层完全一致,兼容性有保障。
🎯 下一步:现在就动手试试
读完这篇指南,你已经掌握了幻兽帕鲁存档修改的全部关键环节。接下来的行动清单:
- 立即安装:按上面的命令装好 palworld-save-tools,把工具跑起来
- 做一次转换演练:拿备份的 Level.sav 完成一次 JSON → SAV 全流程,感受无损往返
- 从最小的修改开始:试着改一种物品数量,进游戏验证效果
- 深入源码学习:想了解更多数据结构,直接读 rawdata 目录下的解析代码,比任何教程都权威
改存档就像给自己的游戏世界做微调手术——工具已经递到你手上了,剩下的就是大胆尝试。记住那句老话:备份先行,快乐游戏。现在,去打开你的 Level.sav 吧!
【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考