游戏内调试记录
日期:2026-09-14。游戏:Space Engineers 1.210.014,Windows x64。
本报告通过 XFE 自研加载器实际加载 XFE.SeAgent.Plugin.dll,由 xfe-se 读取正在运行的游戏。实测结论来自连续遥测、编程块实例和游戏返回值;模拟测试另行说明。
环境与数据保护
- 测试存档包含 13 个 AMS 编程块:1 个舰队主控、12 台矿机。写操作仅授权调试副本;副本配置为离线、自动保存间隔为零。
- 首轮副本为
XFE Agent Debug AMS 20260914-172143。结束后复核原存档 25 个文件,哈希全部一致,没有新增或删除文件;通过world.exit {"save":true}保存副本并正常退出。 - 本轮使用新的
XFE Agent Debug AMS 20260914-182847副本;准备记录为artifacts/verification-world-preparation.json。该副本完成探索、两次 7 号返航及后续 2 号捕获修复复测。 - 收尾核对 13 个实际 PB 的源码摘要均与最终构建清单相符,均有编译实例且无编译错误。原存档按准备阶段相同范围复核(排除已有
Backup目录),25 个文件哈希及清单完全一致。副本保存成功后正常退出,游戏进程已结束。核对结果保存在verification-live-final-programs.json、verification-final-audit.json和verification-game-final-exit.json。 - AMS 原工作区存在用户尚未提交的修改,修复在独立工作树完成,保留原工作区。私人存档、完整实例快照和原始飞行记录保留在本地
artifacts/,不随源码提交。
已验证的插件能力
| 检查 | 实测结果 |
|---|---|
| 加载器、游戏线程 Update、带关联 ID 的管道请求 | 实际加载成功,多次启动均正常建立端点 |
| 授权副本加载 | 从主菜单加载成功,ready=true、onlineMode=OFFLINE、canMutate=true |
| PB 枚举、源码与编译状态 | 13 个编程块均有实例,基线无编译错误;部署后可核对源码摘要与编译结果 |
| 受限实例检查 | 可读 AMS 任务、飞控、事件和游戏编译器生成的 MemorySafe 集合 |
| 设备遥测 | 可读相机、推力覆盖、连接器约束点、库存、网格速度以及含装甲的船体完整度 |
| 源码部署、备份与命令 | SHA-256 前置校验、持久备份、游戏内编译及继续/探索/返航命令均实测成功 |
| 截图、暂停和保存 | 生成并人工核对真实 PNG,暂停状态和副本保存可读取确认 |
| 正常退出 | world.exit 返回保存成功,随后插件 Dispose、游戏进程退出,加载器记录正常退出 |
首轮发现:不可达探索入口反复绕行
7 号的探索入口距离新鲜的母舰射线命中点仅 1.54 m,矿机避碰半径约 4.88 m。连续 52.53 秒、43 个样本显示约五次局部绕行;脚本时间超过 503 秒时仍执行同一任务。期间实际速度曾从 7.32 降至 0.27 m/s,说明问题包含无法结束任务,不能简单归结为没有制动。
原 Transit 超时依赖瞬时 flight.Blocked。飞控不断找到局部绕点时,该标志会清除,即使长期没有接近入口也不会报告受阻。修复改为:连续 45 秒没有累计接近入口至少 2 m,先制动,再报告 Blocked,等待主控续派;正常缓慢进展和同帧发现小行星仍优先处理。
首轮部署后只观察到返航,没有再次进入探索入口,因此当时尚不能确认超时与续派有效。以下新副本记录补上了这项实机验证。
本轮探索、避让与返航结果
| 场景 | 实测结果 | 本地证据 |
|---|---|---|
| 不可达入口超时 | job-346 在最后一次有效接近后 45.016 秒报告 Blocked;报告后 4.033 秒内首次采样确认已执行下一任务 |
verify-flight-02.jsonl、verification-metrics-stage1.json |
| 同入口任务分组跳过 | 同入口共 42 个任务由原来的 2 个已受阻、40 个未完成,变为全部受阻;随后分配 job-304,入口移动 100.778 m |
verify-group-skip-flight.jsonl、verify-group-planner-storage.json |
| 2 号经过暂停的 9 号 | 旧记录反复因 9 号触发避让;船体窄筛修复后,2 号实际通过该位置到达泊位末段,新记录没有再次出现避让 9 号的原因文本 | verify-two-return-flight.jsonl、verify-final-two-flight.jsonl |
| 2 号末段捕获修复 | 新版实际穿过旧标定终点并连接到分配泊位,最终“待命中”;连续记录没有再次进入末段停滞或退让 | verify-capture-fix-connectors.jsonl、verify-capture-fix-two-flight.jsonl |
| 7 号正常探索 | 连续记录包含 27 个不同任务的 SurveyEmpty 报告,每个都有实际 Scan 数据,任务为 job-304 至 job-330,正常续派 |
verify-final-seven-explore.jsonl |
| 7 号返航与再次出航 | 第一次两端确认 Connected 后正常离港并继续探索;探索结束后的第二次返航也由两端确认连接,最终状态为 Servicing,原因“待命中” |
verify-final-connectors.jsonl、verify-seven-return-connectors.jsonl、verify-final-seven-explore.jsonl |
| 停靠后推进器 | 最终版本的 2 号、7 号各 16 个推进器全部 enabled=false,实际推力和推力覆盖均为零 |
verify-two-docked-hardware-final.json、verify-seven-docked-hardware-9553.json |
**计时口径:**45.016 秒使用 PB 内部进展时间与报告状态时间相减;4.033 秒是报告到首次观察到下一任务的采样上界,不能当作精确的调度耗时。下一任务记录的状态起始时间距报告约 2.783 秒。42 个是整组任务数,其中本次新转为受阻的是 40 个。
上述阶段的矿机源码摘要前缀分别为:超时验证 b191430cf9ab,分组跳过验证 2aed54ad323c,避让改善和本节返航验证 1146850d83e9。不能将不同部署阶段的遥测混为同一版本。
2 号与 9 号的球形误判
旧筛选使用的两船合计球形间距约 10.263 m。两船姿态对齐、2 号沿该对接轴直行时,横向中心间隔约 4.905 m,由实际船体边界计算的净距约 0.405 m,并不存在球体重叠所暗示的船体相交。旧逻辑因此反复让行,妨碍接近。
改进后的筛选使用真实船体边界和连续时间的有向包围盒检查,并保留旋转、遥测年龄和旧版遥测的保守处理。本轮实机证明 2 号能通过这一具体位置;0.405 m 的结论仅适用于所核对的对齐直线路径,不代表转弯、横移或任意姿态均有同样净距。几何输入和来源记录在 verification-review-stage2.json。
船体完整度前后核对
逐一比较 verify-final-hull-baseline-predeploy.json 与 verify-final-hull-after-survey.json,并在捕获修复后再次核对 verify-all-hull-final.json:13 个网格的 ID、方块数和完整度对象全部一致,检查均未截断,包含装甲块。
| 网格 | 数量 | 每个网格方块数 | 每个网格当前/最大完整度 | 损伤与变形 |
|---|---|---|---|---|
| 矿机 | 12 | 85 | 47,056 / 47,056 | 当前伤害、累计待处理伤害、受损块、变形块均为零 |
| 母舰 | 1 | 1,310 | 5,389,514 / 5,389,514 | 同上 |
这些记录支持本轮前后没有船体完整度损失或变形;完整度不变本身不能证明绝无任何物理接触。
2 号末段:旧标定终点导致停滞
避让修复后,2 号已实际到达泊位末段。verify-final-connectors.jsonl 显示两端连接器均启用、正常工作且完好,所有者相同,接口轴向相反、横向偏差约毫米级;然而一直保持 Unconnected。
其约束点间距曾降至 0.302131 m,对应连接器方块中心距约 2.134378 m,随后回退并稳定在约束点间距约 0.395 m、中心距约 2.228 m。verify-final-two-flight.jsonl 在约一分钟内反复记录“距离 0.0”、指令速度 0.5 m/s,而实际速度接近零,最后触发对接超时退让。
代码中旧目标恰好位于标定接触点。飞控到达或越过目标后,位移方向会改变;极近距离还会使用船体前向作为备用方向。对于后置连接器,这会使接近指令在旧终点附近反向。仅提高速度标量的下限,不能保证持续朝接口内侧移动。实测约束点闭合速度曾依次约为 0.510、0.456、0.147 m/s,之后间距增大,符合该停滞机制;这些速度由相邻物理帧的约束点间距计算,没有把指令速度当作实际速度。
作为同一现场的对照,7 号第一次返航在中心距约 2.009880 m 时仍未连接,下一样本在约 1.993233 m 时已由两端确认连接;当时约束点间距约 0.160985 m。第二次返航也成功,最终硬件快照约束点间距约 0.165789 m。这些是此现场的观测值,不能推广为所有连接器的固定捕获阈值。
捕获距离的判定边界
对本机实际 Sandbox.Game.dll 的只读 IL 核对表明:TryAttach 中约束点距离平方小于 0.35 是后续条件之一;其平方根约 0.591608 m,不能直接当作充分的自动捕获半径。
在检查这一距离之前,引擎还必须通过模型连接探测区域、候选网格和方块搜索找到另一连接器;之后还有工作状态、友好关系、物理状态、连接器类型和相向角度等条件。自动尝试捕获约每 40 个仿真帧进行一次,PB 的 Connect() 也不能把一个尚未建立磁性约束的任意连接器强制变为已连接。
因此,“约束点已近于 0.592 m”或“曾经在这个中心距离保存过标定”都不足以证明新一次接近必定能捕获。现有公开遥测不能确定 2 号具体未通过哪一项内部候选搜索条件;可以确认的是,旧飞控会停在尚未捕获的名义终点,而 7 号在继续靠近后成功连接。
2 号捕获修复:实机通过
新修复保留名义接触点用于姿态、误差和诊断,仅在已标定且完成姿态同步的接近阶段,将控制目标沿连接器轴向内延伸 0.6 m,避免在旧终点反向。若实际位置越过名义接触点内侧 0.35 m 仍未捕获,则先制动并进入退让;每次先检查 Connectable,已经磁性吸附时优先锁定。0.35 m 是退让触发线,并非忽略惯性的硬停止边界。方向依据母舰连接器轴线,针对后置、侧置、无捕获退让和 40 帧捕获相位的闭环回归已加入。
矿机源码摘要 9553e0ec92de8fc93c814852f37ff088f579c038ca8bdcf6c06b57e0f44d28ab 部署后的实机复测包含 539 个连接器快照及 242 个 PB 飞行样本。2 号本次成功锁定分配的母舰连接器,双方 otherConnectorId 相互匹配,并进入 Servicing、原因“待命中”;记录结束时保持连接。7 号在这段记录中也始终正确连接于自己的泊位。
| 观测点 | 结果 |
|---|---|
| 穿过旧标定终点 | 连接器中心距连续从 2.283269 → 2.172449 → 2.062360 → 1.952804 m,越过旧标定 2.226946 m,没有在该终点反转停住 |
| 穿越前后实际径向闭合速度 | 由约束点距离差与物理帧差计算,依次约 0.5115、0.5081、0.5056 m/s |
| 最后两个 PB 接近样本 | 实际速度 0.511136、0.505106 m/s,指令速度均为 0.5 m/s |
| 首次双方确认连接 | 11:21:05.8727451 UTC,第 312 个连接器样本、物理帧 76233;前一未连接样本为 11:21:05.6561569 UTC,因此转换位于约 0.217 秒的采样区间内 |
| 首次 PB 确认待命 | 11:21:05.886378 UTC,Servicing、原因“待命中” |
| 连接后几何 | 首次连接中心距约 1.829180 m,约束点距离约 0.003129 m;这些是当前安装的实际结果,不是通用连接距离 |
| 本次复测损伤 | 2 号、7 号和母舰在全部 539 个快照中,方块数与完整度均未下降,无损伤或变形记录 |
原始证据为 verify-capture-fix-connectors.jsonl 与 verify-capture-fix-two-flight.jsonl。全部 64 个 DockApproach PB 样本的实际速度最小为 0.505106 m/s,末段正常持续靠近。紧接锁定前的另一个约束点区间平均闭合速度约 0.494740 m/s,跨越锁定的区间约 0.009169 m/s,其中可能包含制动、吸附和速度归零;不能据此把指令值当成任意时刻实际速度的硬下限,也不能省略这些较低的区间值。物理帧速度按每秒 60 帧换算,与墙钟采样间隔计算的速度分开。
这一复测验证了旧终点停滞问题的修复及 2 号实际完成捕获。它不意味着所有安装误差、捕获轮询相位和移动母舰条件都已穷尽验证。
调试工具修正与自动检查
本次工具调试同时修正了实时仿真速度读取(使用 MyPhysics.SimulationRatio)、MemorySafe 集合检查、库存 kg/m³ 单位和货物库存分类,并增加实际连接约束点、连接器状态及有上限的全船体完整度遥测。第一次 Windows 关闭窗口触发过游戏 IME 卸载异常,后续改为调用游戏自身的 world.exit,正常保存并退出已实测。
现有自动验证记录:完整 AgentBridge 解决方案 Release 构建零警告、零错误;46 项 .NET 检查通过,覆盖真实 Windows 管道、权限、队列、取消、响应大小、CLI 进程与记录;9 项 Python 检查通过,使用临时用户目录验证存档复制与原始文件保护。这些检查不替代实际飞行验收。
AMS 最终完整构建中英文各 856/856 项测试通过,八份导出逐一通过编译、角色、字符限制及摘要核验。中文矿机 97002 字符,摘要 9553e0ec92de8fc93c814852f37ff088f579c038ca8bdcf6c06b57e0f44d28ab;中文主控 97973 字符,摘要 8a42840b6e3d73f578814d27e3fc3ccb8bfabc59231bc126b9008781f1122030。英文矿机、主控分别 99403、99131 字符。完整记录为 ams-build-9553e0ec-8a42840b.json。
本报告尚未证明整套舰队长时间采矿、发现矿产后的钻探分配、多矿小行星显示及所有方向相机布局组合全部通过。27 个 SurveyEmpty 证明本轮真实扫描与续派,不代表已经找到矿产或完成采矿。