集成存储 - 非官方社区修复版

集成存储 - 非官方社区修复版

非官方Bug修复重建版,基于Sarfflow的集成存储3.2。修复了客户端崩溃问题,消除了持续卡顿,并让公会宝箱生效。所有功劳归Sarfflow。

这是什么

并非一个新模组。它是对 Sarfflow 的 集成存储 3.2 版本的重建,修复了三个漏洞。所有的设计、所有巧妙的构思以及所有功劳都属于 Sarfflow。我只做了修复和重新编译。

原版自 7 月 26 日以来一直未更新。我进行这些修复是因为我认为这个模组本身非常出色,而这些漏洞使其在专用服务器上无法使用。

如果 Sarfflow 发布了新版本,请使用他的版本。 届时我会将此页面指向他的版本!

修复了什么

1. 客户端崩溃 游戏过程中随机崩溃到桌面,最常见于打开物品栏或建造菜单之后。异常始终相同:在 [font=Courier New]main.dll+0x2EFFC[/font] 处读取 [font=Courier New]0x00000001E3020068[/font] 时发生访问冲突。

该问题于 7 月 31 日在 Nexus 上被报告,并在另一台机器上以逐字节相同的故障地址复现,因此并非个案。

Sarfflow 已经修复了这个问题。 他在 GitHub 上的公开源码用一个保护措施包装了崩溃代码,并附有一条注释指出了这个确切的崩溃。该修复于 7 月 28 日提交,比他在 7 月 26 日编译并上传 3.2 版本晚了两天。发布文件只是早于他自己的修复。重建他的源码就是这里全部修复内容。

2. 卡顿 Nexus 上反复出现的关于卡顿的抱怨:“几乎每秒准点卡一下”、“1% 低帧每秒下降 80%,每三秒一次”、“每秒永远冻结一毫秒”。这是真实存在的,就是这个模组导致的。

该模组通过扫描游戏中的每一个对象来查找游戏对象,并且在三个计时器上执行此操作:一个每 300 毫秒在你站在基地时运行,一个无论何时每秒运行,另外两个在你每次打开箱子或物品栏时运行。

这些查找现在已被正确缓存。模组不再扫描所有东西,而是记住对象所在的位置并检查那个位置,仅在对象确实消失时才回退到完整扫描。安全性相同,但没有性能开销。

3. 公会箱子曾被忽略

长期存在的报告:公会箱子中的物品不计入建造。

该模组通过匹配一个内部类名来查找箱子。公会箱子是另一个不同的类,所以每次都被跳过。现已添加。在我的存档中,这使模组找到的箱子数量从 18 个增加到 25 个。

未修复什么

坦白说,因为这个模组有很多公开的报告,而其中大多数并非人们所想的那样。

  • 使用槽位扩展模组时打开箱子缓慢。 这不是本模组的问题。我测试了禁用所有脚本模组,结果相同。如果你运行像 All Storage Slots x10 这样的模组,游戏会在预期 50 个槽位的情况下绘制 500 个槽位,这就是性能开销所在。x2 或 x3 的槽位模组感觉还行。
  • 精炼箱子和高级箱子。 有几份报告称这些箱子被忽略。我检查过,它们能被正确找到。无论那里出了什么问题,都不是箱子扫描的问题。
  • Vortex 安装。 很多“不工作”的报告都是因为 Vortex 把文件放错了位置。请参阅下面的安装说明。
  • Game Pass 和 Xbox。 这些版本在六月份被重新打包过,UE4SS 模组的加载方式不同。我无能为力。
  • Linux 服务器。 UE4SS 仅支持 Windows。
  • 在某些多人游戏设置中,客户端看不到共享材料。 有真实报告,但我无法复现或找到原因。未做改动。
  • 与 Infinite Weight In Camp 冲突。 两个模组都会停止工作。两个模组在争夺同一个游戏功能。无法从单方面修复。

安装

需要 UE4SS(实验性帕鲁构建版),与原版相同。

服务器和每个客户端上安装相同的文件夹。这是一个文件,会根据其运行在哪一端而有不同的行为。仅安装服务器端或仅安装客户端都无法正常工作。

将 [font=Courier New]ModIntegratedStorageCpp[/font] 放入:

[font=Courier New]<游戏或服务器>\Pal\Binaries\Win64\ue4ss\Mods\[/font]

最终你应该得到:

[font=Courier New]ue4ss\Mods\ModIntegratedStorageCpp\enabled.txt ue4ss\Mods\ModIntegratedStorageCpp\config.txt ue4ss\Mods\ModIntegratedStorageCpp\dlls\main.dll[/font]

感谢 fightingchristian 指出的关于 Vortex 用户的情况: Vortex 一直将此模组部署到错误的文件夹,结果看起来就像“模组没起作用”。请检查上述路径是否确实包含这些文件。如果没有,请手动将它们复制到那里。这是 Vortex 的问题,不是模组的问题,这也影响了原版。

检查它是否已加载。 打开 [font=Courier New]ue4ss\UE4SS.log[/font] 并查找:

[font=Courier New][ISGATE] === IntegratedStorage 3.2-perf3 loaded ===[/font]

如果缺少该行,则 UE4SS 未加载该模组,其他一切都不会生效。

鸣谢与源码

Sarfflow 编写了这个模组。原页面:整合所有营地存储。源码:github.com/Sarfflow/palworld-integrated-storage,采用 MIT 许可。

崩溃修复是他的自己的代码,不是我的。它已经在他的仓库中,只是从未被编译进一个发布版本。

根据他的许可发布,该许可允许附有署名的修改版漏洞修复发布,并遵循其源码的 MIT 许可证。MIT 许可文件包含在下载中。

感谢 Okaetsu 提供的帕鲁 UE4SS 构建。

查看我的其他模组!