作为一名资深帕鲁,我的职责就是帮助各位帕鲁主人们闭着眼睛部署私服,完全不用带脑子。
我就喜欢群里的帕鲁老板们压榨我,拿鞭子抽我让我赶紧上新功能,这不,今天给各位带来一个王炸新功能:本地存档导入 Sealos 帕鲁专属服务器!
和以往一样,这次的功能仍然是菜市场大妈都会用,菜市场大妈学不会的都是垃圾功能。
声明一下:本教程只适用于将本地联机的存档(非专属服务器)导入 Sealos 帕鲁专属服务器。如果你是本地 Windows 开的私服,那么不能参考本教程迁移存档。
注意:操作前如果公会主为档主,需要将公会主转移给其他玩家!
注意:在整个流程完成之前,非档主的其他玩家不能登录服务器!
1. 创建私服
直接打开这个链接:
没错,你看到的就是 Sealos 的应用模板,这些模板可用于快速创建和部署网站和各种应用程序。你可以在模板市场中找到各种类型的模板,这些模板不仅包含了前端项目,还包含了后端和其他各类应用的部署,具体可参考 Sealos 模板市场相关文档。
接下来你只需要设置一下私服的管理员密码(ADMIN_PASSWORD)。
私服名称(SERVER_NAME)以及私服连接密码(SERVER_PASSWORD)是可选参数,如果你想给你的私服加上密码,就需要设置这两个参数,否则不用填。
然后点击右上角的「去 Sealos 部署」。
如果您是第一次使用 Sealos,则需要注册登录 Sealos 公有云账号,登录之后会立即跳转到模板的部署页面。
跳转进来之后,点击右上角的「部署应用」开始部署,部署完成后,直接点击应用的「详情」进入该应用的详情页面。
第一次启动私服会检查当前版本是不是最新版,如果不是最新版可能会在线更新一下。
等待应用变成 Running 状态,然后点击日志按钮查看日志,只要出现了下面的日志,便是启动成功了:
启动成功后,你可以关闭或者最小化「应用管理」App,然后回到「模板市场」的 palworld 应用界面,拉到最下面的「Others」,你会看到有一个类型叫「Service」的资源,它的描述部分有一个字段是这样写的:8211:31039/UDP
,8211 后面的端口就是公网端口,比如这里的公网端口就是 31039。
那么你这个私服的地址就是 hzh.sealos.run:31039
2. 获取上传存档的 URL
打开「应用管理」,进入私服应用的详情页面,点击右上角的「变更」:
然后拉到下面的「高级配置」,点击「编辑环境变量」:
在最后一行加上 RECOVER_FROM_CO_OP_SAVE=true
,然后点击确认:
再点击右上角的「变更」,等待应用重启成功。可以点击日志按钮查看日志:
日志出现了以下我用红框框出来的内容,就说明启动成功了:
内网端口 5011 对应的外网地址就是上传存档的地址(后面我们会用到这个地址),点击右边的复制按钮将这个地址复制下来。
3. 在原档主电脑上下载上传工具
- 工具地址:https://www.lanzv.com/iqxYJ1mmpnva
- 密码:
fgi4
请提前先关闭 Windows 的安全管家,可以参考这个教程关闭:https://zhuanlan.zhihu.com/p/144702965
下载后可能会遇到以下问题,请按照下图所示保存文件。
该工具源码是纯 Python 代码,使用开源软件 pyinstaller 打包,可自行解包查看。如果你还不放心,也可以使用 Python 源码代替执行(需要自行下载依赖库):
import os
import requests
import zipfile39 as zipfile
def upload_file(base_url, file_path, password):
url = base_url+'/upload_map'
zip_name = file_path.split('/')[-1] + '.zip'
# 创建一个zip文件对象
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
# 遍历目录中的所有文件和子目录
for root, _, files in os.walk(file_path):
for file in files:
abs_path = os.path.join(root, file)
# 获取文件相对于目录的相对路径
relative_path = os.path.relpath(abs_path, file_path)
# 将文件添加到zip文件中,使用相对路径
zipf.write(abs_path, relative_path)
files = {'file': open(zip_name, 'rb')} # 添加文件字段
data = {'password': password} # 添加密码字段
response = requests.post(url, files=files, data=data)
print(response.text)
if __name__ == '__main__':
password = input("Enter the admin password: ")
base_url = input("Enter the base url: ")
file_path = input("Enter the file_path: ")
upload_file(base_url, file_path, password)
4. 上传存档
找到下载好的文件所在的文件夹,右键空白区域打开命令提示符(或 Powershell 以及其他终端)。
在终端中输入 ./upload.exe
然后按下回车键。
接下来需要你输入以下几个参数 (输完按回车输入下一个):
admin password
: 创建私服时填写的管理员密码(注意是管理员密码不是服务器密码)。base url
: 填入我们在第2步复制的外网地址。-
file_path
: 本地的存档路径,在C:\Users\用户名\AppData\Local\Pal\Saved\SaveGamese
中。这个就是我们的存档文件夹了,点进去:这里面每一条都是我们的存档,我们按照时间排序找到最新的那个存档点进去。
点进来之后点击文件地址栏,复制这个地址填入终端的
file_path
参数值:然后回车执行,如果看到带有
success
的返回内容就代表存档上传成功。服务器会在几秒后自动重启,可以观察私服应用的日志来确认。如果上传程序返回其他报错内容,请检查信息正确性并重新运行 upload.exe。
5. 进私服!
重启后原档主需使用客户端登录新服务器并选择初始位置,此时可以看到原档案中的建筑物等。只需要捡点东西或者传送点触发自动存档。触发存档后服务器会重启,游戏会掉线。
服务器地址就是我们在第1步获取的私服地址。
6. 再进私服!
等待服务器重启成功后,原档主登录到游戏中,就可以查看到原先的角色信息了,此时其他玩家也可以登录游戏查看角色信息是否同步。最后原档主重新加入公会即可!
一切正常,非常完美,打完收工!
如果中途操作失误,请删服务器重新创建,然后从第一步开始重新操作。