Skip to content

命令与权限

EmakiCoreLib 的主命令是 /emakicorelib,别名为 /corelib/emakicore。这些命令主要面向服务器管理员,用于重载 CoreLib、执行配置预检、管理 JavaScript 扩展、查看或执行已注册 Action,以及排查循环 Action 任务。

命令列表

命令说明权限
/corelib reload重载 CoreLib 配置、Action 系统与脚本系统;预检失败时取消本次重载并保留旧配置。emakicorelib.reloademakicorelib.admin
/corelib check [module|report|--fix]执行配置预检、检查指定模块或查看最近一次报告;当前版本的 --fix 为只读提示,不执行自动修复。emakicorelib.admin
/corelib script list列出全局 JavaScript 脚本与当前注册的脚本扩展数量。emakicorelib.admin
/corelib script inspect <script>查看指定 JavaScript 脚本注册了哪些扩展入口。emakicorelib.admin
/corelib script reload重新加载 Action / JavaScript 相关系统。emakicorelib.admin
/corelib action list列出当前已注册 Action 的 id、category、source、owner、execution mode 与参数名。emakicorelib.admin
/corelib action run <actionId> key=value ...直接执行一条当前已注册的 Action;也支持 /corelib action <actionId> key=value ... 简写。emakicorelib.admin
/corelib debug all [on|off|status]运行时切换全局 Debug 开关;不带参数等同 status。重载后恢复为 debug.global_all 的配置值。emakicorelib.admin
/corelib debug loops [list|player|key|cancel|cancel-player]查看活动循环 Action 任务,并按 key 或玩家取消循环任务。emakicorelib.admin
/corelib help显示子命令帮助;不带参数或输入未知子命令时也会显示。

action 子命令可写作 actions,两者等价。

权限节点

权限默认说明
emakicorelib.reloadop允许重载 CoreLib。
emakicorelib.adminopCoreLib 管理员总权限,包含 emakicorelib.reload

常用操作

重载 CoreLib

text
/corelib reload

适合修改 CoreLib 主配置、语言文件、Action 或脚本后使用。重载会先执行配置预检;预检失败时不会替换当前正在生效的配置。

执行配置预检

text
/corelib check
/corelib check report
/corelib check corelib

check 会检查配置引用、Action 模板、物品源与 CoreLib 相关配置。report 查看最近一次预检结果;传入模块 ID 时只检查指定模块。

查看 JavaScript 扩展

text
/corelib script list
/corelib script inspect examples/hello.js
/corelib script reload

用于确认全局脚本、脚本注册入口和重载后的注册状态。完整脚本能力见 JavaScript 脚本

查看和执行已注册 Action

text
/corelib action list
/corelib action run sendmessage text="hello"

action list 用来确认当前注册表里有哪些 Action。action run 会把 <actionId> key=value ... 按普通 Action 行解析,因此参数、引号、@if@chance@delay 等规则与配置文件中的 Action 行一致。控制台执行时没有玩家上下文,依赖玩家的 Action 会按既有 Action 校验失败。

排查循环 Action

text
/corelib debug loops list
/corelib debug loops player Steve
/corelib debug loops key some-loop-key
/corelib debug loops cancel some-loop-key
/corelib debug loops cancel-player Steve

这些命令只用于排查或清理循环 Action。生产服上不建议长期保留大量循环任务调试输出。

切换全局 Debug

text
/corelib debug all status
/corelib debug all on
/corelib debug all off

作用等同于临时改写 config.ymldebug.global_all,会影响所有使用 CoreLib DebugLogger 的 Emaki 模块。该切换不写回配置文件,/corelib reload 后重新采用配置值。