简体中文
命令与权限
CoreLib 的全部命令和权限节点如下, 再挑几个常用操作, 一步步说明怎么用
EmakiCoreLib 的主命令是 /emakicorelib, 别名为 /corelib, /emakicore. 这些命令主要给你这样的服务器管理员用: 重载 CoreLib, 做配置预检 (提前把配置检查一遍), 查看或执行已注册的 Action (动作, 即动作系统里注册的一段效果), 以及排查循环 Action 任务
命令列表
| 命令 | 说明 | 权限 |
|---|---|---|
/corelib reload | 重新加载 CoreLib 的配置和 Action 系统; 如果预检没通过, 这次重载会取消, 继续用原来的配置 | emakicorelib.reload 或 emakicorelib.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; 也可以省掉 run, 写成 /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.reload | op | 允许重载 CoreLib |
emakicorelib.admin | op | CoreLib 的管理员总权限, 包含 emakicorelib.reload |
常用操作
重载 CoreLib
text
/corelib reload改完 CoreLib 主配置, 语言文件或 Action 之后, 你运行它即可. 它会先跑一遍配置预检; 预检没过, 就不会替换当前正在生效的配置
执行配置预检
text
/corelib check
/corelib check report
/corelib check corelibcheck 会检查配置引用, 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 (扫描范围), 取值为 players, containers, entities, all. 转换在异步线程上扫描, 结束后按 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.yml 里的 debug.global_all, 会影响所有使用 CoreLib DebugLogger 的 Emaki 模块. 注意这个切换不会写回配置文件, 你执行 /corelib reload 后会重新采用配置值