主题
这页专门回答一个问题:
HNEconomy 出问题时,到底该先查什么、后查什么,才能最快定位?
如果你已经开始正式上线使用, 这页会比“把所有命令都背下来”更有用。
一、先记住一个总原则
排障时不要一上来就:
- 乱改配置
- 乱重载
- 先怀疑数据库坏了
- 直接手改余额表
HNEconomy 最稳的排障顺序应该是:
text
启动与依赖
→ 货币定义
→ 余额与流水
→ 玩家交互
→ 系统资金池
→ 归档清理
→ 外部集成也就是说:
- 先排底层
- 再排业务层
- 最后排集成层
这样最不容易误判。
二、10 秒快速判断:问题大概在哪一层
现象 1:插件直接起不来
优先看:
HNCore是否正常启用- HNCore 共享数据库是否可用
main-currency是否有效
这通常是:
- 基础设施层
- 启动配置层
现象 2:插件能启动,但命令说货币不存在
优先看:
currencies.ymlmain-currency- 货币是否启用
这通常是:
- 货币定义层
现象 3:余额不对 / 玩家说钱不见了
优先看:
/hneco balance/hneco log/hneco logsearch/hneco logarchive
这通常是:
- 账务层
- 运维查询层
现象 4:/money 正常,但 /pay 失败
优先看:
pay.enabledpay.require-permission- 金额限制
- 拒收状态
- 手续费与总支出
这通常是:
- 玩家交互层
- 风控规则层
现象 5:系统资金池数字不对
优先看:
/hneco treasury stats/hneco treasury log- 手续费是否开启
- 系统资金池是否启用
这通常是:
- 系统资金池层
- 手续费归集层
现象 6:老记录查不到
优先看:
/hneco statuscleanup.ledger.*/hneco logarchive/hneco exportarchive
这通常是:
- 归档清理层
现象 7:Placeholder / Vault / 商店接入不对
优先看:
- 对应插件是否安装
- 对应开关是否开启
- 是否已经回到底层验证过余额 / 流水本身没问题
这通常是:
- 外部集成层
三、最推荐的标准排障顺序
第 1 步:先确认插件是否正常启动
先确认:
HNCore已启用HNEconomy已启用- 没有共享数据库不可用错误
- 没有主货币无效错误
如果这一步就不通过,后面很多问题都不用继续查。
第 2 步:确认主货币和货币定义
检查:
config.yml的main-currencycurrencies.yml里是否存在该货币- 货币是否
enabled: true
再用:
text
/hneco currency list确认运行时真的注册成功。
第 3 步:先查余额,再查流水
排账务时永远不要只看余额。
推荐顺序:
text
/hneco balance <玩家>
/hneco log <玩家>
/hneco logsearch player=<玩家>原因是:
balance告诉你现在余额是多少log告诉你最近发生了什么logsearch告诉你能否按条件进一步缩小范围
如果主表里查不到,再继续查:
text
/hneco logarchive <玩家>
/hneco logarchivesearch player=<玩家>第 4 步:定位是不是 /pay 规则问题
如果玩家说“我有钱但转不了”,优先排这些:
pay.enabledpay.require-permissionpay.allow-selfpay.min-amountpay.max-amountpay.daily-max-amountpay.cooldown-secondspay.allowed-currencies- 收款方是否拒收
- 手续费后余额是否仍足够
推荐命令:
text
/hneco paystat <玩家>必要时再配合:
text
/hneco suspicious ...第 5 步:确认系统资金池与手续费归集
如果你怀疑手续费、税费、系统资金池入账不对,建议这样查:
text
/hneco treasury stats [货币]
/hneco treasury log [货币]
/hneco treasury trend [货币] [天数]同时回看:
treasury.enabledpay.fee.enabled- 低余额阈值配置
第 6 步:确认归档与清理是否影响了查询结果
如果你发现:
- 主流水查不到
- 导出记录变少了
- 很久以前的记录突然“像消失了一样”
优先看:
text
/hneco status重点看:
- 主流水表条数
- 归档流水表条数
- 最近一次清理结果
- 归档保留天数
然后再确认:
yml
cleanup:
ledger:
archive-enabled: true
retention-days: ...
delete-after-archive: ...最后用:
text
/hneco logarchive ...
/hneco exportarchive ...验证旧记录是不是其实已经进归档表了。
第 7 步:最后再查外部集成
这一步包括:
- PlaceholderAPI
- Vault
- 商店接入
- 拍卖接入
注意:
只有在余额、流水、系统资金池本身都已经正常时,外部集成排查才有意义。
否则你很容易把底层账务问题误判成集成问题。
四、按场景给出最短排障路径
场景 A:插件启动失败
最短路径:
- 看
HNCore是否先启用 - 看共享数据库是否可用
- 看
main-currency是否存在且启用 - 再看
currencies.yml是否写错
场景 B:玩家说自己余额不对
最短路径:
/hneco balance <玩家>/hneco log <玩家>/hneco logsearch player=<玩家>- 如果主表无记录,再查
/hneco logarchive <玩家> - 如果怀疑具体业务,再查
logbiz/logarchivebiz
场景 C:玩家说转账失败
最短路径:
- 看失败提示
- 查
pay配置 /hneco paystat <玩家>- 查目标玩家是否拒收
- 查手续费后总支出是否超余额
场景 D:系统资金池余额异常
最短路径:
/hneco treasury stats/hneco treasury log- 看
pay.fee.enabled - 看
treasury.enabled - 必要时导出系统资金池流水
场景 E:老记录查不到
最短路径:
/hneco status- 看
cleanup.ledger.retention-days - 看
delete-after-archive - 查
/hneco logarchive - 查
/hneco exportarchive
场景 F:Placeholder 显示异常
最短路径:
- 确认安装了 PlaceholderAPI
- 确认
placeholderapi.enabled: true - 确认你写的是
%hncore_economy_xxx% - 确认货币 ID 正确
- 再回到底层检查余额 / 系统资金池统计本身是否正常
场景 G:Vault 接入不正常
最短路径:
- 确认安装了 Vault
- 确认
vault.enabled: true - 确认主货币正常
- 先用 HNEconomy 原生命令验证余额与流水
- 再回头看 Vault 插件侧行为
五、最有用的几条排障命令
如果你是运维,最值得熟悉的是这几条:
text
/hneco balance <玩家>
/hneco log <玩家>
/hneco logsearch ...
/hneco logarchive <玩家>
/hneco paystat <玩家>
/hneco suspicious ...
/hneco treasury stats
/hneco treasury log
/hneco status
/hneco cleanup这几条基本已经覆盖:
- 账务确认
- 交易追踪
- 风控排查
- 系统资金池运维
- 归档清理
六、最容易误判的地方
误判 1:只看余额,不看流水
余额只是结果,流水才是过程。
误判 2:主表查不到就以为记录丢了
当前版本有归档逻辑,老记录可能已经不在主表。
误判 3:/money 能看余额,就以为 /pay 一定能转
查看余额和允许转账不是一回事。
误判 4:Placeholder 出错就直接怪 PlaceholderAPI
很多时候其实是:
- 货币 ID 写错
- 主货币没配好
- 底层余额本身就不对
误判 5:看到系统资金池没变就怀疑手续费没收
先确认:
- 手续费是否开启
- 当前货币是否允许转账
- 这笔转账是否真正执行成功
七、推荐的运维查看顺序
如果你是值班运维,比较推荐把 HNEconomy 的排障动作固定成下面这个节奏:
- 先确认插件和依赖正常
- 再确认货币定义正常
- 再确认余额和流水一致
- 再确认玩家规则是否限制业务
- 再确认系统资金池与手续费归集
- 最后确认归档和外部集成
长期来看,这样最省时间,也最不容易误操作。
