Skip to content

诊断与排错大全

所属:参考 · 相关:校验报错速查 · 命令

QI 提供一组诊断命令帮你定位问题。本页讲每个命令输出什么、各项指标怎么读。


一、诊断命令一览

命令用途
/qi status简要加载状态(物品数 / 问题 / 编译失败)
/qi inspect详细状态检查
/qi diagnose完整诊断报告(各子系统可用性)
/qi problems列出所有已知问题
/qi problems summary问题摘要
/qi trigger report动作触发配置报告

二、启动日志怎么读

启动 / 重载时 QinhItemsStartupLog 打印摘要:

物品定义: 123 · ActionTable 45
Bridge: 3 · Layer: 4 · Handler: 12
Combat: 启用 · 属性后端: attributeplus (已接入)
宝石: LI(LC✔·8孔) · MG(2孔)
诊断: 30/30 项可用
含义怎么读
物品定义 / ActionTable加载的物品数、动作表数数字明显偏少 → 有文件没加载,查 /qi problems
Bridge / Layer / Handler桥、层贡献者、处理器数量Handler 里应含 qinhskills:cast(若装了 QS)
Combat战斗模块状态关闭(纯物品库) = 没开 combat
属性后端AP 接入情况noop = 没检测到 AP
宝石LI / MG 后端孔数LC✔ = LegendCore 桥已注册
诊断可用项 / 总项分母分子不等 → 有子系统异常

三、/qi diagnose 报告项

诊断会逐项列出各实体的健康状态(ItemsDiagnostics):

报告实体含义附带提示
QinhItem:<id>物品定义健康度类型 / 品质 / 动作文件 / 配置版本
ActionTable:<itemId>动作表绑定数量
ActionTableProblem动作加载错误
FailureFile:<kind>YAML 解析失败文件item / action
ProviderBridge:<id>Provider 桥是否可用
ExternalResolver:<prefix>外部物品解析器
LayerContributor:<namespace>层贡献者order
ActionHandler:<id>动作处理器

摘要还会给:物品 / 段 / 词缀 / 动作表计数、各来源格式与分类、编译失败、重载问题、失败文件分组。


四、常见问题定位流程

问题:某个物品没加载

1. /qi status         → 看「问题」数是否 > 0
2. /qi problems       → 找到对应物品的报错
3. 对照 校验报错速查   → 按报错修 YAML
4. /qi reload         → 重新加载

报错含义见 校验报错速查

问题:动作不触发

1. /qi trigger report                  → 确认该物品的触发器配置被加载
2. /qi trigger test <id> <player>      → 手动执行首个触发绑定,看是否生效
3. 检查触发原子是否合适(right_click 对空气可能不触发,改 left_click)
4. 检查 handler 是否注册(diagnose 看 ActionHandler 列表)
5. 改了 YAML 记得 /qi reload(动作只在 reload 加载)

问题:属性不上身

1. 启动日志看「属性后端」
   · noop          → 没装 AP,或 combat.enabled: false
   · attributeplus → 正常
2. 控制台有无「映射名不存在」警告 → 改 attribute-mapping 对齐 AP
3. 装备物品后 /qi refresh hand 强制刷新

详见 属性与数值

问题:宝石孔识别不到

1. 启动日志看「宝石」行,LI/MG 后端是否启用、孔数是否 > 0
2. 核对 integrations/legendinlay_sockets.yml 的 lore 与 LI 那边逐字一致
3. LegendCore 桥:看日志「检查 LegendCore/groovy/QinhItemsModule.groovy」

详见 集成实操 → Legendinlay


五、健康度指标解读

物品 healthIssues() 为空才算健康。不健康物品仍加载但列入问题。常见不健康原因见 校验报错速查 §1

/qi diagnose 的「N/M 项可用」:M 是总诊断项,N 是当前可用项。差值就是异常子系统数,逐项看哪个 不可用


六、刷新相关

配置改了但玩家身上旧物品没更新?用刷新命令重渲染:

/qi refresh all          # 所有在线玩家
/qi refresh hand         # 仅主手(自测快)

刷新 = 对每件 QI 物品 rebuild() + variables().refresh(),保留实例 / 种子。见 随机生成 → 刷新服务


下一步