命令行接口
MCDR 提供了一些实用的命令行接口(CLI)工具。如果你在启动 MCDR 的时候在启动指令末尾追加一些参数。使用方法很简单:在你启动 MCDR 的命令末尾追加一些参数
从 v2.10 开始,MCDR 在安装时会在 python 的可执行文件路径下生成一个启动脚本,因此,你可以直接使用 mcdreforged
指令来启动 MCDR
来试试用以下命令来显示 CLI 的帮助信息吧!
mcdreforged -h
python -m mcdreforged -h
python3 -m mcdreforged -h
以下文档将使用 mcdreforged
作为演示用的指令。对于 MCDR < v2.10,你需要在下面所用的指令前加上 python -m
前缀
CLI 命令的大体格式为:
mcdreforged [global_args] <sub_command> [sub_command_args]
全局参数
-h
,--help
:展示帮助信息并退出-V
,--version
:打印 MCDR 的版本并退出-q
,--quiet
:禁用 CLI 信息输出
在 v2.8.0 版本加入: 参数 -V
、--version
子命令
start
mcdreforged start [-h]
同 mcdreforged
一样,启动 MCDR
init
mcdreforged init [-h]
准备 MCDR 的工作环境
在当前工作目录下生成默认配置、权限文件,及常用的文件夹,包含:
logs/
configs/
plugins/
server/
config.yml
permission.yml
gendefault
mcdreforged gendefault [-h]
在当前工作目录下生成默认配置文件
注意,这将会覆盖现有的文件
pack
mcdreforged pack [-h] [-i INPUT] [-o OUTPUT] [-n NAME]
将你插件的源文件 / 资源文件打包起来,从一组零散的文件,到一个 .mcdr
格式的 打包插件 文件
打包过程基于输入文件夹中的 mcdreforged.plugin.json
元数据文件。它会也仅会将如下的文件/文件夹打包至打包插件中:
以插件 id 命名的文件夹
文件
mcdreforged.plugin.json
文件
requirements.txt
,如果它存在于元数据的 resources 属性中列出的文件或文件夹
input
-i INPUT
,--input INPUT
输入文件夹,也就是插件所在的文件夹
举个例子,如果你有着如下的文件结构
work_place/ my_plugin/ __init__.py my_lib.py mcdreforged.plugin.json requirements.txt那么文件夹
work_place/
将会是输入文件夹默认值:当前所在的文件夹
output
-o OUTPUT
,--output OUTPUT
储存生成的打包插件的文件夹
默认值:当前所在的文件夹
name
-n NAME
,--name NAME
输出的打包插件文件的特定名称
如果该项的值未被给出,将会使用插件元数据中的 archive_name 属性的值
如果该项的值仍未给出,将会使用默认的命名格式
你可以在你的文件名字符串中使用格式化字符。形如
{arg_name}
的名字将会被自动替换。使用{{
和}}
来描述单个{
和}
id
:插件 id
version
:插件版本举个例子,在
id=my_plugin
、version=1.2.3
的情况下,将会出现下方的格式化过程
MyCustomPlugin-release
->MyCustomPlugin-release
MyCustomPlugin-v{version}
->MyCustomPlugin-v1.2.3
{id}_{version}
->my_plugin_1.2.3
如果该项的值中包含文件扩展名,且该文件扩展名为一个可用的 打包插件 扩展名(
.mcdr
或.pyz
),则其中包括的文件扩展名将会被使用。否则,默认扩展名.mcdr
将会被追加至末尾
ignore patterns
--ignore-patterns IGNORE_PATTERN [IGNORE_PATTERN ...]
一个类似 gitignore 格式的模式串列表,表示一个文件忽略列表,将在打包插件时用于排除文件和文件夹
它支持 .gitignore 语法 的一个子集。下面是一些差异点:
当使用反向匹配的模式串,即以
!
开头的模式串时,一个文件是否被排除,取决于列表中相对位置最靠后的模式串的类型不支持后缀空格字符的转义
不支持前缀
#
字符的转义它将覆盖参数 --ignore-file 提供的值。如果值为空或者文件不存在 / 无法读取,什么都将不会被过滤
注意:用于计算相对路径时的根目录是当前的工作路径,而非 input 中的路径
默认值:空列表
例子:
--ignore-patterns __pycache__ foobar/*.txt **/trash/bin/在 v2.8.0 版本加入.
ignore file
--ignore-file IGNORE_FILE
指向一格 utf8 编码的类似 gitignore 的文件。文件中的内容将被用作 --ignore-patterns 的参数
默认值:
".gitignore"
,这意味着它将会自动读取当前工作路径下的 .gitignore 文件下面是一个关于
--ignore-patterns
和--ignore-file
组合使用时,实际表现的表格:
--ignore-patterns
--ignore-file
表现
未设置
未设置
从 .gitignore 文件中读取忽略列表
未设置
已设置
从给定的文件中读取忽略列表
已设置
未设置
使用
--ignore-patterns
的值已设置
已设置
使用
--ignore-patterns
的值在 v2.8.0 版本加入.