存档拷贝后地图在人物不在的存档修复

简介: 存档拷贝后地图在人物不在的存档修复教学

## 现象

用户使用存档上传功能在导入完整的Saved文件夹后,仍然只有地图信息,没有人物信息,需要恢复以前的用户存档。

这种情况可能在这些场景中出现:


- 腾讯云的存档转阿里云

- 已有ECS转计算巢,地图在人物角色丢失


## 具体解决方案

### 前提


1. 执行该修复方案的前提是必须已经有可用的存档备份。

2. 所有人退出游戏。


### Linux

#### 备份、获取steamappid信息


1. 远程登录服务器

  1. 进去计算巢的服务实例页面:[https://computenest.console.aliyun.com/service/instance/cn-hangzhou](https://computenest.console.aliyun.com/service/instance/cn-hangzhou),然后点击具体的服务实例。

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706780769720-4a1e2a22-d6ae-4e95-bccf-e1848f0c1f3a.png#clientId=u544330f1-7a26-4&from=paste&height=806&id=XMXLn&originHeight=806&originWidth=2276&originalType=binary&ratio=1&rotation=0&showTitle=false&size=864262&status=done&style=none&taskId=ua3bbf864-f39b-4355-ad14-79bd11437c1&title=&width=2276)

  2. 点击资源,然后再点击远程连接,弹出页面点击免密登录

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706780956838-1a29c9d6-4d3e-4e4d-81a9-4df4fe8705f2.png#clientId=u9849c735-be7d-4&from=paste&height=1078&id=u07d48e10&originHeight=1078&originWidth=3496&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1697852&status=done&style=none&taskId=u7a259caf-e2b3-400b-ba46-38e457e3ebd&title=&width=3496)

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706780983982-64e97677-fde1-4161-aae9-7afddf3324d0.png#clientId=u9849c735-be7d-4&from=paste&height=984&id=ud459ff39&originHeight=984&originWidth=2554&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1098664&status=done&style=none&taskId=u0dbf7bb1-0679-444b-b074-d565394d0fb&title=&width=2554)

  3. 选择会话管理后点击确定

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706781018434-5d216274-82ad-4c8c-947d-114f5e40c9b5.png#clientId=u8c04d9c5-1ebc-4&from=paste&height=556&id=u1b8ffc45&originHeight=556&originWidth=1780&originalType=binary&ratio=1&rotation=0&showTitle=false&size=392762&status=done&style=none&taskId=u3b778456-b02e-48c4-998b-4940f368d65&title=&width=1780)

2. 先关闭幻兽帕鲁服务端服务

```

# 关闭服务

sudo systemctl stop pal-server

```


3. 备份游戏存档,执行下面命令后将会在/home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Saved_Backup文件夹中创建一个备份的存档文件,如下所示。

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706782080768-0033f2fe-8dd2-4c80-9144-6e7c8c7212dd.png#clientId=u3dfa515d-8cd6-4&from=paste&height=94&id=uf73a6d62&originHeight=94&originWidth=1742&originalType=binary&ratio=1&rotation=0&showTitle=false&size=133832&status=done&style=none&taskId=u8d789833-b22a-41d8-91bb-47c2964964d&title=&width=1742)

```

sudo apt install zip unzip

# 定义存档路径和备份路径

destinationDir="/home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Saved"

desParentDir="/home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal"

backupDir="/home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Saved_Backup"


# 生成备份文件的名称,包含日期以便于区分不同的备份

timestamp=$(date +"%Y%m%d%H%M%S")

backupFileName="Saved_Backup_${timestamp}.zip"


# 创建备份目录,如果不存在的话

mkdir -p "$backupDir"


# 打包指定目录到ZIP文件

zip -r "$backupDir/$backupFileName" "$destinationDir"

```


4. 查看steam appId。计算巢部署的Linux路径下可查看此文件Steam appid

```

cat /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt

```


5. 如果显示的是0,则执行下面命令。

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706781464278-fe1dcf3e-e73e-4478-bbd7-170fdb29a91c.png#clientId=u14d715ae-7685-4&from=paste&height=66&id=u324e72fc&originHeight=66&originWidth=2086&originalType=binary&ratio=1&rotation=0&showTitle=false&size=85175&status=done&style=none&taskId=uc04c8ebd-9528-41eb-8269-6e1e68c8557&title=&width=2086)

```

sudo cp /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt.bak

sudo echo 2394010 | sudo tee /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt

sudo chattr +i /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt

```


6. 如果显示的是2394010,则执行下面命令。

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/18856553/1706781428129-85f3924c-02a4-4866-9017-5ed73704beb4.png#clientId=u14d715ae-7685-4&from=paste&height=68&id=u7570abbf&originHeight=68&originWidth=2168&originalType=binary&ratio=1&rotation=0&showTitle=false&size=92260&status=done&style=none&taskId=ue4e9506d-f76c-46b6-a28e-1b50a2298c1&title=&width=2168)

```

sudo cp /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt.bak

sudo echo 0 | sudo tee /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt

sudo chattr +i /home/ecs-assist-user/.steam/SteamApps/common/PalServer/Pal/Binaries/Linux/steam_appid.txt

```


7. 将备份的.zip压缩包解压后替换当前Saved文件。


如果你的计算巢帕鲁服务版本支持 **游戏运维-上传存档,则直接上传你本地的存档即可完成替换。**

如果你的计算巢版本不支持上传存档自动替换,则参考存档[手动替换教程实现存档替换](https://developer.aliyun.com/article/1428619),替换后重启


8. 执行重启命令。

```

sudo systemctl start pal-server

```

### Windows

#### 登录到ECS并备份当前存档


1. 在[计算巢](https://computenest.console.aliyun.com)找到你的服务实例,点击资源类型【实例】的云资源进入ECS控制台


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706781256993-2ba5214e-9ca7-4cfd-8cb3-47b53fe0b91e.png#clientId=u2f6a58a1-73cb-4&from=paste&height=739&id=u2bb30d8a&originHeight=1478&originWidth=3358&originalType=binary&ratio=2&rotation=0&showTitle=false&size=887147&status=done&style=none&taskId=ua2a03fc3-4e72-41a5-abc6-97f484ee507&title=&width=1679)


2. 在ECS控制台详情页右上角点击远程连接,选择workbench登录


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706781367546-9f96ae14-71e5-4cb3-ada6-794ec8e3eee5.png#clientId=u2f6a58a1-73cb-4&from=paste&height=754&id=u6b23b48f&originHeight=1508&originWidth=3218&originalType=binary&ratio=2&rotation=0&showTitle=false&size=1005922&status=done&style=none&taskId=u3431c4c3-55f8-44e7-b7c3-b022b5c0e76&title=&width=1609)

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706781386615-840cd041-5181-4871-9776-85cfc74fbfa8.png#clientId=u2f6a58a1-73cb-4&from=paste&height=653&id=u80689c47&originHeight=1306&originWidth=1976&originalType=binary&ratio=2&rotation=0&showTitle=false&size=625885&status=done&style=none&taskId=u7020eb7f-d29d-4550-8957-c2a20e54556&title=&width=988)


3. 输入密码即可进入


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706781414193-9e6bca11-006c-4e6f-82c8-10fb49305611.png#clientId=u2f6a58a1-73cb-4&from=paste&height=518&id=u2ad966e5&originHeight=1036&originWidth=1770&originalType=binary&ratio=2&rotation=0&showTitle=false&size=434084&status=done&style=none&taskId=u4aae5594-e58e-4c7f-81f5-80a067ae603&title=&width=885)


4. 打开powershell。输入该命令完成备份


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706778560609-d3ffb0d8-077f-4ff5-be31-28bc3e2b7d00.png#clientId=u709f01d8-b038-4&from=paste&height=786&id=GUKI0&originHeight=1572&originWidth=1700&originalType=binary&ratio=2&rotation=0&showTitle=false&size=534761&status=done&style=none&taskId=u75d2c28f-9f20-4ef9-a53b-3be616770f0&title=&width=850)

```

# 定义存档路径和备份路径

$destinationDir = "C:\Program Files\PalServer\steam\steamapps\common\PalServer\Pal\Saved"

$savedParentDir = "C:\Program Files\PalServer\steam\steamapps\common\PalServer\Pal"

# 定义备份目录,确保它不在源目录的子目录中

$backupDir = "C:\Program Files\PalServer\steam\steamapps\common\PalServer\Pal\Saved_Backup"


# 生成备份文件的名称,包含日期以便于区分不同的备份

$timestamp = Get-Date -Format "yyyyMMddHHmmss"

$backupFileName = "Saved_Backup_$timestamp.zip"


# 创建备份目录,如果不存在的话

if (-not (Test-Path -Path $backupDir)) {

   New-Item -ItemType Directory -Path $backupDir

}


# 打包指定目录到ZIP文件

Compress-Archive -Path $destinationDir -DestinationPath "$backupDir\$backupFileName"


# 输出备份完成的信息

Write-Host "Backup completed: $backupDir\$backupFileName"


# 停止 pal-server 服务以准备更新存档

$ProcessName = "PalServer-Win64-Test-Cmd"


if (Get-Process -Name $ProcessName -ErrorAction SilentlyContinue) {

   Stop-Process -Name $ProcessName -Force

   Start-Sleep -Seconds 1

}

```

#### 获取当前的steamappid

计算巢部署的Windows路径下可查看此文件获取Steam appid.windows下可直接搜搜steam_appid.txt该文件,如不存在代表steamappid=0.

```

C:\Program Files\PalServer\steam\steamapps\common\PalServer\Pal\Binaries\Win64\steam_appid.txt

```

#### 根据steamappid的值决定操作

如果当前steam appid=2394010或1623730,下面的执行采用默认情况即可。


1. 路径切换到

```

C:\Program Files\PalServer\steam\steamapps\common\PalServer\Pal\Binaries\Win64

```


2. 打开steam_appid.txt文件,输入0并保存。(steam appid=2394010或1623730)


如果steam appid=0或文件不存在,则新建steam_appid.txt文件,输入2394010并保存

![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706778127223-71199cb5-85ed-472b-82d0-982f496ef014.png#clientId=u709f01d8-b038-4&from=paste&height=741&id=u62c6858e&originHeight=1482&originWidth=3518&originalType=binary&ratio=2&rotation=0&showTitle=false&size=1426047&status=done&style=none&taskId=uf9abbc45-fa79-4bf6-af08-b145ec15f22&title=&width=1759)


3. 右键打开该文件属性,设置为只读。


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706778228633-68e1a9b0-332b-4e7b-98a5-bb430ca6ec21.png#clientId=u709f01d8-b038-4&from=paste&height=792&id=u3238cb71&originHeight=1584&originWidth=3544&originalType=binary&ratio=2&rotation=0&showTitle=false&size=1789396&status=done&style=none&taskId=ufa8ce6fe-1cc1-41d7-a4cb-2ea81da25bb&title=&width=1772)


4. 打开Powershell,输入该指令


![image.png](https://yuque.antfin.com/images/lark/0/2024/png/63156287/1706778560609-d3ffb0d8-077f-4ff5-be31-28bc3e2b7d00.png#clientId=u709f01d8-b038-4&from=paste&height=786&id=udb5712d0&originHeight=1572&originWidth=1700&originalType=binary&ratio=2&rotation=0&showTitle=false&size=534761&status=done&style=none&taskId=u75d2c28f-9f20-4ef9-a53b-3be616770f0&title=&width=850)

```

$TaskName = "PalServerAutoStart"

Start-ScheduledTask -TaskName $TaskName

```

#### 将之前备份的存档覆盖当前存档

如果你的计算巢版本支持 **游戏运维-上传存档,则直接上传你本地的存档即可完成替换。**

如果你的计算巢版本不支持上传存档自动替换,则参考存档[手动替换教程实现存档替换](https://developer.aliyun.com/article/1428619),替换后重启


相关文章
|
算法 物联网 定位技术
蓝牙室内定位技术解决方案:核心技术架构与优化实践
本文探讨了蓝牙iBeacon与Lora结合的室内定位技术,分析其在复杂室内环境中的优势与挑战。通过三层架构实现高精度定位,并提出硬件、算法与部署优化方向,助力智慧仓储、医疗等场景智能化升级。
647 0
蓝牙室内定位技术解决方案:核心技术架构与优化实践
|
4月前
|
人工智能 物联网 API
以一杯奶茶为例,带你读懂这35个大模型核心概念
用“奶茶制作”类比大模型核心概念,生动解析数据集、预训练、Token、Prompt、RLHF、RAG、LoRA、多模态、AI Agent等40+术语,轻松理解技术本质,告别名词焦虑!
535 1
|
存储 Go API
使用GoFrame连接和操作TDengine时序数据库
通过使用GoFrame框架和TDengine Go驱动,我们可以方便地连接和操作TDengine时序数据库。无论是插入、查询还是分析时序数据,都可以通过简单的API调用来实现。GoFrame提供了强大的Web开发功能,结合TDengine的高性能时序数据存储和查询能力,可以构建高效、可扩展的时序数据应用。
496 5
|
11月前
|
存储 安全 对象存储
10 天挑战不可能! 30TB 跨大洲云主机迁移!
客户将巴西至非洲超7000公里跨洲36台Windows虚拟机(30TB数据)迁移至南非云节点,面临网络延迟、传输慢、停机窗口短等挑战。通过HyperMotion技术实现增量同步与并发传输,结合对象存储优化,10天内完成全量及多次增量同步,停机窗口最短仅2小时,项目周期从预估6个月压缩至10天,成本不足专线方案10%,保障业务零中断,为全球跨区域迁移提供创新范本。
499 2
|
监控 安全 物联网
Endpoint Protection Platforms (EPP)介绍
端点保护平台(EPP)是一种综合安全解决方案,旨在保护网络中的端点设备免受恶意软件、数据泄露和其他威胁。EPP整合了防病毒、数据加密、入侵防护等功能,并可通过云端管理实现全局威胁情报共享。相比传统防病毒软件,EPP更注重企业级多设备安全管理,支持行为分析与机器学习等高级功能。此外,部分EPP还集成了端点检测与响应(EDR),以应对已突破防线的威胁。在网络安全中,EPP和EDR各有侧重:EPP重预防,EDR重响应,二者结合可构建更全面的安全体系。
932 0
|
数据采集 人工智能 搜索推荐
库存积压3000万到选品成功率45%:AI如何破解代购系统的“赌品”困局?
本文字数较多,我将为你撰写一段符合要求的简介,控制在240个字符以内: AI与大数据助力代购系统实现智能选品与精准用户画像,通过数据驱动提升选品成功率与用户复购率,结合实战案例解析技术落地路径,助力企业实现智能化转型。
centos8 Failed to download metadata for repo ‘base‘: Cannot download repomd.xml
centos8 Failed to download metadata for repo ‘base‘: Cannot download repomd.xml
1746 1
|
测试技术 数据库 Android开发
大学生心理健康APP的设计与实现
大学生心理健康APP的设计与实现
1302 0
Vue3多选框(Checkbox)
这是一个可高度定制的多选框组件,支持多种属性设置,如复选元素数据、是否禁用、垂直排列、当前选中值、间距、展示区域宽高及全选样式控制等。提供了在线预览和示例代码,便于快速集成与自定义。
1212 1
Vue3多选框(Checkbox)

热门文章

最新文章