欢迎光临散文网 会员登陆 & 注册

MCDR插件!!mount配置使用心得

2023-02-23 13:24 作者:辉梦巽风awa  | 我要投稿

一个可以在单MCDR实例下挂载多个MC服务器的插件。

——神仙作者401

Mount插件的github链接:

https://github.com/FAS-Server/Mount

注:本文将尝试使用最保险的方法配置mount插件,不会是最简单的操作流程,但是能尽量避免出问题。

若在过程中遇到报错等问题,可以翻到最后查看常见问题及解决方案

插件原理简介 遇到新插件,先看一遍Readme,边看边说些注意事项:

使用说明

1. 配置一个MCDR实例(包括MC服务端)并加入此插件, 将其启动

注意最新版MCDR要使用

预发布0.2.0版本以上的Mount

MC服务端的话我建议先单独配在一个文件夹里,然后删除MCDR自带的server文件夹

(具体是哪个版本以上的MCDR不支持未命名线程来着(;OдO))

2. 依照 (配置选项)修改主体插件配置, 特别是自动检测挂载点的配置, 然后重载此插件(使用指令!!mount -r即可)

关键步骤

1. 首先确定服务端文件夹们要放在哪儿,一般建议放在和MCDR端文件夹同目录的servers文件夹中,并在其中新建一个

server.properties.overwrite

文件。

在配置时请确保至少有一个可用的服务端文件夹

我们假设server1为已配置好的一个服务端

图1 此时的文件夹结构

2. 找到MCDR端中路径为

configs/ mount.json

的配置文件(

主体插件配置

),初始内容如下:

{

// 是否在玩家加入时显示一条帮助

welcome_player: true,

// 是否启用 !!m 短指令

short_prefix: true,

// 自动检测挂载点时的目录

servers_path: [ "./servers" ],

// 重写挂载点的server.properties时使用的覆盖配置, 格式同server.properties,只添加需要覆盖的配置行即可

overwrite_name: "../servers/server.properties.overwrite",

// 当前可用的挂载点列表,

available_servers: [

"servers/Parkour",

"servers/PVP",

"servers/Bingo"

],

// 当前MCDR实例正在使用的挂载点

current_server: "servers/Parkour",

// 此MCDR实例的挂载标识

mount_name: "MountDemo"

}

注:其中的相对路径是相对MCDR核心的路径

3. 修改其中

servers_path

列表的值为servers文件夹相对路径,根据关键步骤1,我们修改为

servers_path: [ "../servers" ]

4. 修改其中的

current_server

为你其中一个服务端的文件相对路径,例如修改为

current_server: "../servers/ server1"

(因为之前我们假设server1可用)

5.修改其中的

mount_name

为你想要的文本(自己命名,作为“此服务端被占用”的标识),例如修改为

mount_name: " Mount1"

修改完成,此时的文件目录结构如下:

3. 修改在第二步配置的overwrite_name文件, 建议添加服务器端口和RCON相关配置来获取一致的体验

用文本编辑器打开

servers/ server.properties.overwrite

文件并在其中写入你想要统一的

server. properties配置项

,例如统一服务器端口等设置,格式同server.properties,下面是一个例子:

在这个文件中的配置会覆盖所有子服的配置

4. 在第二步配置的自动检测目录中, 放入更多MC服务端实例, 然后可以游戏内输入!!mount -l查看并修改相关配置选项, 在修改完毕之后将人工检查项设置为True

这一步请完整看完后再做操作

这一步便是向servers文件夹中添加更多的服务端文件夹。但是,在继续这一步之前首先要启动MCDR服务端。

重要操作

1. 打开

MCDR/config.yml

文件(MCDR配置文件),设置其中的

handler,start_command和working_directory

,使之与你在

mount.json

中选定的当前服务器匹配。此处即为与server1匹配。(具体配置值参照MCDR配置方法)

2. 启动MCDR,如果带起了server1即为成功。

3. 进入

servers/server1

文件夹,找到新增的

mountable.json

文件并打开,默认内容如下:

{

// 是否通过了人工确认

checked: false,

// 描述信息

desc: "Demo server",

// 此挂载点启动命令

start_command: "./start.sh",

// 此挂载点使用的MCDR handler

handler: "vanilla_handler",

// 占用此挂载点的MCDR实例的挂载标识, 空代表未挂载

occupied_by: " Mount1",

// 此挂载点的重置路径, 空或者.代表无重置路径

reset_path: "",

// 此挂载点的重置方法, full代表全部重置, region代表保留玩家信息(如跑酷记录)

reset_type: "full",

// 专为此挂载点的mcdr插件目录, 使得每个挂载点可使用专有的插件, 空或者.代表无

plugin_dir: ""

}

修改其中的配置信息使之与server1匹配

其中相对路径是相对于server1服务器核心文件的路径

特别注意occupied_by的值,此处一定要与mount.json中的Mount_name相同,表示正在挂载server1这个服务端

到这里MCDR启动完成,可以向servers文件夹中添加所需要的服务端文件夹,

每一个服务端文件夹中都复制一个mountable.json进去

,并修改相应参数,

特别注意除server1以外所有其他服务端的occupied_by值应为空

,表示服务端未被占用

添加完成后进入服务器,在聊天栏输入

!!m -r

让插件自动检测你添加的所有服务端,然后输入

!!m -l

此时应正确显示所有添加服务器的列表,只不过均不可用。

不可用是因为服务端

mountable.json

文件的

checked

值为false,如果确认该服务端没有问题后改成true即可。

5. 此时重新输入!!mount -l 即可看到人工检查通过的服务端处于可用状态, 挂载即可

没错!搞定了!

6. 更多指令, 可在游戏内输入!!mount获取帮助信息

常见问题及解决办法

Q:我的MCDR直接崩溃了,启动不起来。 A:检查插件的pip包是否已全部安装,检查插件的版本 Q:我的MCDR启动了一个新的服务端,而不是我放的server1 A:检查MCDR的working_directory的值,看看是不是在MCDR/server里新建了一个服务端,如有,请修改working_directory后删除它 Q:我的MCDR无法启动我的server1 A:检查相对路径有没有写错,然后检查启动命令是否有误。请同时检查MCDR的配置文件config.yml和config/mount.json相应参数是否一致 Q:我的server1可以进入了,但是里面用不了MCDR A:检查mountable.json中的handler是否有误,并同步检查MCDR配置文件config.yml Q:我!!m -l后的服务器列表全是红色的 A:检查当前未挂载的服务端的mountable.json文件中的occupied_by是否为空,请改为"occupied_by": "", Q:还有啥 A:我不到哇 感谢

401U:

写出这个nb的插件,并被我烦了一下午

SJMC服务器:

提供了我瞎捣鼓的环境 如果有空的话我就去做个样例包丢云上,如果有空的话ε=ε=ε=┌(;´°ェ°)┘ 先写到这儿吧,估计还会有要补充的,到时候再看qwq

MCDR插件!!mount配置使用心得的评论 (共 条)

分享到微博请遵守国家法律