本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。
原文链接:点我访问
**起因:**最近大火的开放世界缝合体游戏幻兽帕鲁的大火也是引起了博主的注意,然后博主和周边小伙伴纷纷入手,博主也是利用自己的PC搭建了游戏服务器跟小伙伴们一起游玩。但是临近过年,博主需要回家过年,家里断电,到时肯定服务器不会运行,故引起博主的思考,有没有一种办法能够将幻兽帕鲁服务器存档转到线下单人存档呢???
参考资料:https://nga.178.com/read.php?tid=39076684
一、转移准备
- palworld-host-save-fix:一个最近在存档转移上应用最多的Git项目之一,你需要将其下载到你的电脑上。
- 在自己的电脑上安装Python3+。
- 点击这里下载Rust,下载完毕后右键选择以管理员进行安装。
- 点击这里下载Visual Studio 2022社区版本
- 将云服务器的存档进行复制备份,其通常位于 游戏服务器安装位置/PalServer/Pal/Saved/0/xxxxxx,我的建议是将Saved文件夹直接进行复制备份。
二、环境配置
我们在接下来要对palworld-host-save-fix的环境进行配置,首先是Python3+,这一步此处省略,网上教程很多,大家可以直接去网上搜索教程。
2.1 Cargo(Rust)安装
其次是uesaver-rs,这个库是用来解析二进制文件,并且能够将其转化为json文件,但是安装uesaver-rs需要对**Cargo(Rust)**进行安装。这里就用到了我们准备工作中的Rust安装包,下载完毕后右键以管理员运行。
这里会提示你电脑无环境,输入1。
然后你会发现其帮你下载了一个Visual Studio 安装器,这个暂时不管,此时cmd如下图所示。
输入1,选择默认安装,结果如下图所示,按下回车以继续,窗口自动关闭,至此Cargo(Rust)安装完毕。
2.2 安装Visual Studio,并安装C++编译器以及Win10SDK。
打开我们下载的Visual Studio 2022社区版本,右键以管理员运行,点击继续,此时如下图所示,下载器对本体进行下载。
此时按照下图进行勾选,分别选择使用C++的桌面开发,Win10SDK以及MSVC v142 -VS 2019C++ x64/86生成工具,然后点击右下角安装。
等待下载完毕,取消勾选安装后启动(其实取不取消都无所谓,无非她安装完会启动一下,手动关闭亦可)
2.3 安装Uesaver-rs
按下win+R,输入CMD,启动cmd回车命令行。
输入代码cargo install --git https://github.com/trumank/uesave-rs.git
,如果前面步骤安装顺利的话,其会下载很多依赖并且无报错,那么就意味着安装成功,安装完毕后输入uesave --help
,会显示其相应版本。
常见问题:
- 报错缺少一个叫做link.exe文件,参考:https://stackoverflow.com/questions/63390924/rust-link-exe-not-found,意味着你需要重回2.2步骤,对c++编译环境进行安装。
- 下载过慢,显示443或者time out。参考这两篇文章进行修改,分别对应着有魔法与无魔法的两种情况:
- 有魔法:Git报错: Failed to connect to github.com port 443 解决方案
- 无魔法:rust cargo配置本地仓库源
读到这里我们就已经走完一大半路程了,只需最后的临门一脚。
三、存档转移
以我们备份的Saved文件夹为例,我们下边的操作也全部是围绕着备份的Saved文件夹进行。
此教程的备份Saved文件夹位于E盘,即E:\\Saved。
先打开游戏,新建一个本地单人存档,进入以后创建新角色,随机推出,打开其存档位置,通常位于:C:\user\用户名\AppData\local\Pal\Saved\SaveGames\xxxxxxxx\xxxxxxxx,xxxxx通常是一串数字和字母的混合字符串。
找到存档中的Players,会发现其下仅有一个0…00001.sav,选中将其复制到E:\Saved\SaveGames\0\0F7733564B49EC9D77D646B6CE1F4575\Players中,注意:0F7733564B49EC9D77D646B6CE1F4575为博主服务器存档文件夹名称,可能与读者的不一样。
此时E:\Saved\SaveGames\0\0F7733564B49EC9D77D646B6CE1F4575\Players,中如下图所示:
已知其中的01840DDA000000000000000000000000.sav为博主的个人存档玩家数据,00000000000000000000000000000001.sav为博主本地单人存档玩家数据,E:\Saved\SaveGames\0\0F7733564B49EC9D77D646B6CE1F4575 为博主的备份服务器存档(地图数据+玩家数据)
利用记事本打开我们准备工作中下载的Palworld-host-save-fix文件夹下的fix-host-save.py,
找到下图所示的代码,将其中的**/全部修改为\\**,并保存。
重要的一步要来了!!!!!
win+R打开CMD,cd到下载的Palworld-host-save-fix文件夹下,博主的位于E:\palworld-host-save-fix-main\
需要输入的命令则是
e:
cd E:\palworld-host-save-fix-main\
执行如下命令:
python3 fix-host-save.py "C:\Users\15892\.cargo\bin\uesave.exe" E:\Saved\SaveGames\0\0F7733564B49EC9D77D646B6CE1F4575 01840DDA000000000000000000000000 00000000000000000000000000000001
等待数分钟,等待页面出现**Fix has been applied! Have fun!**即可。
删除刚刚创建的新的单人本地存档,并打开steam,点击小齿轮选择属性,关闭steam云同步(此步必须进行,不然打开游戏会将你修改过的存档进行覆盖)
最后我们只需要将我们备份存档Saved文件夹下的0F7733564B49EC9D77D646B6CE1F4575,直接拉至\AppData\local\Pal\Saved\SaveGames\xxxxxxxx\xxxxxxxx(本地存档位置)即可,拉过去以后如下图所示:
此时打开游戏,点击开始游戏,选择你转移好的存档,进去以后你会发现,你的世界还是你的世界!
祝君好运