主题
HNCore 当前主要提供五组常用命令:
- 脚本命令:查看
GroovyScripts的加载与启用状态 - 状态命令:查看共享数据库、共享存储、连接池与 Redis Pub/Sub 当前状态
- 集群命令:查看 ClusterBus、节点 ID、transport、action registry 与 ping/pong 状态
- 核心重载命令:重载
config.yml、storage.yml、脚本系统、实体映射、共享存储与 ClusterBus 状态,并支持按范围细分 - 工具箱命令:打开 Sound / Particle / Entity / Material 浏览器
主命令
text
/hncore
/hnc/hnc 是 /hncore 的别名。
命令分组
| 子命令 | 别名 | 权限节点 | 用途 |
|---|---|---|---|
scripts | script / feature / features | hncore.command.scripts | 查看、筛选当前 Groovy 脚本状态 |
status | state / health / storage | hncore.command.status | 查看共享数据库、共享存储、统一授权、共享物品库与消息总线状态 |
cluster | cl / bus | hncore.command.cluster | 查看 ClusterBus 状态,或执行 ping/pong 连通性检查 |
reload | rl | hncore.command.reload | 重载 HNCore 主配置、storage.yml、脚本系统、共享存储与 ClusterBus 状态,可按范围细分 |
tools | tool / browser | hncore.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 自身,还是下游模块配置
status 和 reload 的区别
/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 pingstatus 会显示什么
当前实现会汇总:
- 当前节点 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.ymlstorage.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 scripts 和 reload all 的区别
/hncore reload scripts:只重载脚本系统/hncore reload:默认按all处理,重载 HNCore 主配置 +storage.yml+ 实体映射 + 脚本系统 + 共享存储
如果你改的是 脚本文件本身,优先用 reload scripts。
如果你改的是 主配置、存储配置、实体名称映射,或者你想做一次完整状态重载,优先用 reload。
tools 子命令
工具箱命令用于打开 GUI 浏览器:
text
/hncore tools
/hncore tool
/hncore browser行为特点
- 仅限玩家使用
- 打开后会进入 HNCore 工具箱首页
- 当前内置分类:
Sound、Particle、Entity、Material - 支持分类内搜索、全局搜索、快速跳页、右键复制 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.ymlstorage.ymlentity-names.yml
之后,这个命令才是最准确的同步入口。
查一个枚举 ID 用于配置
text
/hncore tools打开 GUI 后,直接搜索目标条目并右键复制 ID。
运维建议
如果你的工作方式是“改完 yml 或 groovy 就立即进服测试”,最容易遗漏的步骤通常就是没有区分 脚本重载 和 核心重载。很多“配置没生效”“数据库还是旧状态”“工具箱搜索词没变化”的问题,本质上就是重载命令用错了。
