太强了!本地存档一键导入 Sealos 帕鲁专属服务器

上一篇:幻兽帕鲁 Palworld 私有服务器一键部署教程

作为一名资深帕鲁,我的职责就是帮助各位帕鲁主人们闭着眼睛部署私服,完全不用带脑子。

我就喜欢群里的帕鲁老板们压榨我,拿鞭子抽我让我赶紧上新功能,这不,今天给各位带来一个王炸新功能:本地存档导入 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. 在原档主电脑上下载上传工具

请提前先关闭 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. 再进私服!

等待服务器重启成功后,原档主登录到游戏中,就可以查看到原先的角色信息了,此时其他玩家也可以登录游戏查看角色信息是否同步。最后原档主重新加入公会即可!

一切正常,非常完美,打完收工!

如果中途操作失误,请删服务器重新创建,然后从第一步开始重新操作。

进群!

宇宙最强帕鲁私服 QQ 群:343680491

posted @ 2024-01-31 11:09  米开朗基杨  阅读(409)  评论(0编辑  收藏  举报