news 2026/8/19 13:52:35

幻兽帕鲁换服丢档自救手册:palworld-host-save-fix 存档迁移完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
幻兽帕鲁换服丢档自救手册:palworld-host-save-fix 存档迁移完整教程

幻兽帕鲁换服丢档自救手册:palworld-host-save-fix 存档迁移完整教程

【免费下载链接】palworld-host-save-fixFixes the bug which forces a player to create a new character when they already have a save. Useful for migrating maps from co-op to dedicated servers and from one dedicated server to another.项目地址: https://gitcode.com/gh_mirrors/pa/palworld-host-save-fix

周日中午,你端着一碗泡面坐到电脑前,准备验收刚搭好的专用服务器。启动、连服、读档,一气呵成,然后屏幕中央弹出四个字:创建新角色。昨晚还在旧服里骑空涡龙、守着满基地帕鲁的你,一夜之间成了"黑户"。先别摔键盘,存档其实一条没丢——palworld-host-save-fix,正是专门修复"已有存档却被强制新建角色"这个跨服迁移 bug 的开源工具,它能把旧存档连同角色、帕鲁、基地,完整"对上"新服务器分给你的新身份。

这篇不玩虚的,按"答疑 → 自查 → 实操 → 原理 → 排错"的顺序走:先解答五个最常被问的问题,再给一张动手前自检清单,然后完整走一遍从下载到角色回归的流程,原理放到中段单独讲透,最后用一张报错对照表兜底。

换服丢档是怎么回事?五个高频问题先对号入座

问 1:存档明明在服务器上,为什么角色"没了"?

存档在,但服务器不"认"你。它靠 GUID(32 位十六进制字符串,相当于玩家的身份凭证)识别角色,新服务器生成的新 GUID 跟旧存档里的对不上,于是它认定你从没来过。详细机制见后文"原理"一节。

问 2:屏幕上的"创建新角色",点了会清档吗?

点"创建"只是新开一个角色,不会删旧数据;但千万不要点"删除角色",那才是真没了。整个流程里,旧数据始终静静躺在存档里,只是暂时没人认领。

问 3:合作模式搬专用服务器,和专用服务器互搬,是一回事吗?

流程骨架一样,区别在两个点:合作模式主机的旧 GUID 永远是00000000000000000000000000000001,且默认不开公会修复;专用服务器互搬则人人丢档,每个玩家都要配对"新旧 GUID",还必须开启公会修复。下文实操部分两种都会讲到。

问 4:全队人都被强制新建角色,是不是存档坏了?

恰恰相反。专用服务器跨平台互搬(Windows 服 → Linux 服等)时,所有玩家的 GUID 都会变,人人丢档是"正常现象",说明存档本身完好,只是身份凭证全对不上了。一人跑一遍修复命令即可。

问 5:修完之后,等级、帕鲁、公会、基地真的都保得住?

角色等级、背包、建筑基本无损;公会关系和帕鲁归属存在两个已知的小 bug,官方给了对应解法(丢帕鲁重新拾取、退会重进),本文结尾 FAQ 有交代。真碰到修不完整的,还有兜底方案。

动手前,先勾掉这张自检清单

开工之前,请花五分钟把下面七项全部过一遍。省这五分钟,可能换来五个小时的返工。

  • 备份存档到服务器之外:U 盘、网盘、另一块硬盘都行,整个存档文件夹复制一份。记住,脚本不承诺任何安全网——它只负责"改",坏不坏另说,所以副本越多越安心。
  • 确认 Python 版本 ≥ 3.10:命令行里敲python --version看一眼,太旧就先升级。
  • 装好解析库 palworld-save-tools:版本固定为 0.17.1,安装命令在下一节。
  • 拿到工具代码git clone地址在下一节,仓库名 palworld-host-save-fix。
  • 看懂存档结构Level.sav是整个世界的"大地图";Players文件夹里每个.sav文件的文件名,就是一名玩家的 GUID。
  • 新旧 GUID 各就各位:新 GUID 来自新服务器上新建的角色文件,旧 GUID 来自旧存档,一一对应别弄混。
  • (合作模式专属)搬档前处理两个雷:公会所有权先转给别的角色、让主机退会;建了观赏笼就先拆掉,这两样不处理,迁移后问题不断。

一次跑通全程:从下载到角色回归的迁移步骤

先把环境装齐,两条命令的事:

# 安装解析 .sav 存档的核心依赖 python -m pip install palworld-save-tools==0.17.1 # 拉取工具代码并进入目录 git clone https://gitcode.com/gh_mirrors/pa/palworld-host-save-fix cd palworld-host-save-fix

然后按顺序走完下面九步(以"合作模式 → Windows 专用服务器"为例,其他场景的差异放在本节的"变体"里):

  1. 把旧档复制进新服务器。合作存档在AppData\Local\Pal\Saved\SaveGames\<随机数字>,整个文件夹复制到专用服务器的PalServer\Pal\Saved\SaveGames\0下。接着打开服务器的GameUserSettings.ini,把DedicatedServerName改成这个存档文件夹的名字。改错了,服务器会开一张全新地图,等于白搬。
  2. 删掉存档文件夹里的WorldOption.sav它的存在会让服务器的世界设置修改不生效。删掉后唯一的影响是玩家要重新选一次重生点。
  3. 启动服务器,让主机登进去建一个"占位角色"。没错,先故意建个空白号。它的.sav文件会出现在Players文件夹里——这个文件名就是新 GUID
  4. 把新 GUID 完整抄下来。Players文件夹找最新冒出来的那个.sav,去掉.sav后缀,剩下的 32 位字符串就是它。备注:别把扩展名一起抄进去,工具会当场报错教你做人。
  5. 关服,把整个存档文件夹复制到临时文件夹。注意,是"带着占位角色"的那一份。后续所有操作都在临时文件夹里进行,服务器上的原档先别动。
  6. ⚠️ 给临时文件夹也做一次备份。上面清单里的备份是对原档的,这里是对"待处理副本"的——双保险,不亏。
  7. 跑修复命令。在工具目录里执行下面这行,把尖括号里的内容换成你的实际值:
python fix_host_save.py "临时文件夹路径/存档文件夹名" 新GUID 00000000000000000000000000000001 False

合作模式主机的旧 GUID 永远是00000000000000000000000000000001;末尾的False表示这次不做公会修复(原因见原理一节)。命令会先弹出一段数据风险警告,确认你已经备份过后,按回车继续。脚本会依次完成"解压存档 → 替换 GUID → 压回存档 → 改文件名"整条流水线。 8.看到Fix has been applied! Have fun!这一行就是成功信号 🎉。没看到?去后面的报错对照表对号入座。 9.把临时文件夹里的存档复制回服务器。服务器上原来的那份先改名或挪走,别覆盖错方向。重启服务器,让主机登录——角色、等级、背包应该都在。

变体一:全员换服,命令多跑几遍

专用服务器互搬(比如 Windows 服搬到 Linux 服)时,人人都是"黑户",没有谁能替别人扛事。流程照旧,但每个玩家都要先在服务器上建一个占位角色,把"玩家 → 新旧 GUID"的对应关系记下来,然后依次对每个人执行:

python fix_host_save.py "临时文件夹路径/存档文件夹名" 玩家一的新GUID 玩家一的旧GUID True python fix_host_save.py "临时文件夹路径/存档文件夹名" 玩家二的新GUID 玩家二的旧GUID True

注意两处变化:末尾参数改成True(开启公会修复,因为没有"完好角色"能当公会会长了);旧 GUID 不再是全 0,而是各自在旧服里的身份凭证。逐个跑的好处是:谁出问题立刻知道是哪对 GUID 对不上,不会一锅端。

变体二:GUID 找不到,用游戏内指令挖出来

给服务器设一个管理员密码,进游戏后在聊天框输入/adminpassword <你的密码>,再输入/showplayers。列表里的playeruid是一串十进制数字,转成 8 位十六进制就是 GUID 的前缀:

python -c "print(format(你的playeruid数字, '08x'))"

拿这个前缀去Players文件夹里匹配文件名,就能锁定对应玩家。

不想手敲命令?开图形界面

直接运行python gui.py。窗口里点 Browse 选存档文件夹,工具会自动扫描Players目录,把每个角色解析成"角色名(等级)"放进下拉框——选人就行,不用记 GUID。勾上公会修复,点 Run Command,回终端按一下回车确认,完事。这个模式尤其适合替看不懂命令的队友代劳。

原理讲透:palworld-host-save-fix 到底在改什么

把存档想象成驿站里的一堆包裹,GUID 就是贴在包裹上的取件码。你在 A 驿站存了满屋子的家当,取件码是旧的那串;搬到 B 驿站,B 只认自己发的取件码。你拿旧码去取,B 一查:查无此单,当场给你补发一个新码。可问题是,A 驿站那堆包裹上贴的还是旧码——两边永远对不上,东西自然"取不出来"。

幻兽帕鲁的存档就是这个逻辑。合作模式、Windows 专用服务器、Linux 专用服务器、SteamCMD 专用服务器,每种环境生成 GUID 的规则都不一样,所以一换服,新服务器生成的 GUID 与旧存档里的对不上,它就断定"你没有角色",然后弹出创建新角色。

palworld-host-save-fix 做的事,翻译成人话就是:把旧包裹上所有旧取件码撕掉,统一贴上你手里的新取件码。具体流水线是:

  1. 用 palworld-save-tools 库把.sav二进制存档解压成可读的 JSON;
  2. 在 JSON 里找出所有出现旧 GUID 的位置统一替换——玩家档案(PlayerUIdIndividualId)、世界存档(Level.sav里的角色参数),以及公会数据(GroupSaveDataMap,仅在开启公会修复时处理);
  3. 把改好的 JSON 压回.sav格式;
  4. 把玩家存档从"旧GUID.sav"改名为"新GUID.sav"。

服务器再启动时一看:取件码对上了,档案齐全,欢迎回家。

有个边界值得说清:它只改"身份对应关系",不碰你的等级、帕鲁、建筑数据本身。这也是为什么你总觉得"丢了"——其实什么都没丢,只是被挂在一个没人认领的 ID 下面,工具把 ID 重新接上而已。

(想研究存档内部到底存了什么?仓库里附带的extract_byte_data.py能把存档 JSON 中所有尚未解码的原始字节导出成文件,属于进阶玩法,普通迁移用不上。)

常见报错对照表:报错信息、原因、解法一次对齐

你看到的提示原因解法
ERROR: Invalid <guild_fix> argument第四参数不是 True 或 False检查拼写与大小写,只能是TrueFalse
ERROR: It looks like you're providing the whole name of the file....sav后缀一起复制进了 GUID只保留 32 位字符
ERROR: Your <new_guid> should be 32 characters long...复制时漏了字符Players文件夹重新核对文件名
ERROR: It looks like you're using the same GUID for both...新旧 GUID 填成了同一个它是"改名"不是"自嗨",两个参数必须不同
ERROR: Your given <save_path> ... does not exist临时文件夹路径写错核对路径,含空格时用引号包住
ERROR: Your player save does not exist占位角色还没建,或新 GUID 抄错回服务器建角色,等Players里出现新文件
ModuleNotFoundError: No module named 'palworld_save_tools'解析库没装上重跑python -m pip install palworld-save-tools==0.17.1
修完帕鲁不干活、不攻击帕鲁 bug:帕鲁没挂到正确的公会名下进基地,把帕鲁从队伍里全部丢到地上再捡起来,基地里的工作帕鲁也要捡一遍
左键按住无法连续攻击修复后的残留小问题退出公会再重新加入,一般当场消失

收尾问答:修完之后还会遇到的四个问题

问:修完能立刻上线开玩吗?

建议先玩满 5 分钟,重点观察两件事:帕鲁在基地是否正常干活/攻击,左键连点是否失灵。这两项是官方点名的高发残留问题,解法都在上表里,其余基本无感。

问:这工具会把存档彻底搞坏吗?

作者自己都在文档里写明"实验性、有已知 bug、请务必备份"。所以备份是硬要求;万一你在 30-40 级以上的中后期大档上遇到修复不完整,可以把存档交给项目作者帮助完善——这类工具就是靠真实玩家的存档喂出来的,用的人越多越稳。

问:命令行和 GUI 选哪个?

自己折腾、想看清每一步,用命令行;帮朋友弄、或者看见 32 位字符串就头疼,用 GUI 扫一遍存档,角色名配等级直接选。两者最终生成的其实是同一条命令。

问:下次再换服,还要重来一遍吗?

要。这工具"一次一单",每次跨服或跨平台迁移都得重新走"建占位角色 → 拿新 GUID → 跑命令"这套流程。不过流程熟了以后,一个人十分钟就能搞定,真不算事。

好了,该说的都说了。把这篇收藏好,备份先做扎实,剩下的就是照单执行。新服务器的草地已经刷新,你辛辛苦苦抓回来的那窝帕鲁,正等你上线给它们补一顿蛋糕——去吧,别让它们等太久。

【免费下载链接】palworld-host-save-fixFixes the bug which forces a player to create a new character when they already have a save. Useful for migrating maps from co-op to dedicated servers and from one dedicated server to another.项目地址: https://gitcode.com/gh_mirrors/pa/palworld-host-save-fix

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 13:50:11

磁吸探针USB充电接口设计:从原理到实践的可靠连接方案

1. 项目概述&#xff1a;为什么我们需要一个可靠的磁吸探针USB充电接口&#xff1f; 最近在折腾一个需要频繁插拔充电的小设备&#xff0c;每次听到“咔哒”一声&#xff0c;看着USB-C接口上那若隐若现的划痕&#xff0c;心里就一阵烦躁。更别提在昏暗环境下对不准接口&#xf…

作者头像 李华
网站建设 2026/8/19 13:46:24

STM32F4移植FreeRTOS实战:从内核配置到多任务通信避坑指南

1. 项目缘起&#xff1a;为什么要在STM32F4上折腾FreeRTOS&#xff1f;如果你手头有一块STM32F4系列的开发板&#xff0c;比如经典的STM32F407或者F429&#xff0c;并且已经玩转了裸机编程&#xff0c;点亮过LED&#xff0c;驱动过串口&#xff0c;那你大概率会开始琢磨下一步&…

作者头像 李华