配置

MCDR 的配置文件是 config.yml。它位于,也应位于 MCDR 的工作目录中。

在启动时,MCDR 将尝试加载配置文件,并将缺失的选项(如果有)添加到你的配置文件末尾。如果配置文件不存在,MCDR 则将生成默认配置文件并退出。

配置文件使用 YAML 格式。

当 MCDR 运行时,你可以使用 !!MCDR reload config 命令(或其缩写 !!MCDR r cfg)来重载配置文件。查阅 此处 以了解更多热重载的信息

配置项列表

基础配置

language

MCDR 用于输出信息的语言。

  • 选项类型:string

  • 默认值:en_us

  • 可用选项:en_uszh_cn

working_directory

服务端的工作目录。你应该将所有与服务器相关的文件放入此目录。

  • 选项类型:string

  • 默认值:server

start_command

启动服务器的控制台命令。

一些例子:

  • java -Xms1G -Xmx2G -jar minecraft_server.jar nogui (直接调用java启动服务器)

  • ./start.sh (运行工作目录中的启动脚本)

  • 选项类型:string

  • 默认值:java -Xms1G -Xmx2G -jar minecraft_server.jar nogui

handler

不同服务端有着截然不同的输出和指令。服务端处理器是用于在各种服务器之间进行处理的模块,也是 MCDR 控制服务端的接入点。

处理器确定解析服务器标准输出文本的特定方法,并使用正确的命令控制服务端。

内置的处理器及其适用的服务端如下表所示:

处理器

兼容的服务端类型

vanilla_handler

用于 原版 / Carpet / Fabric 服务端

beta18_handler

用于 beta 1.8 版本的原版服务端。可能适用于其它 beta 版本的服务端,但只在 beta 1.8.1 版本中进行了测试

bukkit_handler

用于 1.14 版本以下的 Bukkit / Spigot 服务器,以及所有版本的 Paper / Mohistmc 服务器

bukkit14_handler

用于 1.14 或以上版本的 Bukkit / Spigot 服务端。

forge_handler

用于 Forge 服务端

cat_server_handler

适用于 CatServer 服务端

bungeecord_handler

用于 BungeeCord 服务端。请在启动命令的 -jar 参数之前添加 -Djline.terminal=jline.UnsupportedTerminal 参数以支持 MCDR。详见 此处

waterfall_handler

用于 WaterFall 服务端。

velocity_handler

用于 Velocity 服务端

basic_handler

不进行任何分析并返回原始文本的处理器。 除非你想使用 MCDR 启动非 Minecraft 相关的服务器,否则无需使用。

  • 选项类型:string

  • 默认值:vanilla_handler

encoding / decoding

用于解码服务端标准输出流的文本的编码格式。

留空以让 MCDR 自动检测编码格式。如果它不起作用(例如游戏中出现了乱码),则需要根据你的操作系统和语言手动进行指定。

  • 选项类型:string 或 null

  • 默认值:

  • 例如:utf8gbk

plugin_directories

MCDR 搜索将要加载插件的目录列表。

MCDR 会 将这些目录添加到 sys.path,以让插件可以直接导入插件文件夹中的包。

  • 选项类型:list[str]

  • 默认值:

plugin_directories:
- plugins
  • 例如:

plugin_directories:
- plugins
- path/to/my/plugin/directory
- another/plugin/directory

rcon

rcon 设置。若启用 rcon,则在 Minecraft rcon 服务端启动后,MCDR将自动连接到 rcon 服务端。这样插件就可以通过 rcon 向服务端发送命令。

rcon.enable

rcon 开关

  • 选项类型:boolean

  • 默认值:false

rcon.address

用于 rcon 连接的地址。

  • 选项类型:string

  • 默认值:127.0.0.1

rcon.port

用于 rcon 连接的端口。

  • 选项类型:integer

  • 默认值:25575

rcon.password

用于 rcon 连接的密码。

  • 选项类型:string

  • 默认值:password

check_update

如果设置为 true,MCDR将会每隔24小时执行一次更新检测。

  • 选项类型:boolean

  • 默认值:true

高级配置

为进阶用户提供的选项

disable_console_thread

设置为 true 时,MCDR 将不会启动控制台线程来处理控制台命令输入。

请保持默认值,除非你清楚地知道这是什么。

  • 选项类型:boolean

  • 默认值:false

disable_console_color

设置为 true 时,MCDR 将在所有消息打印到控制台之前删除所有控制台字体格式化程序代码。

  • 选项类型:boolean

  • 默认值:false

custom_handlers

自定义 服务端处理器 类所组成的列表。这些类应当是 AbstractServerHandler 的子类。

这样你就可以在 handler 选项中通过处理器的名称指派其解析标准输出文本。

处理器名称通过 get_name 方法定义。

  • 选项类型:list[str] 或 null

  • 默认值:

custom_handlers:
  • 例如:

custom_handlers:
- my.customize.handler.MyHandler

下面这个例子中,my.custom.handler 是包路径,MyHandler 是类名。

custom_info_reactors

用于处理 info 实例的自定义 info 响应器 类所组成的列表。这些类应当是 AbstractInfoReactor 的子类。

所有自定义 info 响应器都将注册到反应堆列表中,以处理来自服务器的信息。

  • 选项类型:list[str] 或 null

  • 默认值:

custom_info_reactors:
  • 例如:

custom_info_reactors:
- my.customize.reactor.MyInfoReactor

下面这个例子中,my.custom.reactor 是包路径,MyInfoReactor 是类名。

debug

调试日志模式开关。将 all 设置为 true 以启用所有的调试输出。也可以打开部分选项,以启用某些调试输出。

  • 默认值:

debug:
  all: false
  mcdr: false
  handler: false
  reactor: false
  plugin: false
  permission: false
  command: false