Skip to content

这页主要回答启动、配置、命令、流水、系统资金池与集成时最常见的问题。


1. 为什么插件提示共享数据库不可用,直接不启动?

因为当前版本默认强依赖 HNCore 共享数据库。

这是刻意设计,不是 Bug。

原因是:

  • 经济系统要求账务一致性
  • 如果静默切到本地库,很容易多服数据分裂
  • 运维会以为在共库,实际并没有

所以应该先排查 HNCore 的数据库启用状态,而不是强行让 HNEconomy 降级。


2. 我已经写了 main-currency,为什么命令还说货币不存在?

优先检查:

  1. currencies.yml 里是否真的有这个货币 ID
  2. 是否写成了大小写不一致
  3. 该货币是否被禁用
  4. 配置改完后是否执行了重载或重启

3. 为什么 /pay 失败了?

/pay 当前会被很多条件限制,失败不一定是余额问题。

常见原因包括:

  • 玩家转账功能被关闭
  • 需要权限但你没有权限
  • 不允许给自己转账
  • 金额小于最小值
  • 金额超过单次上限
  • 今日累计超过上限
  • 冷却中
  • 对方拒收转账
  • 当前货币不允许玩家转账
  • 扣完主金额和手续费后余额不足

最稳的排查方式是:

  1. 看命令返回的失败原因
  2. 再检查 config.yml -> pay
  3. 最后再去查玩家余额与流水

4. 为什么 /money 能看到余额,但 /pay 还是失败?

因为“能看余额”和“允许转账”是两件事。

例如下面这些情况都可能出现:

  • 玩家有余额,但该货币不允许玩家转账
  • 玩家有余额,但扣完手续费后不够
  • 玩家有余额,但对方拒收
  • 玩家有余额,但正在冷却时间内

5. 为什么手续费没有直接消失,而是进了系统资金池?

这是当前版本的设计选择。

原因是:

  • 更方便做审计
  • 更方便做今日 / 累计手续费统计
  • 更方便以后接商店、拍卖、税收等玩法

如果手续费只是“销毁”,你就很难做完整运营统计。


6. 为什么系统资金池余额和玩家余额都能排行?

因为系统资金池本质上也是统一账户体系里的一类 owner,只是:

  • owner_type = SYSTEM
  • owner_id = TREASURY

既然底层是统一账户模型,那么:

  • 余额查询
  • 流水查询
  • 排行
  • 导出

理论上都可以复用同一套能力。


7. 为什么我能改余额,却查不到流水?

正常情况下不应该出现这种情况。

当前系统设计是:

  • 余额变动
  • 流水写入

放在同一个事务里。

如果真的出现“余额变了但没流水”,优先怀疑:

  • 数据库层被手工改过
  • 有外部系统绕过 EconomyService 直接写库
  • 你查的不是同一套数据库

8. 动态创建货币后,为什么配置文件也变了?

因为当前版本的动态货币管理不是“只改内存”,而是:

  1. 修改配置文件
  2. 保存配置
  3. 重载插件
  4. 同步数据库

这是一种偏运维友好的设计:

  • 配置文件是最终真相之一
  • 重启后不会丢
  • Git 也能追踪

9. Vault 和多货币是什么关系?

当前 Vault 集成更像一个“兼容层”,而不是多货币主入口。

Vault 默认会映射到:

  • main-currency

所以如果你服里有多种货币:

  • HNEconomy 原生命令和 API 仍然是主玩法
  • Vault 更适合兼容那些只支持单货币的旧插件

10. HNCore 占位符桥为什么有些占位符返回空?

这里说的,是你在 PlaceholderAPI 外部环境里使用的 %hncore_economy_xxx% 这类占位符。

优先检查:

  1. PlaceholderAPI 是否已安装
  2. config.yml -> placeholderapi.enabled 是否为 true
  3. 你写的是不是当前版本推荐的 %hncore_economy_xxx% 前缀
  4. 你请求的货币 ID 是否存在
  5. 当前是否有主货币
  6. 玩家是否有对应上下文(例如玩家类占位符必须带玩家对象)

11. 系统资金池告警为什么没触发?

优先检查:

  1. treasury.enabled 是否为 true
  2. treasury.alert.enabled 是否为 true
  3. 是否给对应货币设置了阈值
  4. 当前系统资金池余额是否真的低于阈值
  5. 是否还没到轮询周期

12. 我应该先看哪几页?

如果你是服主:

  1. 快速开始
  2. 安装与首次启动
  3. config.yml 配置说明
  4. 命令说明

如果你是运维:

  1. 命令说明
  2. 流水、系统资金池与运维
  3. 运维排障清单与故障定位顺序

如果你是开发者:

  1. 集成与 API
  2. PlaceholderAPI 占位符速查表
  3. 流水、系统资金池与运维

HN 系列插件文档