母狐核心

母狐核心

为我的模组提供的一个小型诊断层。

描述

Vixen Core 是《机甲战士 5:雇佣兵》的诊断伴侣模组,基于 UE4SS 构建。我最初构建它是为了了解自己的模组在底层究竟在做什么,后来它发展成了一个值得分享的东西。在你游玩时,它监视比赛、合同和机甲状态,并将所看到的内容写入位于其自身旁边的本地 JSON 文件:哪个阵营生成了合同、生成了哪些敌人以及在哪里、随时间的推移生命值、热量和装备配置,以及你的模组选项实际被设置成了什么。

它不改变任何东西。它安装的每个钩子都是只读的。它只进行观察;从不写回任何值。安装此模组不会影响战斗、生成、奖励和平衡。

一切都保留在你的机器上。此模组中没有网络代码。它只将纯 JSON 写入自己的 out/ 文件夹,不写入其他任何地方。你可以随时删除这些文件。删除整个模组文件夹,它的所有痕迹都会消失。

为什么安装它:如果有东西坏了,附上日志,我就能真正看到发生了什么,而不是我们俩都在猜。一个包含真实遥测数据的支持包,能把“它坏了,请帮忙”变成我可以据以行动的 bug 报告。而且,无论有没有 bug,它都是一扇了解你的模组列表在菜单之下正在做什么的窗口。

设计上保持中立。Vixen Core 从不假设你的安装中存在任何特定模组。它会捕获游戏自身 Game.ini 的全部内容(每个部分、每个模组,而不是手工挑选的列表),因此任何集成了 Mod-Options 的模组的设置都会自动显示出来。如果 Vixen Arena(或其他任何东西)没有安装,那么相应的部分就不会存在。不会出问题,也不会进行任何猜测。

它捕获什么

  • 比赛和合同生成:运行了哪个生成器、合同的阵营和变体数据、雇主和对手信息、奖励和打捞条款。
  • 实时名册:模组观察到的每个机甲、载具、炮塔和 VTOL,包含底盘、变体、吨位、重量等级、队伍、阵营(尽力而为,见已知限制)、各部位生命值、热量、位置,以及可用时的装备配置、武器和弹药状态。
  • 比赛生命周期事件(地图加载、游戏状态初始化),以及可用时的任务后摘要(奖励、打捞、飞行员记录)。
  • 模组选项值,适用于本模组系列以及任何已安装的其他集成了 Mod-Options 的模组:会话开始时游戏自身 Game.ini 中每个部分的快照,以及在每次点击 Apply 时对每个设置更改的实时捕获。

模组无法确认的每个字段都会如实标注,而不是猜测。

输出

  • out/snapshot.json:当前比赛/世界状态的滚动快照,在比赛激活期间大约每秒重写两次。
  • out/events.jsonl:钩子触发、状态变化、设置切换和生命周期事件的仅追加日志,每行一个 JSON 对象。
  • out/pawnclass_dump.txt:每个类一次性的反射转储,对任何想查看给定机甲类上存在哪些属性的人都很有用。

它完全属于你。阅读它、绘制图表、将它输入你自己的工具,或者删除它,模组会在下次启动时重新创建它所需的内容。

按键绑定

F8 强制立即生成快照,重试任何尚未绑定的钩子,并对场上的每个 pawn 进行全面扫描。基线覆盖不需要它,一旦你进入职业生涯会话或比赛,遥测就会自动开始。如果某个特定会话看起来缺失数据,请按 F8,在最初几分钟内最有用。

需求

截至撰写本文时,仅在 UE4SS 3.0.1(实验构建 1005)上测试过。其他 UE4SS 构建可能可用,但未针对此模组测试。

安装说明

  1. 按照 UE4SS 自身的说明将其安装到 MW5Mercs 的 Binaries Win64 文件夹中。
  2. 将此下载中的 UE4SS_Signatures 文件夹复制到同一个 Binaries Win64 文件夹中,使 FText_Constructor.lua 文件与 UE4SS.dll 和 Mods 文件夹处于同级位置。
  3. 将此下载中的 VixenCore 文件夹复制到 Binaries Win64 的 Mods 文件夹中。
  4. 启动游戏。会出现一个 UE4SS 控制台窗口;几秒钟内你应该会看到 [VixenCore] ready,且没有 PS scan timed out 错误。

兼容性

需要 UE4SS 3.0.1+(包含捆绑的兼容性签名)。按设计可与 Vixen Arena(可选,非必需)以及任何其他模组一起工作。游戏玩法冲突:无。每个钩子都是只读的,没有任何东西被覆盖。

已知限制

  • 每台机甲的阵营归属是尽力而为。在游戏未暴露直接读取的情况下,该字段会如此说明,而不是猜测。
  • 少数字段(尤其是每台机甲的弹药,使用一种 UE4SS 支持尚未经验证的 Lua map 类型)会优雅降级为带标签的占位符,而不是崩溃。
  • 每台机甲的友方/敌方队伍分配目前没有已确认的直接读取;它是根据小队规模推断的,而不是从专门的队伍字段读取的。
  • 在职业生涯存档加载路径上,深层反射层会保持解除武装状态,直到第一个游戏内事件将其打开;如果加载存档后快照看起来很薄,请按一次 F8。
  • 在此 UE4SS 构建上,一些任务后摘要字段(打捞、任务简报、协商的 C-Bill 细节)可能会捕获到类型标签而不是真实值,这是底层结构体解码路径中的已知限制。

崩溃披露

此模组在 UE4SS 下运行,它有一个已知的上游原生崩溃类别,由激烈的战斗活动触发,与此模组自身的 Lua 代码无关。任何 pcall 都无法捕获原生崩溃。如果你在安装 UE4SS 后遇到崩溃,最快的测试是完全禁用 UE4SS(重命名游戏 Win64 文件夹中的 dwmapi.dll)。如果崩溃停止,那就确认了 UE4SS 而非 Vixen Core 是原因。

作者注

我在本地有更复杂的插桩,OTEL -> ClickHouse,如果有任何遥测爱好者有兴趣搭建这套技术栈,我不介意提供一些指点。

致谢

设计与代码由 Crimson Vixen 完成。MIT 许可证(捆绑的 LICENSE 文件)。