Palworld 存档转换工具快速上手:用 palworld-save-tools 完成你的第一次存档转换
【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools
Palworld 的存档是二进制的 .sav 文件,肉眼无法阅读。palworld-save-tools 是一个开源的 Palworld 存档转换工具,能把 .sav 转换成人类可读的 JSON,也能把编辑后的 JSON 转回游戏可加载的 .sav。本文带你从环境准备走到第一次转换成功,再覆盖三个最常用的操作。零基础也能照做。
开始之前:两种安装方式,按需选择
这一节用 4 个检查项带你完成安装并自查,全程约 2~3 分钟。
- 安装 Python 3.9 或更高版本(项目唯一的先决条件;Windows 可从 python.org 或 Microsoft Store 安装)
- 二选一完成安装
- 运行验证命令确认成功
普通用户:一行 pip 安装
# 安装存档转换工具(pip 是 Python 的包管理工具) pip install palworld-save-tools验证:执行下面命令,能看到参数说明即成功,安装后你会得到一个名为palworld-save-tools的全局命令:
palworld-save-tools --help进阶用户:从源码安装
# 克隆仓库,仓库自带样例存档,后文会直接用到 git clone https://gitcode.com/gh_mirrors/pa/palworld-save-tools cd palworld-save-tools验证:在仓库目录执行下面命令,能看到参数说明即成功:
python3 -m palworld_save_tools.commands.convert --help一句话原理:工具刻意不依赖任何第三方库(README 明确"仅用 Python 标准库"),所以装好 Python 就能跑。
快速上手:如何完成第一次存档转换
这一节用一条命令跑通转换,产出你的第一份可读 JSON。
先确认已按上一节克隆源码(样例存档在tests/testdata/里),然后执行:
# 把样例存档 Level.sav 转成 JSON python3 -m palworld_save_tools.commands.convert tests/testdata/Level.sav✅ 验证:tests/testdata/下新生成了Level.sav.json,终端依次打印 "Decompressing sav file"、"Writing JSON to ..."。用文本编辑器打开这个 JSON,能看到角色、基地、物品等结构化字段。
一句话原理:命令按文件后缀自动判断方向——.sav 进则转 JSON,.json 进则转回 SAV(见 palworld_save_tools/commands/convert.py 的实现)。
三个高频任务
这一节按"你想做什么"组织:转自己的存档、把改动写回 SAV、只解析大存档里需要的部分。
任务一:如何把你自己的游戏存档转成 JSON
目标:得到你世界里所有数据的一份可读 JSON 备份。
步骤:
- 找到存档。Windows 版位于
%LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID>\<SaveID>\,其中Level.sav是包含世界数据的主存档。⚠️ 请先复制一份到工作目录再操作,不要直接在原文件上动手。 - 执行转换:
# 输入你的 Level.sav 路径(含空格的路径请加引号) palworld-save-tools /path/to/Level.sav验证:输入文件旁边出现同名的Level.sav.json,打开确认内容可读即成功。
变体:
-o / --output:自定义输出路径,例如palworld-save-tools Level.sav -o backup.json-f / --force:输出文件已存在时跳过确认直接覆盖
任务二:如何把编辑好的 JSON 转回 SAV
目标:把你修改过的 JSON 转回游戏能加载的 .sav 文件。
步骤:
- 用编辑器打开 JSON,只修改你确知含义的字段值,保存。
- 执行转换(JSON 进、SAV 出,默认输出为去掉
.json的同名文件):
# 把编辑后的 JSON 写回 SAV palworld-save-tools Level.sav.json验证:对生成的 .sav 再执行一次转 JSON,与编辑后的 JSON 对比,若只有你改动的字段有差异,说明回写成功。
变体:
--from-json:当文件扩展名不是 .json 时,强制按 JSON→SAV 方向处理-o:指定新的输出文件名,例如-o Level_new.sav
任务三:如何只解析大存档中需要的数据
目标:完整解析Level.sav又慢又占内存,只解析你关心的数据节点。
步骤:用--custom-properties指定要解析的数据路径(逗号分隔)。以 README 的官方示例为例,只解析公会数据和角色数据:
# 只解析公会(Group)和角色(Character)数据 palworld-save-tools Level.sav --custom-properties .worldSaveData.GroupSaveDataMap,.worldSaveData.CharacterSaveParameterMap.Value.RawData验证:生成的 JSON 只含指定节点,体积明显变小,转换耗时缩短。
变体:
--minify-json:输出不带缩进的压缩 JSON,适合脚本读取- 各数据路径的含义可查阅源码
palworld_save_tools/paltypes.py中注册的字段
实战:一条完整的存档转换工作流
这一节把上面的任务串成"备份 → 编辑 → 回写 → 自检"的端到端流程。当你想修改存档里的具体数据(如物品数量、基地布局)并恢复到游戏时,就需要这条链路。
# 1. 从副本开始转换,原始存档保持不动 palworld-save-tools Level.sav -o Level_edit.json # 2. 用 VS Code 等编辑器打开 Level_edit.json,修改字段后保存 # (README 建议大型 JSON 用 VS Code 或 JetBrains 系列编辑器打开) # 3. 转回 SAV palworld-save-tools Level_edit.json -o Level_new.sav # 4. 往返自检:确认 SAV 经 JSON 往返后结构稳定 python3 -m palworld_save_tools.commands.resave_test Level_new.sav验证:最后一步打印Files are the same!即说明往返无损。替换进游戏前请保留原始存档副本,游戏异常时可随时还原。
一句话原理:项目的设计目标是 SAV → JSON → SAV 逐位一致(压缩前),所以"转回再转"本身就是最可靠的验收手段。
排障手册:卡住了看这里
这一节覆盖日常使用中最容易卡住的 5 个情况。
| 现象 | 最可能原因 | 处理方式 |
|---|---|---|
提示Python not found. Please install Python 3.9 or newer. | 未安装 Python 或未加入 PATH | 安装 Python 3.9+,重开终端后用python --version确认 |
提示<文件名> does not exist | 文件路径写错,或含空格的路径没加引号 | 核对路径;Windows 下可直接把文件拖进终端补全路径 |
停在Are you sure you want to continue? (y/n) | 输出文件已存在,工具在请求确认 | 输入y继续;加--force可跳过确认(会直接覆盖) |
| 转换出的大 JSON 打不开、编辑卡顿 | Level.sav 较大,JSON 文本天然比二进制大 | 用 VS Code / JetBrains 打开;或按任务三只解析部分数据 |
| 转回的 SAV 替换后游戏无法进入 | 编辑 JSON 时改动了结构或数据类型 | 只改已知字段的值,不增删字段、不改类型;把新旧存档都转成 JSON 对比定位问题字段 |
常见问题
我自己的存档文件在哪里?
Windows 版位于%LOCALAPPDATA%\Pal\Saved\SaveGames\<SteamID>\<SaveID>\。其中 Level.sav 是含世界数据的主存档,LocalData.sav、WorldOption.sav 等是本地数据与选项文件。建议操作前整目录复制一份。
转成 JSON 再转回 SAV 会丢数据吗?
项目明确的设计目标是 SAV > JSON > SAV 产生逐位一致的文件(压缩前)。你可用resave_test脚本对任意 SAV 自检,打印Files are the same!即往返无损。
为什么 JSON 比 .sav 大这么多?
.sav 是压缩后的二进制,JSON 是明文文本,体积自然更大。可用--minify-json去掉全部缩进空白,或用--custom-properties只保留需要的数据,都能明显减小文件。
游戏更新后存档格式变了怎么办?
本项目跟随游戏版本迭代,README 建议安装时固定具体版本、按需升级。游戏更新后若解析异常,先执行pip install --upgrade palworld-save-tools升级到最新版再试。
小结
palworld-save-tools 让 Palworld 存档在 SAV 与 JSON 之间自由、可验证地往返,是存档备份与编辑最稳的一块基础。
下一步建议(难度递增):
- 跑通自检:对
tests/testdata/里的样例存档执行resave_test脚本,熟悉验收流程 - 养成备份习惯:每次游戏版本更新前,把存档目录整体转成 JSON 留一份第二保险
- 读源码做扩展:浏览
palworld_save_tools/rawdata/目录,看每类数据的 decode/encode 实现,遇到问题可向仓库 Issues 提交反馈
源码仓库地址见上文「开始之前」的 git clone 命令。
【免费下载链接】palworld-save-toolsTools for converting Palworld .sav files to JSON and back项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考