XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

AutoMiningScript

【SpaceEngineer】全自动挖矿脚本

公开
关注 0 Fork 0 Star 0
UTF-8

XFE AMS 2.0 验收记录

本文是可重复执行的验收步骤,不是已完成飞行的证明。未记录执行日期、版本、存档与结果的游戏内项目均视为未执行

开发机检查

2026-09-14 本轮修复配置后自动接港。用户诊断显示主控有6台在线矿机、0个泊位、2台等待,3号“标定=否 / 等待泊位与外部等候点”。只读核对08:51存档:母舰实际组名为 AMS DocksAMS Cargo,中文配置引用“采矿泊位”“基地货仓”;3/4号仍处于返航,其余4台已停靠。母舰共8个连接器,采矿组只管理6个,不能用接管全部连接器代替修复组名。原游戏存档未修改。

新增21项检查覆盖默认中英文组名兼容、自定义组名精确匹配、母舰网格过滤、缺失泊位原因回传与重扫恢复;主控暂停时为两台空中矿机分配不同泊位;初始自动返航恢复电池供电及储氢罐供气、暂停/人工接管持久化、返航各阶段重新获取许可、孔内沿原轴退出。首次未标定对接以实际控制输出积分,分别测试后置/侧置连接器、20/130米来向及1/2.8/5米实际中心间距;锁定后才测量保存标定。5米间距模型在修正首次低速窗口前两项失败,修复后通过。115项返航、矿机状态与对接定向检查通过,日志为 obj/auto-home-targeted.log。模型使用理想姿态、空旷相机和模拟连接器状态,不能替代真实碰撞、吸力、充能与多人联机验证。

本轮执行 ./build.ps1 -NoRestore:中英文各576/576项逻辑测试、413对资源及8项生成器检查通过;八份工程和实际导出均编译为0警告、0错误,通过编译角色、无角色配置模板及旧字段兼容检查。文件字符数与SHA-256已逐项核对 dist/manifest.json,全部小于100000字符。完整日志为 obj/auto-home-final-build.log,当前产物以本轮构建为准。真实游戏新增验证见 S42—S43、F37—F38,均未执行。

2026-09-14 主控初始化改为彻底重置:不带目标的 初始化 / init 在解析存档、恢复推进及初始化故障处理之前执行;先写入新的空状态标记,再重建主控和消息缓存,保留自定义数据。删除旧 INI 迁移器及41项已不适用的迁移专用用例,新增39项重置回归。覆盖中英文入口、正常及损坏/超大/恢复中存档、配置错误时先清空、立即重启、当前格式恢复、定向初始化与重扫不删档、批次隔离、旧遥测不能重新登记、空中返航、孔内退钻、人工控制与损坏硬件、重复重置不增加监听器、标点终端旧消息取消与存档。真实游戏中的重置召回仍需执行下表 F15—F17。

执行 ./build.ps1 -NoRestore 后,中英文各555/555项测试通过,412对语言资源及8项生成器检查通过;八份实际导出均通过编译类型、无角色配置模板及旧字段兼容检查。工程和导出脚本编译0警告、0错误,字符数均小于100000,SHA-256与清单一致。最终完整日志为 obj/fleet-reset-verified-build.log

2026-09-14 删除角色配置:类型直接取编译角色,新模板和参数页均移除角色项。旧英文/中文角色字段在别名冲突校验前忽略,原CustomData不重写,编号与实际参数仍正常校验。新增7项回归覆盖四种内部类型、错误和空旧值、混合语言旧字段冲突、真实初始化保留原配置;模板和参数页既有检查已同步更新。83项配置、初始化、协议和界面定向检查通过(obj/remove-role-targeted.log)。执行 ./build.ps1 -NoRestore 后,中英文各557/557项测试通过;八份实际导出均通过模板无角色字段及旧字段不能覆盖编译类型的检查。412对资源、8项生成器检查通过,编译0警告、0错误,所有产物未超过100000字符且SHA-256与清单一致。完整日志为 obj/remove-role-final-build.log

2026-09-14 导出角色修复:前一轮将 CompiledRole() 转为表达式时误删了 FLEET/MARKER/WATCHDOG 条件分支,导致三类脚本的初始化角色均为 miner。原550项测试统一以MINER条件编译,未覆盖各角色的导出初始化;原“编译和测试通过”记录不能证明角色正确。新增 tools/Verify-PackedRole.cs,直接在已压缩、重新编译的脚本上执行角色选择和配置构造,检查缺省配置、本地化模板、已有正确配置、错误角色拒绝。它在旧中文主控、标点和看门狗产物上均按预期失败(实际miner),在旧矿机产物上通过。现已恢复全部条件分支,并在文件首行注明角色。执行 ./build.ps1 -NoRestore 后,八份导出角色检查全部通过,中英文分别550/550项逻辑测试通过,417对资源及8项生成器检查通过,编译0警告、0错误。八份产物的字符数、SHA-256与清单一致,实际正文的品牌和语言也已核对;完整日志为 obj/role-export-fix-build.log。这些角色检查不模拟游戏硬件或物理。

2026-09-14 前一轮新增探索地图,并修复再次返航时的轴线接近故障。106项地图、返航、对接、舰队占用和预算定向检查已通过,日志为 obj/map-return-targeted.log。当时执行 ./build.ps1 -NoRestore:中英文分别550/550项测试通过,417对资源键匹配、8项生成器检查通过,工程及导出脚本编译均为0警告、0错误;八份脚本均未超过100000字符,实际长度和SHA-256与当时清单一致。历史日志为 obj/map-return-final-build.log;该批产物存在上文的角色错误,已由本轮修正版替换。真实游戏返航和地图显示仍待下方项目验收。

只读核对07:26存档:3号和4号均为故障,末次原因分别为“对齐超时 / 扫描区域1/18暂无可用视线 / 距离91.1m”和相同原因的126.7m;母舰停靠1/2号。将这两种距离及31.2m入口边缘代入单前向45°镜头的飞控模型,修复前均无法前进并进入退避。额外复现入口前等待错误累计失败、旧故障的retry=3沿用到新返航;新增7项返航回归中6项修复前失败,修复后全部通过。模型完成了真实控制方法调用、推力积分与连接器几何检查;不等于真实游戏对接已经通过。原存档未修改。

新增16项探索地图检查覆盖:实际射线在命中处截断、包围盒经RESULT和任务存档往返、旧记录不虚构轨迹或面积、无命中/行星/飞船区分、非法坐标、实体去重、未知尺寸后续补全、旋转投影面积、无实际扫描不填亮、图外平行射线裁剪、方屏/宽屏/竖屏的16机ID标签、超过8颗的小行星轮播、清空任务、实际矿机扫描上报。以实际Sprite帧导出的离线预览为 obj/map-preview-zh-CN.png;使用替代字体,不是游戏截图。绘图缓存继续以64个任务为每帧上限分步汇总,原2048任务预算回归继续有效。

2026-09-14 上一轮处理连续探索、故障隔离和多泊位调度。123项定向回归已通过,日志为 obj/fleet-upgrade-targeted-final.log。当时执行 ./build.ps1 -NoRestore:中英文分别527/527项测试通过,412对资源键匹配、8项生成器检查通过,工程及导出脚本编译均为0警告、0错误;八份脚本均未超过100000字符,实际长度和SHA-256与当时清单一致。历史日志为 obj/fleet-upgrade-final-build.log;当前产物以本轮构建与清单为准。

新增检查覆盖:完成一条探索射线后空中续派;试钻优先于其它射线;只领取同一搜索区任务;区域忙碌与结束区分;空中载荷60%和已锁存充电时按实际任务预算判断,不误套用停靠门槛;低能源返航仍保留任务;暂停、返航、人工接管和乱序任务不能被续派覆盖;孔内先退钻再续派;导航相机命中直接转为表面报告;完成回执与最后归属跨检查点恢复。原测试中“每条射线必须返航”和“远处停稳故障必须保留整条出港通道”已按本轮行为更新,其余未知占用与退钻保护继续验证。

试钻入口额外验证:单前向镜头、距接近点0.8米且相机尚未就绪时,不能提前切到孔口对齐;恢复扫描后,飞到0.4米到达容差内,再原地对齐并完成入口检查,进入钻采。它与观察点允许1米误差的规则分开,避免入口处再要求相机看不到的细微侧移。

多机检查覆盖4/16个独立泊位并行、进出港并行、相交通道互斥、紧急请求优先、未知占用不超时释放、靠泊退避后释放原许可、故障在港内/港外及掉线清名单后保留实际空间。交叉路线测试将主控让行决策接到实际飞控推力输出,以理想姿态和空旷摄像机模型积分两船位置;两船到达各自目标且最小中心间距不少于5米(两船半径各2米)。另验证前船不向后船让行、静止故障产生候选绕行点、过期位置不能授权绕行、正式对接不受旧让行或绕行指令影响。它们不等同于游戏中的惯量、网络延迟、相机充能、碰撞和16机30分钟运行验收。

只读核对06:21存档:4号为“三次靠泊失败”,持有旧版全局对接通道;1号等候、2/3号停靠且无法获得出港许可。这证明截图故障属于靠泊链路,并非“未探测到小行星”。存档未修改;本轮改为独立通道和实际空间占用,并保留最后一次靠泊失败原因。

此前探索观察点导航与扫描切换修复执行过 ./build.ps1 -NoRestore:中英文分别494/494通过,日志为 obj/survey-navigation-build.log,当时资源409对。该记录为历史结果;当前产物以本轮构建、测试与清单为准。

本次探索导航修复新增12项检查:抵达观察点前保持实际航段朝向;大气下直线与斜向到点时保持反重力上方向,避免提前使用向下探测姿态导致侧滚;将存档四台矿机相对目标的3.4—4.1米偏差及探测朝向代入单前向45°镜头模型,执行到 Raycast() 接口调用和结果回传;已进入观察状态、偏离名义坐标0.6/0.9米时不再要求侧移修正;小行星命中生成实际命中位置、实体编号、40米深度及更高优先级的试钻任务;航路扫描不足时显示具体原因;探索镜头未充能时保持等待,不上报无命中。修复前9项导航/扫描回归及2项大气朝向回归失败,修复后105项探索、规划、矿机状态和返航导航定向检查通过。测试保持普通航路避障,通过实际推力指令积分平移、以理想姿态响应模拟转向,射线命中由模型提供,不能代替游戏物理验收。

此前只读核对2026-09-14 05:21存档:四台矿机均使用93740字符脚本,状态为 Transit,速度0,尚未进入 Survey;2—4号各有一个与控制参考同向的摄像机,1号有8个。四机都已经转到探测方向,但尚未到达观察点。当时修复了观察点导航与原地转向扫描的切换;本轮进一步把扫描后的强制返航改为空中续派。原存档未修改,新版实机探索及后续钻采尚未验收。

上一轮扫描修复新增10项检查:实际存档14米接近位姿与8个摄像机布局;远端命中后完整扫描才能授权障碍前的净空;重扫期间保留受阻原因;近障碍立即撤销冲突净空;障碍消失后须完整重扫才解除;缺失、NaN、Infinity命中位置不得用实体中心推算安全距离;使用实际推力输出接近阻挡平面并在船体接触前停车;贴合面之后的母舰表面不阻止正常连接。前4项扫描回归在修复前均失败,修复后通过。旧绕行检查改用近障碍触发绕行,远处命中可先利用已验证空路;扫描尚未完成不向任务层报告整条航路不可通行。这些扫描能力保留给普通航行与前往进港点的阶段,正式对接按本次要求不再调用扫描。

此前对接导航套件包含19项检查,从取得许可一直执行到连接器 Connect() 和卸货状态:静止与1m/s匀速母舰、前后45°镜头、5/20/30米近港恢复不绕远、0.1m/s最终速度的30米完整接近、通过原60/30米位置时连续移动、偏置与侧置连接器的开口及上方向对齐、修正旧人工标定偏差、末端姿态与横向门限、持续前进超过4分钟、实际受阻超时、母舰连接区域之外的障碍、许可变更、直线航迹衔接与急转弯制动、离港保持原接港姿态。另有3项扫描连续性检查,验证直线延长保持新鲜净空、旧证据不超范围、转向仍使原净空失效。本轮将障碍与无新鲜扫描的限制断言移至入口前航行,正式对接改为断言不发起射线;模拟船体完全不响应推力时仍检查超时与许可保留。远处等候点取得许可后应先进入前往入口的阶段,抵达入口才进入正式对接。

此前正式对接修复新增13项检查覆盖:2.8/14/30米正式对接时无相机充能或模拟障碍仍能真实调用 Connect();转入对接清除旧绕行与扫描限制;入口外80米轴向与侧向航行仍需扫描;诊断显示实际指令速度与扫描关闭;以10999.4kg质量、每轴28800N推力,在20Hz与60Hz步长下叠加0.05—0.11°/s角速度测量波动,2.8米贴合能够完成;稳定后出现明显横向偏移、姿态、横向速度或角速度异常时仍暂停轴向贴合。修复前,两项角速度波动回归均复现重新进入同步等待,正式对接无扫描与旧绕行清理回归也失败;修复后79项摄像机、返航导航和对接定向检查通过。模拟使用理想平移响应,角速度读数作为扰动注入,不能代替实际陀螺、惯量或碰撞验证。

用户本轮诊断记录:许可有效、距离2.8米、相对速度0.01m/s、姿态误差0.0°、接口横向偏移0.00m、角速度差0.05°/s、扫描净空5.3米。只读核对04:51存档时,前进方向4个推进器各有约835N覆盖指令,阻尼关闭。此证据排除了当时界面上的许可与扫描等待,但存档未保留逐帧稳定窗口和实际推力,不能唯一确定游戏内停滞原因。此次修复针对已复现的稳定窗口反复重置及用户指定的正式对接免扫描行为;2.8米实机复测仍待执行。

这些模拟使用实际飞控输出和理想执行器响应,并按两个连接器的位置、开口及上方向决定是否可连接,没有模拟游戏真实惯量、力矩限制、连接器吸力或完整母舰碰撞几何。只读核对的2026-09-14 04:26存档运行93155字符矿机脚本,保存的遥测为“等待船体包络扫描 / 沿预约通道轴线接近”:目标距离14.0米、速度0、姿态误差0.0°、接口横向偏移0.04米。8个已开启摄像机的布局与位姿在无障碍模型中可以完成全部18个检测区域。存档未保存当时的射线命中、充能和扫描缓存,因此不能据此确定实际命中了哪块母舰结构,或认定游戏内回港已经通过。原游戏存档未修改,离线几何结果保留在 obj/dock-scan-geometry.json

此前联合摄像机修复将测试总数由420增加到437。摄像机列表的定时刷新已取消,相关测试改为验证初始化、显式初始化/重扫的增删识别、网格与分组限制,以及返航、等候、暂停、人工控制期间不自动重建列表。联合扫描检查覆盖三个前向镜头中一个被本机遮挡时由其他镜头共同完成18次有效检测、单个检测点遮挡不排除该镜头的其他用途、不清除已有新鲜净空、近处航点和细长船体的可视采样位置、本段内外障碍区分、充能与过期数据。入口确认和探索采样同时验证首个镜头自命中后使用其他镜头、全部自命中时保留待检测状态。87项相关定向检查先通过,再执行完整双语检查。

此前只读核对了2026-09-13 15:34保存的目标矿机:保存时有9个已开启的摄像机,前后左右均有镜头,未配置硬件方块组限制;该存档内的业务脚本为86980字符。使用存档位姿、控制参考、最后一个返航航迹点与本机原版方块尺寸复算,18个采样方向在几何上均至少被2个镜头覆盖。复算没有执行真实射线,也没有恢复瞬时充能、遮挡或业务脚本内存中的摄像机缓存,不能据此确认游戏内返航成功。原游戏存档未修改,离线几何结果保留在 obj/saved-camera-geometry.json

此前新增的81项检查覆盖开放返航与绕行的实际朝向、等待点停稳后对齐及距离滞回、重复返航保留进度、离港返航沿通道退避、相机自命中/充能/净空过期、目标姿态悬停检查;真实接港自动标定、重连重新测量、初始硬件重试与人工驾驶优先;主控定向启停及诊断回传、单机停止意图存档;中文配置/命令入口、旧英文兼容、冲突别名和中文屏幕配置。这些检查继续通过。

历史326项测试覆盖进港许可与导航原因诊断、人工接港恢复、核对游戏 PB 陀螺接口后的24种安装方向收敛、离港许可保持、离线名单清理与改名安全占用、默认5%离港载荷阈值、清空任务后的安全撤离与即时存档、大型旧存档分帧迁移、自动称重、指令预算退让、16机调度与双语界面。本轮按用户要求删除旧档迁移与其专用测试,改用主控初始化清空与批次隔离回归;其他行为继续验证。测试中的理想旋转/平移响应不包含游戏实际惯量、力矩限制、连接器吸力、真实字体渲染或游戏注入的逐条指令计数;预算测试验证调度边界与状态完整性,不能证明任何规模都低于实机50000条限制。

本次导出产物 字符数 限额
dist/zh-CN/AutoMiningScript/script.cs 95,329 100,000
dist/zh-CN/AutoMiningFleet/script.cs 94,402 100,000
dist/zh-CN/AutoMiningMarker/script.cs 38,055 100,000
dist/zh-CN/AutoMiningWatchdog/script.cs 35,368 100,000
dist/en-US/AutoMiningScript/script.cs 99,194 100,000
dist/en-US/AutoMiningFleet/script.cs 95,958 100,000
dist/en-US/AutoMiningMarker/script.cs 38,431 100,000
dist/en-US/AutoMiningWatchdog/script.cs 35,578 100,000

已核对八份文件的 SHA-256 与 dist/manifest.json 一致。中文产物包含中文字串,英文产物没有中文字串;每份脚本只包含对应的一种语言标识。后续修改应以重新执行构建产生的清单和测试报告为准。

下方游戏内项目仍全部未执行;特别是三趟无人循环及 16 机运行 30 分钟,不能用上述自动化测试替代。

运行 ./build.ps1。脚本失败即停止,不继续交付过期产物。

  • 四个角色的中文、英文版分别通过 C# 6 / net48 / x64 编译和 MDK2 PB 分析。
  • MDK2 生成八份独立 dist/<zh-CN或en-US>/<角色工程>/script.cs,每份不超过 100000 字符;品牌及语言必须与目录匹配。
  • 用游戏默认命名空间包裹每份导出文本后,再次离线编译通过;这能检出打包移除自定义 using 后失效的类型名。
  • 对八份已编译的压缩脚本执行类型选择和配置检查,预期类型分别为miner/fleet/marker/watchdog;新模板不含角色字段,旧错误角色字段不能覆盖实际类型。不得仅依靠文件名、首行注释、清单或统一MINER编译的逻辑测试判断类型正确。
  • 生成脚本没有外部 Helper/IProgramBase 依赖,不调用远控自动驾驶航点执行导航。
  • 纯逻辑测试全部通过。游戏 API 库能编译,不意味着目标游戏版本行为一致。
  • 语言资源键和格式占位符逐项匹配;生成器拒绝重复键、缺失键、非字符串值及非法格式。
  • 两种语言分别运行同一套测试;编程块屏幕的无标签发现、关闭配置、组内去重、副屏选择、参数分页和告警颜色通过 Sprite 捕获验证,不能代替真实字体渲染验收。

逻辑测试应覆盖:

子系统 必测情形
配置与存档 错误 INI、缺省项、NaN/Infinity、非法范围、零坐标、旧版本/角色/ID 不匹配、重启许可失效;主控 init 在正常/恢复中/故障状态下清空旧数据,配置保留,旧格式不迁移,空状态立即持久化
控制数学 不同控制器/陀螺方向、六向推力分配、重力补偿、刹车距离、非共线连接器、连接器转动线速度
能源 不同容量电池加权、不同容量氢罐加权、低电兜底、动态返航预算、充电锁存、满电超航程
周转 默认 ≤5% 连续两次完整扫描允许出港检查、0 恢复严格清矿、Empty 与离港载荷许可分离、异常撤销许可、石头/冰/保留补给正确计入、能源及航道不能被载荷阈值绕过
规划 手动范围覆盖、入口点为世界原点、向内点不同、冻结世界坐标、发现去重、扩挖边界、两空环停止
协议与调度 原子消息、重试去重、旧会话/旧序号/旧批次拒绝、断线未知占用、互斥许可、低能源返航优先;clear-tasks 的取消水位与撤离占用;init 后清空重试、重新握手、人工驾驶优先、孔内沿原轴退出,晚到消息不能恢复旧数据
本地化 中文配置/运行命令、原英文别名、身份与GPS原文保留、冲突别名不改写数据;内部协议/存档值与数字格式稳定;标点状态重新加载后使用当前语言;未知矿种标识不被破坏
编程块显示 默认主屏参数页、关闭覆盖、分组去重、副屏显式启用、字体与页面覆盖、参数分页、故障与过期数据颜色

游戏内测试准备

  1. 使用可恢复的测试存档,启用编程块。记录游戏版本、世界设置、模组列表和服务器模拟速度。
  2. 先测试 1 台无子网格矿机,记录空载/满载质量、各方向有效推力、储能和储氢容量、钻头覆盖、钻尖偏移、摄像机朝向。
  3. 母舰接收货舱留有足够余量;泊位外侧至少覆盖配置的接近和等待距离,确认不会扫过其他船。
  4. 保留 [飞行] 起飞质量=0 自动称重,或配置正数手动覆盖;真实接港后等待自动标定和质量有效,在主控运行 诊断 矿机编号 检查。在安全位置确认 交还控制 矿机编号 能交回控制。
  5. 安装看门狗时记录其 ID、业务 ID,验证新鲜心跳后才允许 arm。飞行测试前确保能通过人工控制随时接管。

单机验收

编号 操作 预期与证据 状态
S01 太空空载分别向六方向移动/刹车 正确分配推进器、陀螺无反向发散,已扫描净空不足时停止 未执行
S02 大气空载/满载悬停、转向、刹车 使用实际质量/重力/有效推力;不足时拒绝动作并报告 未执行
S03 不同朝向陀螺、偏置连接器重新标定 姿态控制方向正确,连接器能精确对齐 未执行
S04 摄像机不足/未充能/航路有障碍 减速、等待或有限绕行,不穿越未验证区域 未执行
S05 标记浅矿区并完成一个孔 实际钻尖达到目标,船体可通过,退钻沿原轴且不在孔内掉头 未执行
S06 载荷达到阈值/钻头堵塞 提前返航,原孔不被标记完成,卸货后从保存进尺恢复 未执行
S07 非同容量电池触发低电/返航预算 屏幕比例与手工按储能求和一致,提前返航、充电锁存 未执行
S08 全部矿物卸空且能源足够 连续两次库存核验后申请出港,不等待固定停靠时长 未执行
S09 基地满仓/断传送且载荷仍高于离港阈值,或基地无余电且矿机能源不足 停靠并告警,不因超时起飞 未执行
S10 矿机接入大容量母舰库存 小屏载荷/矿量保持只统计矿机;母舰补给不被误卸 未执行
S11 断开前使用氢罐补充/电池充电 起飞前恢复供能,不因Stockpile/Recharge失去动力 未执行
S12 单机连续完成三趟 同时覆盖卸空直发与充电等待;保留状态日志与库存截图 未执行
S13 DepartureMass=0,矿机连接到远重于自身的母舰,分别卸货/补给 保持连接完成自动称重;包含矿机装甲和库存、排除母舰;按世界库存倍率折算,与独立矿机物理质量对比并记录差值 未执行
S14 自动质量扫描中/库存数据过期/改装后重扫,再设正数覆盖 质量未有效时不离港;自带屏动态显示测量状态和 kg;正值停靠检查优先,离港后仍使用实时物理质量 未执行
S15 库存数超过 128 或堆栈总数超过 512,分别在停靠和孔内触发,再修复并重扫 临时结果自动清理,完整旧数据保留且禁止离港;孔内持续原轴退钻返航,能源更新不中断;停靠 rescan 后重新完成两次满足离港载荷条件的完整扫描 未执行
S16 默认 DepartureFill=0.05,依次保持载荷 5.1%、5%、4.9% 和 0%,保留少量矿物 超过 5% 不能放行;≤5% 连续两次完整有效扫描才允许出港检查,0% 同样满足;有残矿时 Empty 仍为 false,不误显示严格卸净 未执行
S17 DepartureFill=0,矿物卸空而补给保留;再在正数阈值模式中增加补给、损坏库存扫描或使载荷回升 严格模式按待卸矿物为零确认;正数模式计入补给体积;异常或载荷超阈值立即撤销离港许可,恢复后重新累计两次 未执行
S18 载荷已满足阈值,但制造低电、超航程、无任务、无航道许可或母舰运动超限 继续停靠并显示对应原因;5% 条件不能绕过能源、任务、动力与安全窗口;正常残余低载不单独触发卸货停滞告警 未执行
S19 陀螺分别正装、横装、倒装;在安全空域分别执行三轴转向与停止,再沿标定姿态离港 姿态误差收敛、无持续左右摆动;首次启用覆盖不会沿用旧角速度;记录空载/重载、陀螺数量及模拟速度 未执行
S20 先遮挡出港方向摄像机,再恢复扫描能力并离港 阻塞原因显示为摄像机/扫描问题,保留任务与航道许可;净空、姿态和出口到达条件满足后转入航行,不能跳过扫描 未执行
S21 新矿机缺少一个必要方块时加载脚本,随后补齐;再实际连接到侧置或旋转的连接器 初始硬件扫描失败后按间隔自动重试;真实连接后自动标定并保存,无需单机输入命令;人工驾驶不被重试夺取 未执行
S22 使用能覆盖船体边缘的前向相机从开放空域返航,并在航路上放置可绕行障碍 机头跟随实际航段及绕行方向,扫描完成后才平移;到外部等待点停稳后才切换泊位朝向,不持续左右切换 未执行
S23 返航期间让相机充能不足、自命中或暂时不可用,再恢复;另测试进港入口外的侧后方无相机覆盖 充能不足时缩短扫描并降低速度,自命中不计净空,过期净空不可放行;入口前缺少覆盖时明确停驻。进入正式对接后不再依赖相机覆盖 未执行
S24 在返航各阶段连续发送返航,在离港阶段发送返航;等待点误差在2米附近波动 重复命令不重置航路和扫描;离港先沿通道退避;等待点采用停稳后对齐、偏离4米重新航行的条件,仍核对许可与稳定窗口 未执行
S25 三个前向镜头,中间镜头被本机遮挡;再让该镜头只在某个检测点受遮挡。测试近处返航点、细长船体、入口确认和探索采样 镜头按区域协作,其他镜头接续检测;同一镜头在其他可视区域继续参与;单镜头自命中不清空已有新鲜净空;近处航点不产生贴近船头的无效扫描要求;所有计入结果的采样点均实际扫描;入口及探索不因首个镜头自命中而误报受阻或未发现表面 未执行
S26 返航或进港等候时新增摄像机,等待30秒,再安全停靠执行主控“重新扫描 编号”;另测试硬件分组 飞行期间不自动重建摄像机列表;初始化或手动重扫后识别新增/移除镜头,启用受管镜头并更新船体边界;分组外镜头不被接管 未执行
S27 在短航点之后放置障碍,再移到本段船体必经范围内;测试所有镜头确实无法观察的区域、失去充能及旧扫描过期 观察距离可超过航点,但可用净空不越过本段边界;本段必经障碍仍制动;没有实际完成的检测不计为有效结果;诊断区分整体覆盖不足与单镜头原因 未执行
S28 从侧方取得进港许可,使用前后镜头、侧置连接器和旧人工滚转标定;分别令母舰静止和匀速移动 直接前往接口前方并进入对接,无强制等待点或60米中间停点;两端开口相向、上方向一致,按实际连接间距补偿控制参考偏移;记录完整进港轨迹和真实连接 未执行
S29 远距离入口航段持续前进超过60秒,再阻断全部可用视线直至60秒无进展;在轴线上放置障碍 正常前进不误报超时;无进展退避并保留具体阻塞原因、距离、相对速度和姿态误差;受限通道不生成横向绕行;退避完成前保留许可占用 未执行
S30 从接口前方5/20/30米恢复,保留指向150米外的旧采矿航迹;另令许可失效 有效新许可下就近进港,不先飞向旧航迹或远处等待点;缺少许可、过期或窗口超限仍不能进港 未执行
S31 设置最终接近速度0.1m/s,从接口前方30米开始,记录速度曲线至真实连接;最后3米制造姿态或横向偏移 正式对接按距离与制动力接近,最后3米才降到最终速度;偏移先修正,首次稳定窗口满足后贴合;诊断显示真实接口偏移、剩余距离、指令速度和扫描关闭 未执行
S32 直线返航经过多个10—15米间距航迹点,再经接口前方进港;对照急转弯、扫描失效及障碍 正常直线连续前进、不逐点刹停;旧扫描仅覆盖原有效范围,转向、过期、真实障碍仍制动。记录真实速度与扫描进度曲线 未执行
S33 普通返航或前往进港入口时,使远端射线命中障碍,再移到船体必经范围内 完成整轮扫描后可沿最近障碍前的已验证范围接近;真正侵入船体范围时制动,不反复丢弃整轮结果。此项不适用于正式对接阶段,正式对接免扫描行为由S36验证 未执行
S34 普通航行中,已完成扫描后在近处引入障碍;下一轮移走障碍,再分别遮挡一个检测区域或耗尽摄像机充能 新近障碍立即撤销冲突净空;受阻原因在重扫期间保留,完整新扫描前不解除;部分扫描、充能失败及过期证据不得授权穿过未知区域。记录每帧扫描进度与推力输出 未执行
S35 接口前2.8米恢复返航,记录指令速度、实际速度和角速度差;分别在取得稳定窗口后施加轻微与明显姿态扰动 轻微越过0.1°/s不反复刹停;默认按0.2m/s完成最后贴合,明显失准先修正;真实连接与卸货状态均核对。保存连续速度/姿态记录 未执行
S36 从入口外返航,观察到达入口前后的状态与相机使用;正式对接后关闭摄像机,或镜头看到母舰结构但通道实际畅通 入口前继续扫描;正式对接清除旧绕行并停止射线,不因充能、视角或母舰命中停车。按接口位姿连续接近并确认真实连接;诊断明确扫描关闭 未执行
S37 从本次四台矿机在观察点前停止的位置恢复探索,分别使用单前向摄像机与多镜头布局;另做大气地表探索 保持实际航向完成最后几米,大气中保持反重力上方向;停稳后转向探索方向并扫描;不在侧向修正与探测朝向之间死锁;记录从Transit进入Survey再回传结果的全过程 未执行
S38 抵达观察点时保留小于1米的位置误差,另让探索相机暂时充能不足后恢复 原地制动和转向,不要求更精确地侧移回名义坐标;充能不足时不误报无命中,恢复后执行真实射线 未执行
S39 在冻结搜索范围内布置可见小行星,完成命中回传、空中续派试钻与真实钻采 不强制返航;主控在命中位置创建优先级更高的试钻任务;实体与坐标正确,按库存增量判定矿种 未执行
S40 用单前向摄像机的3/4号从接口轴线91.1m、126.7m及31.2m处返航,再测试缓慢移动母舰 入口前朝实际航向扫描,进入入口后才同步对接姿态;无视角死锁,最终真实连接;保留完整状态、速度、扫描记录 未执行
S41 在入口前耗尽相机充能超过60s,随后恢复;从旧靠泊故障下达全部返航 入口等待不累计三次靠泊失败,只有主控核实停稳后才释放通道;新返航重置旧计数;真实贴合无进展仍退避并保留故障保护 未执行
S42 新矿机在空中加载正确配置,分别使用后置/侧置连接器与不同大小接口,主控保持暂停 无需单机初始化或手工标定,自动请求泊位、进港及锁定;首次慢速窗口在实际接触前取得,真正连接后才显示已标定并保存测量值 未执行
S43 在返航、等候、进港对齐、贴合及退避中重新编译,再对照主动暂停和交还控制 原返航自动重新获取母舰遥测和许可,不重复下令;不使用旧目标直接施加推力;暂停/人工接管持续生效;孔内恢复始终先沿原轴退钻 未执行

探索与手动采矿验收

编号 操作 预期与证据 状态
M01 GPS 两点、摄像机分别标同一范围 方向、上方、宽高深一致;世界原点坐标可用 未执行
M02 含无目标矿段的手动范围 完成全部规定孔道,不能因无矿提前结束 未执行
M03 已知矿床中自动试钻 每 5 m 记录新增矿种,确认后按优先级派工 未执行
M04 仅在货舱之间内部转运 不误报矿物发现,也不因转运判定损失 未执行
M05 尝试外部耗矿/抛货或制气干扰 受管耗矿功能停用;无法保证采样时记无效,不记“无矿” 未执行
M06 无矿区/搜索边界/两圈无目标矿 在规定边界停止;明确区分扫描无命中、采样完成和手动完成 未执行
M07 搜索期间移动母舰 任务坐标和边界不随母舰移动 未执行
M08 多次扫描同一小行星表面 去重有效,不无限生成重复任务 未执行
M09 同一个观察点连续完成多个扫描方向,再命中小行星;导航途中也放置小行星 无命中仅完成当前方向;正常能源/载荷下原地续派,导航命中也交给主控生成试钻,不强制飞回母舰 未执行
M10 完成自动试钻,随后让货量或电量分别达到返航条件;另设置另一搜索区 先沿轴退到入口外;正常续派只在同一区域,触发资源条件时返回;不能因等待其它矿机占用而报告区域结束 未执行
M11 等待续派时暂停/返航/交还控制,延迟发送旧任务、旧结束回复;另在等待中保存恢复 旧消息不覆盖人工意图;恢复后先停驻,主控继续后重发完成结果、重新确认新任务,不能重做旧完成孔 未执行

移动母舰、舰队与恢复验收

编号 操作 预期与证据 状态
F01 母舰静止/≤5m/s匀速/缓慢旋转 按连接器点速度会合、对齐、低速接近并真实连接 未执行
F02 最终接近时突然加速/转动 窗口失效立即退避,不能继续追踪旧坐标 未执行
F03 靠泊时切断通信 遥测过期取消接近;已连接的矿机保持连接 未执行
F04 故意阻塞泊位/让另船占用 不忽略整艘母舰碰撞;拒绝错误泊位,三次失败暂停 未执行
F05 两台请求交叉矿孔/进出港通道 不获得冲突许可,不抢同一泊位 未执行
F06 占孔矿机失联 保留未知占用,不能超时把孔道分给另一台 未执行
F07 排队中出现低能源返航 紧急矿机优先获得可用泊位;正常许可仍保证互斥 未执行
F08 作业/停靠中存档并重新载入 核对实际连接、标定和许可后恢复,不直接延续旧控制输出 未执行
F09 用户接管/暂停/返航/release 人工控制优先;暂停保留任务,release解除控制覆盖 未执行
F10 停用业务脚本,保留看门狗供电 超过心跳阈值后解除覆盖、关钻头;再次恢复前要求arm 未执行
F11 16 台混合状态连续运行≥30分钟 无重复派工、冲突许可、撞泊位或指令预算超限,记录峰值 未执行
F12 宽屏/方屏/驾驶舱小屏多面 数据可读、分页正确、离线带年龄、地图状态区别明确 未执行
F13 2048 个规划任务、多屏矿图、16 机遥测和存档同时运行 后台工作在预算不足时让出并跨帧完成;所有子页最终可见,任务、进尺与占用不被清空;记录真实运行指令峰值 未执行
F14 独立测试业务脚本被引擎终止,保持看门狗运行 业务脚本不能自行复活;看门狗超时释放覆盖并锁定。替换脚本重新编译后,重新确认位置、许可和看门狗握手 未执行
F15 正常载入当前格式检查点;分别加载小型、大型旧 INI,再在主控运行初始化 当前格式正常逐记录恢复;旧 INI 不迁移,提示初始化清空。初始化后旧存档、任务、矿区、名单、占用与缓存全部删除,配置保留,舰队暂停 未执行
F16 大型当前存档恢复途中运行初始化,立即保存并重新编译;重复初始化 初始化抢先执行,不继续恢复旧数据;空状态立即持久化,重复操作不增加监听器。重启后旧任务不复活,可新建任务并启动 未执行
F17 恢复失败或配置损坏时初始化;空中、孔内、人工驾驶与离线矿机混合,延迟旧任务/扫描/许可/遥测包后重新上线 即使配置仍损坏,历史主控存档也已清空;修好后可重试。新批次丢弃旧消息,在线矿机重新登记,空中安全返航、孔内沿原轴退出,人工驾驶与故障不被重置召回覆盖 未执行
F18 在停靠、钻孔、离港、靠泊和失联混合状态下于主控运行一次 clear-tasks 任务与矿区清空、停止派工;关钻头并安全撤离返航,保留未知孔道及泊位通道占用;母舰继续卸货补能,人工驾驶权不被夺取 未执行
F19 清空后立即保存/重新编译;取消消息丢包/乱序,先收到 start 后收到旧 JOB,再恢复离线矿机 取消水位及撤离状态保留;旧任务不因晚到消息、resume 或重启复活;该矿机实际回港且收到新鲜取消确认前不能重新派工,孔道与泊位通道仅按实际清空状态释放 未执行
F20 clear-tasks 后创建新 survey/mark 并 start;再次收到旧取消重试及重新载入 新任务可正常执行且不会被旧取消重试删除;编号不复用,正常载入不反复清空新任务;仍在撤离的空间不被重复派工 未执行
F21 单泊位、两台以上矿机清任务返航,创建不冲突的新任务并 start;其中一台保持失联 已回港确认的矿机能在满足安全条件后领取新任务离港,为后续矿机腾出泊位;未确认者继续取消重试并保留未知占用,不因等待全部矿机同时停靠而死锁 未执行
F22 主控初始化/恢复完成后运行 clear-offline,分别在遥测年龄 4.99、5、5.01 秒测试,再自定义 Display.OfflineSeconds 仅清理严格超过离线阈值的注册名单;与屏幕离线状态一致,在线矿机及任务、运行开关不变;无离线矿机时重复命令无副作用 未执行
F23 删除离线名单时正在生成跨帧检查点,随后保存并重新载入,再恢复原矿机遥测 完整检查点不把已清除名单写回;真实重新上报可再次登记,不属于永久拉黑;旧目标的可靠重试不继续占用队列 未执行
F24 清除持有任务或泊位通道的离线矿机,再登记新矿机;未结束的任务归属累计达到 16 原任务归属、孔道和通道保持未知占用,冲突任务不派;未结束的任务归属总数不超过 16,保存/恢复仍有效,不因名单释放注册位而丢占用或突破上限 未执行
F25 多台矿机在母舰外等待,清除名单首位或中间的离线矿机,再登记新 ID 并保存/恢复 在线矿机等待点不挪动,被清除矿机尚未确认腾空的等待槽位不复用;现有进出港通道不被名单清理释放 未执行
F26 先仅改编程块方块名,再停靠修改 System.Id、重新编译和标定,最后清除旧离线条目 仅改方块名不产生新身份;修改 Id 后按新身份登记,原存档标定不自动迁移、不自动合并新旧身份;新在线条目保留,旧离线条目消失,未知占用不被顺带删除 未执行
F27 同一个编程块的新 ID 在线并实际接港,旧 ID 已离线但持有任务和航道;再分别用不同地址、仅上报连接、过期新 ID 重试 只有同地址、在线且真实接港三项都成立才解除旧归属及占用;任务进度保留,清理后重载仍可调度。其他情形保留未知占用 未执行
F28 默认 LaneClearance=60、矿机半径3,在距泊位63.2m及65m仍报告Departing;完成离港后报告Transit,并重复取消、失联和显式释放 Departing阶段始终收到同一许可,主控不在出口前撤销;完成出港后须同时确认未连接、遥测新鲜且位于安全距离才自动释放;中断与未知占用保留,显式释放仍核对token和物理状态 未执行
F29 主控预约本机对接,但遮挡摄像机或让矿机未到等待点,持续超过120秒;再分别撤销许可、占用泊位及让母舰运动超限 进港等候显示实际阻塞原因;超时只追加说明,不误归因为母舰速度;矿机分别报告采矿任务确认与航道许可,未到点或许可无效不得进入DockAlign 未执行
F30 清空任务后采矿任务确认为否,矿机取得对接许可;接近期间令遥测过期,再恢复;另做人工release接港后resume 无采矿任务不妨碍按独立许可直接进港;过期前不能启动接近,接近期间过期则退避;最终贴合仍需连续稳定窗口;人工接港明确resume后完成取消确认并卸货,主控可继续分配新任务 未执行
F31 仅在主控使用中文定向启停、返航、重新扫描、标定与诊断,再保存恢复 指定编号精确匹配,其他矿机不被误操作;详细诊断回到主控;人工暂停意图保留,离线机不补执行过期维护命令 未执行
F32 分别空配置加载中英文四角色;中文配置中混用旧英文键、设置冲突别名,使用中文屏幕副屏及轮播命令 新模板使用对应语言;中文接受旧英文键和指令,冲突指出字段且不改写原数据;混合舰队使用相同实际编号后互通 未执行
F33 分别用4/16个独立泊位并行申请进港,随后混合进出港;再缩小泊位间距或令接近路线相交 独立路线并行,不同token且不抢同一泊位;冲突路线依次放行。记录许可、实际船体间距及指令峰值 未执行
F34 让4号三次靠泊失败,分别停在通道外、接口附近;保持其它矿机运行,再清理离线名单并重载 停稳且遥测新鲜的故障只保护实际空间;其它不冲突泊位继续运行;失联或占位未确认时不能凭超时释放;最后失败原因可见 未执行
F35 两台巡航路线相交、相向、同向跟随;另在一条航线放置静止故障矿机 可见让行及恢复,前船不向后船让行;候选绕行受实际相机检查;记录最小间距,无碰撞和相互永久等待 未执行
F36 多机并行预约中保存恢复,母舰缓慢平移旋转,再恢复原矿机请求 各泊位占用都保留,旧token失效;新鲜请求按当前母舰位姿续约,不能从默认世界原点生成旧接近路线 未执行
F37 中文默认配置配合原 AMS Docks/AMS Cargo 组,6台矿机中4台停靠、2台返航,母舰另有其它用途连接器 识别采矿组内6个泊位和母舰库存,不接管其它接口或矿机库存;主控暂停仍发接港许可,独立通道可同时接收两台返航矿机 未执行
F38 输入不存在的自定义泊位/货仓组名,再修正配置并重新编译;对照只增减组内方块后重扫 主控分别说明缺失字段及名称,矿机显示缺失泊位的原因;修复后无需清空存档即可重新请求接港;自定义组不被默认组替换 未执行

双语和编程块自带屏验收

编号 操作 预期与证据 状态
L01 四种角色分别粘贴中文、英文脚本 系统名均为 XFE AMS;提示、诊断、状态和矿种按所选版本显示,无缺字或方框 未执行
L02 使用未加入屏幕组、未加标签的编程块 Surface 0 自动显示参数页;编号、语言、状态、已生效参数可读,无角色配置项 未执行
L03 运行 page config、page +、page -、page auto 参数可完整翻页,恢复后主屏与外屏各自保留绑定 未执行
L04 修改配置并重新编译;制造硬件自检失败 参数更新;配置可解析时自带屏显示故障,诊断页包含原因 未执行
L05 设置 BuiltIn=false 或 AMS.Screen Enabled=false,再启用副屏 关闭设置优先生效;只有明确启用的副屏被接管 未执行
L06 停靠后切换同角色的语言版本;中文配置转英文版时按对照表转换键与枚举,保留实际编号 中文版接受原英文配置;任务/标定的内部标识不受语言影响;标点提示重新本地化;旧配置正文不会自动重写 未执行
L07 中文主控配英文矿机,配置完全相同的实际舰队编号与主控编号,观察告警 协议和状态正常;自由文本告警保留发送端语言,刷新前的旧遥测注明年龄 未执行
L08 旧版模糊参数页替换为新版,并查看宽屏、方屏及竖屏 宽屏每页 5 项双列,方屏/竖屏每页 4 项上下排;字号增大、文字可读、长编号不重叠;保留同距离对比截图 未执行
L09 保持默认配置观察参数页、舰队列表与矿区,持续超过 30 秒 默认每 8 秒在当前页面的子页间轮播;进度条和圆点正确;屏幕重扫后保留位置及停留计时 未执行
L10 手动翻页、page stop/play/auto;两屏分别设置间隔及开关 手动暂停后重新完整计时;可停播/续播/恢复绑定;各屏独立,固定矿机绑定保持不变 未执行
L11 探索期间运行页面矿区,在不同方向多次命中同一小行星,继续发现至少9颗;保存恢复 实测轨迹与未知区域可辨,实体去重、包围投影面积和单位正确,多页轮播总数不丢失;旧尺寸未知,新记录恢复一致 未执行
L12 16台矿机集中在地图相近位置,令一台离线、一台故障、一台飞出图外;分别查看方屏和宽屏 每台ID标签可辨、引线位置正确、离线/故障为红色、图外加星号;中文字体和区域尺度可读 未执行

需要真实确认中文字体字形、大小网格编程块屏幕、不同宽高比的文字可读性。离线 Sprite 测试仅验证绘图内容和颜色,未声称游戏内字体与布局已经通过。

记录格式

每个实际完成的项目填写:执行日期、提交版本/脚本校验值、游戏版本、单机/服务器、测试存档、矿机编号、预期、实际、截图/视频/日志位置、通过/失败。失败后修复并重测相关项目。

最终对外宣称无人循环完成必须至少具备 S12 证据;宣称 16 台稳定运行必须有 F11 证据。性能测试要记录最坏状态:并发靠泊遥测、2048 个规划任务、多屏绘制、库存清空和保存同一时段的指令峰值,而非只记录静态停靠平均值。