万神殿修复

0 点赞
奇迹时代4
转载

一个针对特定问题的特别指南 本指南是关于什么的? 我在调查一个bug时丢失了我28级的万神殿。 我找回了我28级的万神殿。 表面上看,事情本应很简单。只需简单备份你的存档就行。但实际上,游戏给你设置的障碍简直如同地狱一般。本指南记录了我对一个bug的观察,该bug会导致你的万神殿无法访问,看起来像是数据完全丢失,但实际上数据仍然存在。包括派系、领域、等级等数据都还在,只是你无法再使用它们了。 本指南是针对PC/Steam版游戏【v1.002.004.78464】版本编写的。 目前尚不清楚该问题与PC/GOG.com版【78464/64499】版本中报告的类似问题是否存在关联。目前尚不清楚该问题与PC/Epic Games Store上报告的类似问题是否存在关联。 抱歉,我的英语不太好,因为它不是我的母语。 这是什么类型的漏洞? 玩家报告的漏洞是他们的存档似乎丢失了,包括会话信息、派系、领域和万神殿。目前尚不清楚具体是什么原因导致了这个问题,但在我的测试过程中,我发现了一个能可靠触发该问题的原因。 Steam云服务 问题本身并非源于Steam云服务,而是该服务与游戏启动时出现的故障之间的相互作用。这种情况主要发生在刚刚应用补丁之后。这一点在游戏发售后的前两周尤为明显,期间发布了两个补丁和一个额外的游戏热修复版本。 截至2023年5月14日,总共有: - 3个主分支版本 - 10个热修复分支版本 未计入包含DLC的子分支。 一旦触发该故障的条件满足,万神殿和所有其他进度信息将变得无法访问。由于故障的特性,其原因尚不明确,且没有已知的修复方法。推测是由于数据丢失导致。 那么究竟发生了什么? 首先需要了解《奇迹时代4》的存档是如何存储的。本指南的相关文件可在以下位置找到: 本地:..Steam userdata YOURID 1669000 remote(将YOURID替换为您个人的实际Steam ID数字) 我的Steam文件夹位于专门用于游戏的特殊SSD上。如果您在安装Steam时保留了默认设置,可能会在操作系统存储驱动器的C: Program Files (x86)中找到您的文件夹,路径类似C: Program Files (x86) Steam userdata YOURID 1669000 remote。 此外,游戏日志和全局设置(如视频选项)可在此处找到(其他配置文件设置可在保存游戏位置中找到)。 日志:..文档 Paradox Interactive 《奇迹时代4》日志 全局设置 ..文档 Paradox Interactive 《奇迹时代4》配置 ================================== 我们的重点将放在万神殿文件上,该文件直接影响游戏能否读取其他信息。如果游戏无法读取万神殿文件,那么在该万神殿下创建的派系、领域等也将无法访问。因此它们会变得不可见,就像游戏丢失了它们/就像你的存档被删除了一样。 因此,我们重点关注位于以下路径的【FILE】文件: ..Steam userdata YOURID 1669000 remote Empire UnknownID 你在那里找到的【FILE】文件就是你的万神殿文件。 为什么它会是那个样子……只有神明才知道……每当该漏洞出现时,游戏会在【Empire】文件夹中以不同的【UnknownID】生成一个新的【Pantheon】文件。当你注意到这一情况时,就有明确证据表明你的游戏和【Pantheon】遭遇了这个特定的漏洞/故障。

只能有一个……但你可以看到两个未知ID文件夹对应两个万神殿…… 好消息是:除非你的万神殿文件已损坏,否则可以恢复。 坏消息是:弄清楚如何恢复的过程令人不安…… 该如何操作? 到目前为止,我见过的最严重的bug情况是游戏陷入循环。它无法正常保存,而是不断在新创建的未知ID文件夹中生成额外的万神殿文件,导致本地和云存储都变得混乱。 真正的问题在于手动删除云存储中的项目并不容易,而且除了为游戏禁用Steam云服务外,没有有效的方法阻止Steam云服务返回损坏的文件。 因此,这是我们要做的第一件事。《奇迹时代4》云存档服务停用公告 1. 停用《奇迹时代4》的Steam云存档服务 右键点击Steam库中的游戏,选择【属性】

取消勾选Steam云选项的复选框

2. 确定你想要恢复的万神殿 下一步你需要找到UnknownID文件夹以及其中包含你丢失进度的万神殿FILE文件。它很可能是众多新文件中最旧的那个。 3. 备份你的万神殿 复制一份你确定为原始文件的万神殿FILE文件。如果你希望更稳妥,建议备份整个【..Steam userdata YOURID 1669000 remote】文件夹。 4. 清理存档文件夹 删除【..Steam userdata YOURID 1669000】(remote文件夹上一级)文件夹中的所有内容。 将Steam切换到离线模式,以确保Steam云服务不会执行任何操作。进入Steam离线模式后,你可以检查【..】Steam用户数据文件夹YOURID\1669000应该保持为空。 5. 创建占位存档 启动游戏。 你将看到欢迎消息,就像首次进入法师港湾一样。

接下来我所做的是用自定义派系开启启蒙领域。这会触发游戏识别活跃用户并正确创建新的万神殿。此时,新的万神殿文件已经创建——但如果我没有开始实际的游戏会话,该万神殿将失效,这会让我们回到该漏洞的初始状态。 6. 恢复 现在要说的是我无数次测试的结果。我们从备份中取出万神殿文件,然后替换新的UnknownID文件夹中新建的万神殿文件。如果我们复制带有不同UnknownID的旧文件夹,不会有任何变化。但在保留新UnknownID文件夹不变的情况下,仅用旧文件替换新文件,实际上是有效的。这样应该能解决问题。下次启动游戏时,你的万神殿数据就能恢复了。 那我的其他文件呢?游戏进度、派系和领域数据也能恢复吗? 我已经尝试过了。目前我无法为其他文件提供解决方案,因为所有尝试都导致了数据损坏。我甚至不完全理解游戏为什么要以这种方式保存数据。按理说,像《群星》那样,一个派系用简单的文本文件保存就足够了,但现在的情况好像是在这些文件上施加了某种数字版权管理(DRM)。我甚至开始怀疑恢复万神殿数据是否属于一种漏洞利用。但为什么玩家不能备份自己的存档呢?为什么备份存档后,游戏会选择忽略并阻止它? 我还无法解释(目前)。目前,请接受这个解决方案来恢复万神殿,情况就是这样。不多也不少。相信我,这比我预期的要简单得多。感谢阅读,希望你永远不需要用到这些信息。补充:Steam云存储清理。这一步并非必需,但仍然值得关注,因为它是解决更大难题过程中的一部分。答案可能会让你惊讶!

我们需要一个Steam云同步冲突

实现这一点有难度。首先需要禁用该游戏的Steam云服务。然后删除整个存档文件夹,路径为Steam/userdata/YOURID/1669000。启动游戏,它会以新游戏开始并创建新文件,导致与云存储不匹配。另一种方法是修改现有存档文件,使其内容与云端保存的不同,例如用编辑器打开存档,删除部分或全部内容,使文件大小与云端的不同。退出Steam,然后删除Steam/userdata/YOURID/1669000/remotecache文件。启动Steam并重新启用Steam云服务,这将触发我们需要的Steam云同步冲突。当Steam云同步冲突弹窗出现时,先不要确认任何内容,保持弹窗打开。

再次删除……Steam用户数据中的YOURID文件夹下的1669000整个存档文件夹。然后在Steam云同步冲突弹窗中选择以本地文件为参考——由于没有本地文件,游戏的Steam云存储也会变为空。通常情况下,Steam会检测到错误并阻止这种情况发生,除非你在游戏仍运行时(例如通过ALT+Tab切换)再次停用该游戏的Steam云服务。然后通过任务管理器结束游戏进程,这样可以进一步防止Steam云服务在你正常关闭游戏时察觉到异常。这样一来,云存储的内容会保持与你启动游戏时本地存档文件夹同样的空状态,而不会与你启动游戏后新创建的存档文件同步。这听起来很复杂吗?确实不容易,但这方法有效!