Skip to content

HNCore 当前主要提供五组常用命令:

  • 脚本命令:查看 GroovyScripts 的加载与启用状态
  • 状态命令:查看共享数据库、共享存储、连接池与 Redis Pub/Sub 当前状态
  • 集群命令:查看 ClusterBus、节点 ID、transport、action registry 与 ping/pong 状态
  • 核心重载命令:重载 config.ymlstorage.yml、脚本系统、实体映射、共享存储与 ClusterBus 状态,并支持按范围细分
  • 工具箱命令:打开 Sound / Particle / Entity / Material 浏览器

主命令

text
/hncore
/hnc

/hnc/hncore 的别名。

命令分组

子命令别名权限节点用途
scriptsscript / feature / featureshncore.command.scripts查看、筛选当前 Groovy 脚本状态
statusstate / health / storagehncore.command.status查看共享数据库、共享存储、统一授权、共享物品库与消息总线状态
clustercl / bushncore.command.cluster查看 ClusterBus 状态,或执行 ping/pong 连通性检查
reloadrlhncore.command.reload重载 HNCore 主配置、storage.yml、脚本系统、共享存储与 ClusterBus 状态,可按范围细分
toolstool / browserhncore.command.tools打开 HNCore 工具箱 GUI

scripts 子命令

脚本命令当前用法为:

text
/hncore scripts [list|enabled]

如果省略 list|enabled,当前实现会默认执行 list

支持的写法

text
/hncore scripts ...
/hncore script ...
/hncore feature ...
/hncore features ...

具体功能

命令用途说明
/hncore scripts list查看当前已加载脚本列表用来确认系统是否识别到脚本文件
/hncore scripts enabled查看当前已启用脚本用来确认哪些脚本真正生效

list 会显示什么

list 展示的是 当前已加载脚本,同时会附带:

  • GroovyConfig 目录路径
  • GroovyScripts 目录路径
  • 已加载脚本数量
  • 已启用脚本数量

如果一个脚本文件存在并成功被系统识别,就会出现在这里。

enabled 会显示什么

enabled 只看 当前真正启用的脚本

一个脚本可能出现在 list 中,但如果对应配置文件里 enabled: false,它不会出现在 enabled 里。

status 子命令

状态命令用于快速查看 HNCore 当前共享能力是否真的可用:

text
/hncore status
/hncore state
/hncore health
/hncore storage

它会显示什么

当前实现会汇总:

  • 共享数据库是否启用、是否激活、当前类型
  • 共享存储 MySQL 是否启用、是否激活
  • 共享存储 Redis 是否启用、是否激活
  • 共享键值存储是否可用,以及当前后端名
  • 共享消息总线(Redis Pub/Sub)是否可用
  • 统一授权是否启用、授权中心地址是否已配置、商品授权码是否已录入
  • 授权缓存是否启用
  • 共享物品库是否已提供、有哪些来源、哪些来源当前可用
  • placeholder 缓存、Redis 订阅数、最近重载报告等诊断信息
  • 下游模块是否需要再单独开连接池,以及是否可直接复用 HNCore 物品库能力的提示

什么时候应该先用 status

优先用于下面这些场景:

  • 你刚配完 storage.yml,想先确认 Redis / MySQL 状态
  • 你刚配完 auth.yml,想确认授权中心地址和商品授权码是否真的已被识别
  • 你准备排查 HNAttribute 的 cluster / sync / all 广播为什么没生效
  • 你不确定现在的共享键值后端到底是 Redis 还是 MySQL
  • 你想确认外部物品库来源当前到底是否可用
  • 你想确认问题出在 HNCore 自身,还是下游模块配置

statusreload 的区别

  • /hncore status:只读查看当前状态,不会改动运行时内容
  • /hncore reload:重新读取配置并重建相关运行状态

如果你只是想先判断“Redis / 共享存储到底有没有起来”,先用 status 会更直接。

cluster 子命令

Cluster 命令用于查看 HNCore ClusterBus / 集群控制面 当前状态:

text
/hncore cluster status
/hncore cluster ping
/hncore cluster ping <nodeId>

也支持别名:

text
/hncore cl status
/hncore bus ping

status 会显示什么

当前实现会汇总:

  • 当前节点 ID
  • requested transport
  • 当前实际 transport
  • cluster channel
  • ClusterBus 是否可用
  • setup hint
  • action registry 中已注册的 namespace / action
  • published / received / handled / ignored / decode-fail 等 metrics

ping 有什么用

  • /hncore cluster ping:广播 ping,收集回包节点
  • /hncore cluster ping <nodeId>:定向 ping 某个节点

如果当前 transport 是 loopback,它仍然可以工作,但只代表本服本进程自测可用,不代表真实跨服 Redis 已经就绪。

什么时候应该先用 cluster status

优先用于这些场景:

  • 启动日志里看到了 transport=loopback,想确认这到底是什么意思
  • 你已经启用了 Redis,但想确认 ClusterBus 最终是不是走到了 redis
  • HNAttribute 的 cluster 广播看起来没跨服,想先看 HNCore 这一层是不是就没接通
  • 你想确认当前节点 ID 是多少、有没有配置 cluster.node-id

reload 子命令

核心重载命令用于重载 HNCore 整体状态

text
/hncore reload [all|storage|cluster|auth|items|scripts]
/hncore rl [all|storage|cluster|auth|items|scripts]

可用范围

  • all:完整重载 HNCore 全部核心状态
  • storage:只刷新 storage.yml、共享数据库与共享存储
  • cluster:只刷新 ClusterBus / transport / ping 服务
  • auth:只刷新统一授权配置与运行时
  • items:只刷新共享物品库
  • scripts:只刷新 config.yml 中脚本相关开关、公式选项与脚本系统

如果省略范围,/hncore reload 默认等同于 all

reload all 会重载什么

当前实现里,reload all 会一起处理:

  • config.yml
  • storage.yml
  • Groovy 脚本系统
  • entity-names.yml
  • 共享数据库状态
  • 共享存储 MySQL / Redis 状态
  • 共享键值存储可用性
  • Redis Pub/Sub 可用性
  • ClusterBus / 节点 ID / transport / ping 服务状态

返回信息会包含什么

执行后你通常会看到:

  • 脚本加载 / 启用 / 失败统计
  • 实体名称映射数量
  • 共享数据库是否启用、是否初始化成功、当前类型
  • 共享存储 MySQL / Redis 是否启用、是否初始化成功
  • 共享键值存储是否可用,以及当前后端是 Redis 还是 MySQL
  • 共享消息总线(Pub/Sub)是否可用
  • ClusterBus 当前节点 ID、transport 与集群控制面可用性

什么时候应该用 reload

优先用于下面这些场景:

  • 修改了 config.yml
  • 修改了 storage.yml
  • 修改了 entity-names.yml
  • 你怀疑数据库 / Redis / 键值存储状态和当前磁盘配置不一致
  • 你希望一次性把主配置、脚本和共享存储都重新同步

reload scriptsreload all 的区别

  • /hncore reload scripts:只重载脚本系统
  • /hncore reload:默认按 all 处理,重载 HNCore 主配置 + storage.yml + 实体映射 + 脚本系统 + 共享存储

如果你改的是 脚本文件本身,优先用 reload scripts

如果你改的是 主配置、存储配置、实体名称映射,或者你想做一次完整状态重载,优先用 reload

tools 子命令

工具箱命令用于打开 GUI 浏览器:

text
/hncore tools
/hncore tool
/hncore browser

行为特点

  • 仅限玩家使用
  • 打开后会进入 HNCore 工具箱首页
  • 当前内置分类:SoundParticleEntityMaterial
  • 支持分类内搜索、全局搜索、快速跳页、右键复制 ID
  • 会加载 toolbox-search-aliases.yml 作为搜索别名字典

如果你需要完整了解工具箱的界面与交互,继续阅读 工具箱命令

四组最常用的日常操作

改完脚本配置后

text
/hncore reload scripts
/hncore scripts enabled

先重载脚本,再确认当前真正生效的脚本。

先确认共享存储是否真的可用

text
/hncore status

尤其适合先确认:

  • Redis 是否真的已启用
  • Pub/Sub 是否真的可用
  • 当前键值后端到底是 Redis 还是 MySQL
  • 下游模块是否还需要继续排查

再确认 ClusterBus 是否真的接上跨服 transport

text
/hncore cluster status

尤其适合先确认:

  • 当前节点 ID 是多少
  • 当前是 loopback 还是 redis
  • HNAttribute 等下游模块的 cluster 广播是不是只能本服可见

改完主配置或存储配置后

text
/hncore reload

尤其是在你修改了:

  • config.yml
  • storage.yml
  • entity-names.yml

之后,这个命令才是最准确的同步入口。

查一个枚举 ID 用于配置

text
/hncore tools

打开 GUI 后,直接搜索目标条目并右键复制 ID。

运维建议

如果你的工作方式是“改完 yml 或 groovy 就立即进服测试”,最容易遗漏的步骤通常就是没有区分 脚本重载核心重载。很多“配置没生效”“数据库还是旧状态”“工具箱搜索词没变化”的问题,本质上就是重载命令用错了。

HN 系列插件文档