Skip to content

如果你只想先把 HNCore 跑起来,并尽快确认脚本系统、核心重载与工具箱都正常工作,可以按这份最短流程操作。

最短上线流程

1. 放入插件并启动一次服务器

HNCore 的 jar 文件放入服务端 plugins 目录后启动服务器。

插件在首次启动时,会通过 plugin.yml -> libraries 自动解析运行时 Java 库,这个过程通常是需要联网的;如果部署环境完全离线,建议先在可联网环境预热一次库缓存。

首次启动后,通常会生成:

plugins/HNCore/
├── config.yml                      # 主配置文件
├── storage.yml                     # 存储配置(数据库/Redis)
├── auth.yml                        # 统一授权配置
├── entity-names.yml                # 实体名称映射
├── toolbox-search-aliases.yml      # 工具箱搜索别名
├── GroovyScripts/                  # Groovy 脚本目录
│   ├── KeepInventory.groovy
│   ├── NoHunger.groovy
│   └── ...
└── GroovyConfig/                   # 脚本配置目录
    ├── KeepInventory.yml
    ├── NoHunger.yml
    └── ...

2. 先确认主配置中的脚本系统已开启

打开 plugins/HNCore/config.yml,确认以下配置处于合理状态:

yml
log:
  level: INFO

feature-scripts:
  enabled: true
  release-examples: true
  groovy:
    enabled: true

如果你只是正常上线,建议先保持 log.level: INFO;排障时再临时切到 DEBUGTRACE

如果 release-examples: true,HNCore 会在首次启动时释放默认示例脚本与配置。

3. 再看一眼 storage.ymlauth.yml

当前版本把数据库 / 共享存储配置独立放到了 storage.yml,把统一授权接入配置独立放到了 auth.yml

如果你只是先体验默认脚本,可以先保持:

yml
database:
  enabled: false

storage:
  mysql:
    enabled: false
  redis:
    enabled: false

cluster:
  transport: auto

也就是说,第一次上手不需要先把 MySQL / Redis 配起来

如果你当前还没有接 HN 系列付费模块,auth.yml 也可以先保持默认:

yml
auth:
  enabled: false

在这种情况下,HNCore 启动日志里通常会看到:

  • cluster.node-id 自动回退为 服务器名@端口
  • transport=loopback

这代表 ClusterBus 已建立,但当前仅本服本进程自测可用,不会跨服。

4. 确认默认示例脚本已经生成

当前默认示例脚本为:

  • KeepInventory.yml
  • NoHunger.yml
  • WorldProtect.yml
  • ExplosionProtect.yml
  • AutoRespawn.yml
  • EndermanProtect.yml
  • DurabilityProtect.yml
  • VoidProtect.yml
  • PvpControl.yml
  • MobSpawnControl.yml
  • NoDrop.yml
  • NoFireSpread.yml
  • NoRain.yml
  • NoFallDamage.yml
  • FixedTime.yml
  • ClearDroppedItems.yml
  • NoDamageIndicator.yml

这些文件位于 plugins/HNCore/GroovyConfig/,对应的脚本文件位于 plugins/HNCore/GroovyScripts/

5. 选择要启用的脚本

plugins/HNCore/GroovyConfig/ 中,修改对应脚本配置里的 enabled

yml
enabled: true

6. 重载脚本并验证

在后台执行:

text
/hncore reload scripts

然后继续检查:

text
/hncore scripts list
/hncore scripts enabled
  • list:确认系统识别到了哪些脚本
  • enabled:确认当前真正处于启用状态的脚本

7. 先学会看共享状态与集群状态

如果你后面准备折腾:

  • storage.yml
  • Redis
  • MySQL
  • ClusterBus
  • HNAttribute 的跨服同步

建议先记住这两个命令:

text
/hncore status
/hncore cluster status

它们分别适合确认:

  • /hncore status
    • 共享数据库是否启用 / 激活
    • 共享存储 MySQL / Redis 是否启用 / 激活
    • 当前键值后端到底是 Redis 还是 MySQL
    • 共享消息总线(Pub/Sub)是否真的可用
    • 统一授权是否启用、授权中心地址和商品授权码是否已配置
    • 共享物品库有哪些来源、哪些来源当前可用
  • /hncore cluster status
    • 当前节点 ID
    • 当前 transport 是 redis 还是 loopback
    • ClusterBus 是否真的可用
    • action registry 与基础 metrics

8. 顺手验证一次核心重载

如果你刚改的是:

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

那应该执行:

text
/hncore reload

这个命令会一起重载:

  • HNCore 主配置
  • storage.yml
  • Groovy 脚本系统
  • 实体名称映射
  • 共享数据库 / 共享存储状态

改完后建议马上再看一次:

text
/hncore status
/hncore cluster status

这样你就不会只知道“reload 执行了”,而是不知道 Redis / PubSub / ClusterBus 到底有没有真的起来。

9. 打开一次工具箱

text
/hncore tools

这样可以顺手确认:

  • 工具箱 GUI 能正常打开
  • 一级菜单能进入 Sound / Particle / Entity / Material
  • 全局搜索可用
  • toolbox-search-aliases.yml 已成功生成并加载

四组常见功能组合

目标建议先看的脚本说明
基础世界保护WorldProtectExplosionProtectEndermanProtectPvpControlMobSpawnControl先保护交互、爆炸破坏、生物搬运,再按需关闭大厅 PvP 与敌对生物生成
简化原版生存细节NoHungerKeepInventoryDurabilityProtect适合想减少饥饿、死亡损耗与装备磨损管理成本的配置
大厅 / 展示世界NoDropNoRainFixedTimeNoFallDamage适合大厅、主城、跑酷起点、展示图等想维持整洁观感和低打扰体验的场景
快速死亡回到流程AutoRespawnKeepInventoryVoidProtectMobSpawnControl一个负责自动复活,一个负责死亡物品与经验控制,一个负责虚空救援,也可顺手限制地图中的敌对怪刷新

上线后第一件事

建议优先执行一次:

text
/hncore scripts enabled
/hncore status
/hncore cluster status

这样你能同时确认:

  • 当前真正生效的脚本
  • 共享数据库 / Redis / PubSub 是否处于可用状态
  • ClusterBus 当前是 loopback 还是 redis

下一步读什么

HN 系列插件文档