指令

指令是用户与 MCDR 交互的最常见方式。 MCDR 将来自服务器的所有控制台输入和玩家聊天信息视为用户输入。对于这类输入,MCDR 将尝试将其视为指令并进行解析。

指令可以由 MCDR 本身和插件注册。本页面只介绍来自 MCDR 的指令。对于插件注册指令,请在 此处 查看。

!!MCDR 指令

!!MCDR 指令是用户在控制台或游戏中控制 MCDR 的方式。 这些指令至少需要权限级别 3 (admin) 才能执行。

若你已经有控制 MCDR 的权限,那么你可以在控制台或游戏聊天框中输入 !!MCDR,你将会看到 MCDR 指令的帮助消息。

状态显示

!!MCDR status 指令将返回 MCDR 的当前状态。它包括如下内容:

  • MCDR 的版本

  • MCDR 的状态

  • 服务端的状态

  • 如果服务器已启动则显示的标志

  • MCDR 是否会在服务端停止后关闭,也即服务器是自然关闭的还是被 MCDR 停止/杀死

  • Rcon 的连接状态

  • 已加载插件数量

以下状态只能由具有权限 4 (owner) 的用户查看

  • 服务端 PID ——注意,此 PID 是正在运行服务端的终端程序的 PID

  • 信息处理队列的负载。若服务端正在刷屏,则该队列可能被填满

  • 当前的线程列表

热重载

!!MCDR reload 指令可以热重载 MCDR。它也可以缩写为 !!MCDR r。 执行指令 !!MCDR reload 即可获取热重载指令的帮助信息。

以下为指令列表:

指令

缩写

功能

!!MCDR reload

!!MCDR r

显示重载指令的帮助信息

!!MCDR reload plugin

!!MCDR r plg

重载所有 有变化 的插件

!!MCDR reload config

!!MCDR r cfg

重新载入配置文件

!!MCDR reload permission

!!MCDR r perm

重新载入权限文件

!!MCDR reload all

!!MCDR r all

重载上述所有

权限管理

!!MCDR permission 指令用于操作玩家权限。它的缩写是 !!MCDR perm。 执行指令 !!MCDR perm 将显示权限操作指令的帮助信息。

以下为指令列表:

指令

缩写

功能

!!MCDR permission

!!MCDR perm

显示权限指令帮助信息

!!MCDR permission list [<level>]

!!MCDR perm list [<level>]

列出所有玩家的权限。在设置了 [<level>] 时,仅列出拥有 [<level>] 权限的玩家

!!MCDR permission set <player> <level>

!!MCDR perm set <player> <level>

设置 <player> 的权限级别为 <level>

!!MCDR permission query <player>

!!MCDR perm q [<player>]

查询 <player> 的权限级别。如果没有设置 <player>,查询指令发送者的权限级别

!!MCDR permission remove <player>

!!MCDR perm remove <player>

从权限数据库中删除 <player>

!!MCDR permission setdefault <level>

!!MCDR perm setd <level>

设置默认权限级别为 <level>

其中,<player> 参数应为一个玩家名。

<level> 参数应该是一个表示权限等级的字符串或整数。它可以是权限全名或表示权限等级的整数。

例如:

  • !!MCDR perm list 4:列出所有权限级别为 4 (owner) 的玩家

  • !!MCDR permission set Steve admin:将玩家 Steve 的权限级别设置为 3 (admin)

  • !!MCDR permission q Steve:查询玩家 Steve 的权限级别。其值应为上一条示例设置的 3 (admin)

查看 权限 页面以获取更多关于 MCDR 权限系统的信息

插件管理

!!MCDR plugin 是插件操作指令。它的缩写是 !!MCDR plg。 执行指令 !!MCDR plg 将显示该指令的帮助信息。

以下为指令列表:

指令

缩写

功能

!!MCDR plugin list

!!MCDR plg list

列出所有插件

!!MCDR plugin info <plugin_id>

!!MCDR plg info <plugin_id>

显示ID为 <plugin_id> 的插件信息

!!MCDR plugin load <file_name>

!!MCDR plg load <file_name>

加载文件名为 <file_name> 的插件

!!MCDR plugin enable <file_name>

!!MCDR plg enable <file_name>

启用文件名为 <file_name> 的插件

!!MCDR plugin reload <plugin_id>

!!MCDR plg reload <plugin_id>

重载 ID 为 <plugin_id> 的插件

!!MCDR plugin unload <plugin_id>

!!MCDR plg unload <plugin_id>

卸载 ID 为 <plugin_id> 的插件

!!MCDR plugin disable <plugin_id>

!!MCDR plg disable <plugin_id>

禁用 ID 为 <plugin_id> 的插件

!!MCDR plugin reloadall

!!MCDR plg ra

加载 / 重载 / 卸载 所有 未禁用的插件

<plugin_id> 参数应为操作目标的插件 ID。

<file_name> 参数应为要加载或启用插件的文件名。

例子:

假设现在有一个 Id 为 my_plugin 的插件已被加载,一个路径为 plugins/another_plugin.py.disabled 的插件被 ID 为 another_plugin 的插件禁用。

于是你可以执行以下指令:

!!MCDR plg info my_plugin
!!MCDR plugin reload my_plugin
!!MCDR plugin enable another_plugin.py.disabled
!!MCDR plugin unload another_plugin
!!MCDR plugin load another_plugin.py

这些指令将执行以下操作:

  1. 查询内置插件 my_plugin 的信息;

  2. 重载 ID 为 my_plugin 的插件;

  3. 启用并加载文件名为 another_plugin.py.disable 的插件。它的 ID 为 another_plugin

  4. 卸载 ID 为 another_plugin 的插件;

  5. 加载文件名为 another_plugin.py 的插件。注意,由于此插件未加载,故你只能使用文件名来指定它。

更新检查

使用 !!MCDR checkupdate!!MCDR cu 可手动检查来自 github 的更新。

它将尝试在 github 中获取最新版本,并检查它是否比当前版本更新。 如果是,它将显示 github 上的更新日志。

!!help 指令

!!help 指令将显示所有指令的帮助消息。它作为着一个包含所有指令的索引。

此指令的内容可以由插件注册,所以一个新的用户可以借此轻松浏览所有可用的指令。

任何用户都可以使用此指令,MCDR 将列出该用户有权查看的所有指令帮助消息。

在无任何插件的情况下,输入 !!help 指令后将返回如下结果:

MCDR command help message list
!!MCDR: MCDR control command
!!help: MCDR command help messages