Skip to content

命令与权限

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

命令列表

命令说明权限
/corelib reload重载 CoreLib 配置与 Action 系统;预检失败时取消本次重载并保留旧配置。emakicorelib.reloademakicorelib.admin
/corelib check [module|report|--fix]执行配置预检、检查指定模块或查看最近一次报告;当前版本的 --fix 为只读提示,不执行自动修复。emakicorelib.admin
/corelib action list列出当前已注册段的 id、kind(source/gate/action)与 owner。emakicorelib.admin
/corelib action run <actionId> key=value ...直接执行一条当前已注册的 Action;也支持 /corelib action <actionId> key=value ... 简写。emakicorelib.admin
/corelib pdc-convert <players|containers|entities|all> [--dry-run]把历史带点 PDC 键转换为扁平键;--dry-run 只统计不写入。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 时只检查指定模块。

查看和执行已注册 Action

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

action list 用来确认当前注册表里有哪些段,每行输出 id、kind 与 owner 三项。action run 会把整行交给管道编译器按普通管道行解析,因此参数、引号、if <条件> [ ... ] 分支与 gate 写法都与配置文件中的管道行一致。控制台执行时没有玩家上下文,依赖玩家的段会按既有校验失败。

转换历史 PDC 键

text
/corelib pdc-convert players
/corelib pdc-convert containers
/corelib pdc-convert entities
/corelib pdc-convert all --dry-run

scope 取值为 playerscontainersentitiesall。转换在异步线程扫描,结束后按 scope 输出 scanned / migrated / skipped / failed 计数与总迁移数。加 --dry-run 时只统计不写入,适合先评估影响面。

排查循环 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 后重新采用配置值。