深色模式
故障排查索引
先保存第一条错误、完整启动段、/sa version、/sa doctor [玩家]、/sa database status、JAR SHA 和八份配置。不要边排查边清日志或反复 /reload。
快速索引
| 现象 | 先检查 | 深入页面 |
|---|---|---|
| 插件未启用 | Java 21、平台范围、第一条配置/DB/扩展错误 | 安装 |
/sa reload 失败 | 返回的文件、字段、值、期望范围;旧配置仍生效 | 配置总览 |
| 玩家 NOT_READY | DB availability、preload timeout、当前 subject epoch | 数据库 |
| 装备没属性 | item inspect → sources → inspect 三层 | 装备 |
| 装备属性双倍 | 是否同时有 sealattributes 与 sealitems 六槽来源 | SealItems 联动 |
| 百万生命只到较小值 | 服务端 maxHealth clamp、effective health | 性能与边界 |
| 战斗伤害两次 | 另一个权威插件、原生+seal Mythic mechanic | 联动 |
| PAPI 不替换 | 依赖启用、在线 READY、参数/完整 ID | 可选联动 |
| 没有全息 | DecentHolograms、enabled/required、viewers/capacity | 显示配置 |
| 持久来源失败 | PublishStatus、queue、storage、stale owner/subject | 来源 API |
| 停服 unfinished/dirty | DB、shutdown timeout、队列是否 drained | 备份恢复 |
| IDEA 红但 CLI 过 | Gradle JVM、sync model、依赖 verification | 构建与 IDEA |
插件直接停用
java -version必须是 21;- 服务端在支持范围且不是 Folia;
- 暂时只保留主运行 JAR,不装扩展;
- 八份 YAML 与当前 JAR版本匹配;
- SQLite 目录可写,或 MySQL 从同一主机可连;
- 未来 schema、缺少 MySQL 备份确认、扩展 service 错误都会 fail closed。
不要删除数据库试启动生产服;先复制到隔离目录定位。
装备无效的三层定位
text
/sa item inspect Player
/sa sources Player
/sa inspect Player sealattributes:physical_attack- item invalid:查 PDC JSON 的
schema/id/operation/value、16 KiB、64 项、JSON+flat 混用、当前 mode; - item valid 但无来源:查槽位、reader 开关、SealItems owner/gate、事件刷新;
- 有来源但最终值不对:查 Profile、其他来源、operation、属性 enabled、有效值夹取。
数据库中断
已 READY 玩家可继续内存战斗,不代表数据安全。停止新增持久业务,观察 reconnect;新登录被拒绝是预期 fail-closed。恢复后先 /sa database status 和 flush,再决定是否开放。PERSISTED_SESSION_DEFERRED 是成功状态;STORAGE_FAILURE 不是。
配置失败
错误会指出文件/路径/实际值/范围。修复候选后重新 /sa reload;旧完整状态一直工作。若错误涉及数据库结构、pool、worker、扩展或已绑定 SealItems reader,必须维护窗口重启。
请求支持时附带
- 主 JAR SHA-256 与来源;
- Java、服务器精确 build、所有 softdepend 版本;
- 启动到错误后的完整日志(脱敏数据库密码/地址);
- 八份配置的脱敏副本;
- doctor/database status 输出;
- 最小复现步骤、预期与实际;
- 是否在真实服、自动化测试或历史环境复现。