Palworld主机保存修复工具:3步解决服务器迁移的角色丢失问题
【免费下载链接】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主机保存修复工具是一个专门解决Palworld服务器迁移时角色丢失问题的开源工具。当你在不同服务器类型之间迁移存档时(例如从合作模式迁移到专用服务器,或在Windows和Linux专用服务器之间切换),玩家常常被迫创建新角色并丢失原有进度,这个工具通过修复GUID标识符来恢复你的角色数据。
为什么需要保存修复工具?
Palworld的保存系统依赖于GUID(全局唯一标识符)来识别玩家角色。不同服务器类型(合作模式、Windows专用服务器、Linux专用服务器)会生成不同的GUID格式。当你尝试在不同服务器类型之间迁移存档时,服务器无法识别原有的GUID,因此认为玩家没有角色数据,强制创建新角色。
这个问题的核心在于:
- 合作模式使用固定的GUID格式
- Windows和Linux专用服务器生成不同的GUID
- 服务器迁移时GUID不匹配导致角色丢失
- 公会和帕鲁数据关联问题
工具安装与环境配置
系统要求与依赖安装
开始使用前,请确保你的系统满足以下要求:
- Python环境:需要Python 3.10或更高版本
- Palworld保存工具:安装必要的依赖库
- 项目克隆:获取修复工具源代码
打开命令行工具,依次执行以下命令:
# 克隆项目仓库 git clone https://gitcode.com/gh_mirrors/pa/palworld-host-save-fix # 进入项目目录 cd palworld-host-save-fix # 安装Palworld保存工具 python -m pip install palworld-save-tools==0.17.1项目文件结构说明
palworld-host-save-fix/ ├── fix_host_save.py # 核心修复脚本 ├── gui.py # 图形用户界面 ├── extract_byte_data.py # 字节数据提取工具 ├── README.md # 详细使用文档 └── LICENSE # 开源许可证两种使用方式:命令行与图形界面
方法一:图形界面操作(推荐新手)
对于不熟悉命令行的用户,图形界面提供了直观的操作方式:
# 启动图形界面 python gui.py界面操作步骤:
- 选择保存文件夹:点击"Browse"按钮,导航到你的Palworld保存文件夹
- 识别角色信息:工具会自动扫描并显示所有可用角色及其等级
- 选择新旧角色:
- "The new character to overwrite":选择服务器上新创建的角色
- "The old character to fix/keep":选择要恢复的旧角色
- 启用公会修复:如果涉及公会数据迁移,勾选"Guild fix"选项
- 执行修复:点击"Run Command"按钮开始修复过程
方法二:命令行精确操作(高级用户)
对于需要批量处理或脚本化操作的用户,命令行方式更加灵活:
python fix_host_save.py <save_path> <new_guid> <old_guid> <guild_fix>参数详解:
| 参数 | 说明 | 示例值 |
|---|---|---|
<save_path> | 保存文件夹的完整路径 | C:\Users\John\Desktop\my_save\2E85FD38BAA792EB1D4C09386F3A3CDA |
<new_guid> | 新服务器上的玩家GUID(32位十六进制) | 6E80B1A6000000000000000000000000 |
<old_guid> | 旧服务器上的玩家GUID(32位十六进制) | 00000000000000000000000000000001 |
<guild_fix> | 是否修复公会问题(True/False) | False |
完整命令示例:
python fix_host_save.py "C:\Users\John\Desktop\my_save\2E85FD38BAA792EB1D4C09386F3A3CDA" 6E80B1A6000000000000000000000000 00000000000000000000000000000001 False实战场景:三种常见迁移方案
场景一:合作模式迁移到Windows专用服务器
问题现象:只有合作模式主机无法在专用服务器上使用原有角色
准备工作:
- 安装所有依赖工具
- 确保专用服务器正常运行并可连接
- 按照README中的公会bug解决方案处理合作模式存档
详细步骤:
复制保存文件
# 从合作模式复制存档 # 源路径:C:\Users\<用户名>\AppData\Local\Pal\Saved\SaveGames\<随机数字> # 目标路径:PalServer\Pal\Saved\SaveGames\0配置服务器名称
- 编辑
PalServer\Pal\Saved\Config\WindowsServer\GameUserSettings.ini - 将
DedicatedServerName设置为保存文件夹的名称
- 编辑
删除WorldOption.sav
- 删除
WorldOption.sav文件以允许修改游戏设置 - 玩家需要重新选择重生点,但其他数据不受影响
- 删除
验证连接
- 使用非主机角色连接到专用服务器
- 确认世界数据正确加载
创建新角色
- 合作模式主机在专用服务器上创建新角色
- 系统会在Players文件夹生成新的
.sav文件
备份并修复
# 备份原始存档 cp -r "PalServer\Pal\Saved\SaveGames\0\<存档文件夹>" "备份路径" # 运行修复工具 python fix_host_save.py "临时文件夹路径" "新GUID" "00000000000000000000000000000001" False恢复并测试
- 将修复后的存档复制回服务器
- 启动服务器并让合作模式主机使用修复后的角色连接
场景二:Windows/Linux专用服务器互迁
问题现象:所有玩家都无法在目标服务器上使用原有角色
注意事项:此场景必须启用公会修复功能,因为所有玩家都需要迁移
操作流程:
准备工作
- 确保新服务器已安装并运行
- 所有玩家记录好自己的新旧GUID对应关系
批量修复步骤
# 为每个玩家执行修复 # 玩家A python fix_host_save.py "保存路径" "玩家A新GUID" "玩家A旧GUID" True # 玩家B python fix_host_save.py "保存路径" "玩家B新GUID" "玩家B旧GUID" True # 玩家C python fix_host_save.py "保存路径" "玩家C新GUID" "玩家C旧GUID" True公会修复说明
- 设置
<guild_fix>参数为True - 工具会同时更新公会中的玩家标识符
- 避免公会数据丢失和关联错误
- 设置
场景三:专用服务器迁移回合作模式
反向迁移流程:
准备临时存档
# 从专用服务器复制存档到临时文件夹 cp -r "专用服务器保存路径" "临时文件夹"创建合作模式新角色
- 启动新的合作模式游戏并创建角色
- 复制生成的
00000000000000000000000000000001.sav文件到临时存档的Players文件夹
执行修复
# 使用合作模式GUID作为新GUID python fix_host_save.py "临时文件夹" "00000000000000000000000000000001" "目标角色旧GUID" False完成迁移
- 将修复后的存档复制到合作模式保存位置
- 正常启动游戏即可
如何查找玩家GUID标识符
方法一:直接文件查找
- 导航到保存文件夹的Players目录
- 查找格式为
XXXXXXXXXXXXXX.sav的文件 - 文件名(不含扩展名)就是玩家的GUID
示例路径:
PalServer/Pal/Saved/SaveGames/0/2E85FD38BAA792EB1D4C09386F3A3CDA/Players/ ├── 6E80B1A6000000000000000000000000.sav # 玩家A的GUID ├── 8E910AC2000000000000000000000000.sav # 玩家B的GUID └── A1B2C3D4000000000000000000000000.sav # 玩家C的GUID方法二:使用管理员命令
- 在旧服务器设置管理员密码
- 连接服务器并输入
/adminpassword <密码> - 执行
/showplayers命令查看玩家ID - 将玩家ID转换为十六进制格式
转换示例:
# 假设玩家ID为12345678 python -c "print(format(12345678, '08x'))" # 输出:00bc614e- 在Players文件夹中查找以该十六进制开头的
.sav文件
常见问题与解决方案
问题1:公会功能异常
症状:修复后公会成员无法正常工作,帕鲁不执行指令
解决方案:
- 在合作模式迁移前,将公会所有权转移给其他角色
- 让合作模式主机退出公会后再进行迁移
- 迁移完成后重新加入公会
问题2:帕鲁不工作
症状:帕鲁在基地中不攻击敌人或不执行工作
解决方法:
- 进入基地,打开队伍菜单
- 对每个帕鲁使用"丢弃"功能
- 重新拾取所有帕鲁
- 等待5分钟让帕鲁重新注册到正确公会
问题3:左键攻击失效
症状:无法按住左键进行连续攻击
解决方法:
- 退出当前公会
- 重新加入公会
- 攻击功能恢复正常
问题4:查看笼不兼容
注意:查看笼在专用服务器上不受官方支持
预防措施:
- 在合作模式迁移前拆除所有查看笼
- 避免在专用服务器上使用查看笼功能
工具的工作原理与技术细节
GUID修复机制
工具的核心功能是修改保存文件中的GUID标识符:
- 解析保存文件:将
.sav二进制文件转换为JSON格式 - 定位玩家数据:在Level.sav和玩家.sav文件中查找GUID引用
- 替换标识符:将旧GUID替换为新GUID
- 更新关联数据:同步更新公会、帕鲁等关联数据
- 重新压缩:将修改后的JSON转换回.sav格式
数据安全措施
- 操作前警告:工具会明确提示数据风险并要求确认
- 参数验证:检查GUID格式、路径有效性等
- 错误处理:提供详细的错误信息和解决方案
- 备份建议:强烈建议在执行前备份原始存档
最佳实践与注意事项
操作前必须完成的检查
- ✅ 确认已安装Python 3.10+
- ✅ 确认已安装palworld-save-tools==0.17.1
- ✅ 备份原始保存文件夹
- ✅ 记录所有玩家的新旧GUID对应关系
- ✅ 根据迁移类型选择合适的修复参数
迁移后的验证步骤
基础功能测试
- 角色属性、物品、技能是否完整
- 基地建筑和设施是否正常
- 帕鲁队伍和基地工作状态
多人交互验证
- 公会功能是否正常
- 交易和组队功能
- 基地共享权限
长期稳定性观察
- 连续游戏30分钟无崩溃
- 保存和加载功能正常
- 服务器重启后数据持久化
故障排除指南
错误:GUID长度不正确
- 原因:GUID不是32位十六进制数
- 解决:检查文件名是否包含.sav扩展名,只使用纯GUID
错误:保存路径不存在
- 原因:路径输入错误或文件夹不存在
- 解决:使用绝对路径并确认文件夹存在
错误:新旧GUID相同
- 原因:误将同一GUID用于两个参数
- 解决:确保新旧GUID来自不同服务器
错误:玩家保存文件不存在
- 原因:玩家未在新服务器创建角色
- 解决:先在目标服务器创建角色生成.sav文件
项目贡献与支持
报告问题
如果遇到工具无法解决的问题:
- 详细描述迁移场景和步骤
- 提供错误信息和日志
- 分享中后期游戏存档(30-40+等级)
- 在项目仓库创建Issue
社区支持
- 工具基于开源社区开发
- 特别感谢cheahjs的Palworld保存工具
- 欢迎测试和反馈,帮助改进工具
免责声明
⚠️重要警告:此工具仍处于实验阶段,存在数据丢失风险。请务必在执行任何操作前备份你的保存文件。开发者不对因使用此工具导致的数据损失负责。
通过遵循本指南的步骤,你可以安全地在不同Palworld服务器类型之间迁移存档,避免角色数据丢失,继续你的冒险旅程而无需重新开始。
【免费下载链接】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),仅供参考