绯红沙漠遥测

绯红沙漠遥测

开源ASI插件,通过本地HTTP/WebSocket API和JSON输出提供实时玩家位置、玩家根朝向和相机数据。包含可选游戏内调试HUD(默认禁用)。面向模组制作者和工具开发者。无需DLSS。

描述

为您的《红色沙漠》项目提供实时玩家与摄像机数据。

《红色沙漠遥测》(Crimson Desert Telemetry) 是一款开源 ASI 插件,通过一个文档化的本地 API 提供玩家和摄像机信息。它为社区模组、界面增强、灯光集成、无障碍工具及其他应用提供了共享基础——无需每位开发者都独立寻找相同的游戏数据。

无需 DLSS。 摄像机数据直接取自游戏原生摄像机源,即使在禁用图像增强时也是如此。

该插件会在后台自动启动其遥测主机,无需手动单独启动。它本身不会更改游戏数值或添加灯光效果。

一个可选的游戏内调试 HUD 让您可以直观看到数据运行情况。HUD 默认完全禁用;遥测功能无需 HUD 即可正常工作。

安装说明

  1. 关闭《红色沙漠》。
  2. 安装下方列出的所需组件。
  3. 将完整的 CrimsonDesertTelemetry-v1.0.0-ModManagers.zip 导入您的模组管理器。
  4. 启用并部署该 ASI 插件。
  5. 启动游戏并加载存档。

请将所有配套文件放在一起。仅安装 .asi 文件是不足够的。

本地测试期间使用了 Definitive Mod Manager。该软件包也以 JSON Mod Manager 为目标,但其完整的安装/更新/移除流程尚未经过验证。

可选游戏内 HUD

在游戏关闭的状态下,打开 CrimsonDesertTelemetry.ini,并修改 [Overlay] 区块下的 Enabled 选项:

[Overlay]
Enabled=1

重启游戏。

  • F8: 显示或隐藏 HUD。
  • F9: 显示或隐藏诊断详情。

HUD 显示玩家与摄像机的朝向、摄像机俯仰角、视野和玩家坐标。位置、缩放和不透明度可在 INI 中配置。

要完全禁用 HUD,请设置:

[Overlay] Enabled=0

然后重启。对于在配置中被禁用的 HUD,F8 键无法将其激活。

更新或卸载

务必先关闭游戏。

更新时,请用新版本替换二进制文件以及两个 .cfg 配套文件。只有 .ini 文件包含您的设置;.cfg 文件是运行时元数据,不得重命名或视为用户配置。

现有的 INI 可能会保留您之前的 HUD 设置。

卸载时,请在游戏关闭状态下,通过模组管理器禁用并取消部署该插件。不支持在游戏运行期间卸载。

主要功能

  • 玩家位置: 实时世界空间坐标。
  • 玩家朝向: 物理根节点的前向/上方向向量,以及有效时的派生方向角。
  • 摄像机变换: 世界位置及前向、右向和上方向向量。
  • 摄像机投影: 垂直视野、宽高比和近裁剪面。
  • 本地 API: HTTP 快照、健康信息、JSON Schema 和 WebSocket 流。
  • 脚本友好输出: 通过命令行主机输出 JSON Lines。
  • 可配置采样率: 默认为 60 Hz,可在 1–240 Hz 之间调整。此为目标速率,并非实时保证。
  • 可选英文 HUD: 由 Dear ImGui 驱动的游戏内可视化。
  • 构建验证: 不支持的版本会被拒绝,而不会使用猜测的偏移量进行读取。
  • 开源: MIT 许可项目,附带文档和客户端示例。

面向开发者

默认 API 地址为:

http://127.0.0.1:27311

可用的端点:

  • GET /v1/health
  • GET /v1/snapshot
  • GET /v1/schema
  • WebSocket:
    ws://127.0.0.1:27311/v1/stream
    

服务器仅在本地机器上监听。所有客户端共享同一个采样器。

API 参考文档涵盖了字段、坐标约定、不可用数据、时间戳、流传输和重连等内容。同时提供了 Python 和 JavaScript 示例

需求

  • Windows x64
  • 受支持的《红色沙漠》Steam 版本: 24994088,可执行文件版本 1.0.0.2658
  • 一个 ASI 加载器
  • .NET 8 ASP.NET Core 运行时(Windows x64),可从微软 .NET 8 下载页面获取。使用打包模组无需安装 SDK。

游戏更新可能需要插件同步更新。目前不支持其他可执行文件版本。

兼容性和范围

  • 无需 DLSS。 已在开发用 NVIDIA 系统上验证了禁用图像增强的冷启动。AMD/Intel GPU 硬件尚未测试。
  • 可选的 HUD 目前支持 DirectX 12 和 8-bit SDR 输出。HDR 和帧生成兼容性尚未验证。
  • 玩家朝向描述的是物理根节点,而非单个骨骼或动画身体姿势。
  • v1.0.0 不包含光源遥测。
  • 摄像机远裁剪面距离目前未知,将报告为 null。
  • 采样与引擎帧并非原子同步。集成方应按照文档说明处理不可用和过时的数据。

致谢

感谢《红色沙漠》模组社区分享研究与工具,特别是 CrimsonDesertCoopCD Companion,其公开资料提供了有用的研究方向。

可选的 HUD 使用了 Dear ImGuiMinHookJSON for Modern C++。这些库的作者和贡献者理应获得赞誉。依赖许可证和声明包含在下载文件中。

研究参考和依赖详细信息记录在溯源说明中。

源代码、文档和问题报告: GitHub 上的 CrimsonDesertTelemetry

这是一个非官方社区项目,与 Pearl Abyss 无关联,也未获得其认可。不包含任何游戏资源。