10 分钟上手幻兽帕鲁存档转换工具 palworld-save-tools:Level.sav 与 JSON 互转完整指南
10 分钟上手幻兽帕鲁存档转换工具 palworld-save-toolsLevel.sav 与 JSON 互转完整指南【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools如果你玩过《幻兽帕鲁》一定遇到过这样的时刻辛辛苦苦养了 50 级的帕鲁想给好友也来一只却发现存档是.sav二进制文件记事本打开全是乱码无从下手。palworld-save-tools 就是专门解决这件事的工具——它能把帕鲁的.sav存档转成结构清晰的 JSON 文本改完再转回去全程不需要任何付费软件。这篇文章不讲高深原理只回答新手最关心的几个问题按顺序读完你就能亲手完成第一次存档修改。问题一这个帕鲁存档转换工具到底能帮我干什么一句话概括把游戏里看不懂的二进制存档变成人人都能看懂的 JSON 文本。《幻兽帕鲁》的存档文件尤其是体量最大的Level.sav本质上是虚幻引擎的 GVAS 格式外面还套了一层 zlib 压缩。普通玩家想改角色等级、调物品数量几乎不可能直接操作。而 palworld-save-tools 做的事情有两件解码解压并解析.sav输出可读的.sav.json文件编码把修改过的 JSON 重新压缩回.sav游戏原样读取更关键的是它对Level.sav里几乎所有的已知数据结构都做了额外解析而不是像通用虚幻存档编辑器那样丢出一堆十六进制。官方 README 里列出的已支持结构包括数据结构对应内容你改它有什么用CharacterSaveParameterMap玩家与帕鲁属性调等级、改经验、换装备ItemContainerSaveData物品容器加稀有材料、补消耗品BaseCampSaveData基地营地优化布局、查设施状态GroupSaveDataMap公会与组织管理成员与权限MapObjectSaveData地图对象调整建筑和世界物品这些解析器都放在项目的palworld_save_tools/rawdata/目录下按对象类型分文件管理想研究数据细节可以从那里入手。问题二怎么在 10 分钟内让它跑起来⚡前提只有一条Python 3.9 或更高版本。装好后有两个入口选一个顺手的。方式 A克隆仓库直接跑适合想顺便看源码的人git clone https://gitcode.com/gh_mirrors/pa/palworld-save-tools cd palworld-save-tools python convert.py 你的存档路径/Level.sav方式 Bpip 安装成命令行工具适合只想用的人pip install palworld-save-tools palworld-save-tools convert 你的存档路径/Level.sav 小提示Windows 上如果python命令报错试试python3或py三兄弟总有一个能用。仓库里的convenience_tools/convert.cmd会自动帮你挨个尝试。第一次运行你会看到类似这样的输出说明一切正常Converting xxx/Level.sav to JSON, saving to xxx/Level.sav.json Decompressing sav file Loading GVAS file Writing JSON to xxx/Level.sav.json把生成的Level.sav.json拖进 VS Code 或任何现代编辑器你的存档数据就摊开在眼前了。整个过程通常不超过一两分钟。问题三转出来的 JSON 里到底藏着什么打开 JSON 后你会看到一个巨大的worldSaveData对象里面按类型分门别类。给你一个直观的浏览路径对照palworld_save_tools/paltypes.py里注册的类型提示就能看懂脉络{ worldSaveData: { CharacterSaveParameterMap: { ...: 角色与帕鲁数据 }, ItemContainerSaveData: { ...: 背包和容器数据 }, BaseCampSaveData: { ...: 基地数据 }, GroupSaveDataMap: { ...: 公会数据 } } }说几个新手常找的东西角色属性在CharacterSaveParameterMap.Value.RawData里找到CharacterData下的字段等级、经验、属性点都在这里物品数量在ItemContainerSaveData里按物品 ID 定位到StackCount之类的字段把数字改大就行帕鲁技能同样是角色数据PassiveSkillList字段记录被动技能改数字这件事本身没什么技术含量真正的难点是别改坏格式——引号、逗号、缩进都不能错。一次只改一个字段改完就保存是最稳的节奏。问题四改完的数据怎么安全转回 .sav把 JSON 拖回终端跑同一套命令即可python convert.py 你的存档路径/Level.sav.json注意两个细节会覆盖原文件如果同目录下已经存在Level.sav程序会弹出确认提示Are you sure you want to continue? (y/n)。这也是为什么强烈建议先复制一份原始存档再动手。转换必须无损这个项目有个硬性设计原则——SAV 转 JSON 再转回 SAV压缩前必须逐字节一致。所以只要你不改坏 JSON 结构转回去的游戏就能正常读取。在tests/test_cli_scripts.py里项目专门写了一套往返测试SAV → JSON → SAV → JSON → SAV每一步都对比字节确保转换过程零损失。这种测试保证了改完转回去这件事的可靠性。问题五新手最容易踩的坑提前帮你排掉 ️根据大量用户反馈和项目文档这几个坑出现频率最高现象原因解决办法提示not a compressed Palworld save文件损坏或不是帕鲁存档用游戏内修复功能或换备份文件转 JSON 时内存暴涨、电脑卡死Level.sav转出的 JSON 非常大需要大量内存用选择性解析参数见问题六超大 JSON 打开很慢文件动辄几百 MB用 VS Code 或 JetBrains 系编辑器别用记事本游戏读不出改过的存档JSON 语法被改坏还原备份用编辑器校验 JSON 格式还有一条隐藏经验首次转换前看一眼 JSON 文件大小。官方文档专门提示过转换Level.sav会产生非常大的文件需要足够的内存和像样的编辑器别用 Windows 自带记事本硬扛。问题六老手都在用的几个进阶玩法 当你完成第一次修改后可以试试这些能显著提升效率的操作。只解析关心的数据内存省一半大存档全量解析很吃内存但如果你只想改角色和物品可以指定路径python convert.py Level.sav --custom-properties .worldSaveData.CharacterSaveParameterMap.Value.RawData,.worldSaveData.ItemContainerSaveData.Value.RawData这个参数对应convert.py里的--custom-properties选项只解码你勾选的数据其他结构一律跳过处理速度和内存占用都有肉眼可见的改善。常用参数速查表参数作用--to-json/--from-json强制指定转换方向忽略文件扩展名判断--output自定义输出路径--force已存在输出文件时不询问直接覆盖--minify-json输出紧凑 JSON方便其他程序读取--convert-nan-to-null把 NaN/Inf 浮点数转成 null注意会丢失信息顺手用上生态工具这个项目已经被不少下游工具采用有人用它写图形化帕鲁编辑器有人用它做服务器管理面板还有人专门拿它做存档迁移修复。如果你只想要可视化界面可以去社区搜基于 palworld-save-tools 的 GUI 工具如果你想自己写脚本批量处理多个存档把convert.py当 Python 库调用即可PyPI 上可安装。现在就去试从一次最小修改开始 ✅工具本身不需要你懂二进制、懂压缩算法它已经把最复杂的工作封装好了。你要做的只是三步备份你的Level.sav跑一次转换命令把 JSON 打开看看改一个字段比如某件物品的数量转回去进游戏验证从最小的修改开始一次只动一个地方你就会慢慢摸清整个存档的结构。记住项目里那条开发哲学——正确性永远优先于性能这也是为什么你可以放心地改完再转回去。去备份你的存档吧然后打开终端跑起你的第一条转换命令。你的帕鲁正等着被你改造呢【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考