Skip to content

Mirai Plugin for fetching motd from minecraft servers

Notifications You must be signed in to change notification settings

TripleNHU/McMotd

 
 

Repository files navigation

McMotd

mirai
基于mirai的Minecraft服务器信息查询插件

关于Linux运行环境
如果你正在使用Linux而不是Windows来运行Mirai,请确保系统中安装了中文字体,否则图片可能不会被正常渲染。

如何安装

  1. 这里下载最新的插件文件。

使用.mirai.jar还是.mirai2.jar
mirai-console2.11.0版本起支持了新的插件加载方式,如果您正在使用高版本mirai-console,则可以使用.mirai2.jar以避免可能的插件间依赖冲突;.mirai.jar为兼容插件格式,大多数版本的mirai-console均能使用。

  1. 将插件文件放入mirai-console运行生成的plugins文件夹中。
  2. 如果您还未安装chat-command插件(添加聊天环境中使用命令的功能),你可以从下面选择一种方法安装此插件:
  1. 如果您正在使用Mirai Console Loader来启动mirai-console,您可以运行以下命令来安装chat-command插件:
    ./mcl --update-package net.mamoe:chat-command --channel stable --type plugin
  2. 如果您没有使用Mirai Console Loader,您可以在这里下载最新的chat-command插件文件,并将其一同放入mirai-console运行生成的plugins文件夹中。
  1. 启动mirai-console之后,在后台命令行输入以下命令授予相关用户使用此插件命令的权限:
  • 如果您希望所有群的群员都可以使用此插件,请输入:
    /perm grant m* org.zrnq.mcmotd:command.mcp (仅可使用mcp指令)
    /perm grant m* org.zrnq.mcmotd:* (可使用全部指令)
  • 如果您希望只授予某一个群的群员使用此插件的权限,请输入:
    /perm grant m<QQ群号>.* org.zrnq.mcmotd:command.mcp (仅可使用mcp指令)
    /perm grant m<QQ群号>.* org.zrnq.mcmotd:* (可使用全部指令)
  • 如果您希望只授予某一个群的特定群员使用此插件的权限,请输入:
    /perm grant m<QQ群号>.<群员QQ号> org.zrnq.mcmotd:command.mcp (仅可使用mcp指令)
    /perm grant m<QQ群号>.<群员QQ号> org.zrnq.mcmotd:* (可使用全部指令)
  • 如果你希望了解更多高级权限设置方法,请参阅mirai-console的权限文档
  1. 安装完成。

权限列表

有关权限部分的说明,参见mirai-console的权限文档
根权限: org.zrnq.mcmotd:*
获取MC服务器信息: org.zrnq.mcmotd:command.mcp
绑定服务器到群聊: org.zrnq.mcmotd:command.mcadd
删除群聊绑定的服务器: org.zrnq.mcmotd:command.mcdel
启动/停止服务器的在线人数记录功能: org.zrnq.mcmotd:command.mcrec

插件命令

/mcp (服务器地址/服务器名称) : 查询指定地址或绑定到指定名称上的服务器信息,当本群仅绑定了一个服务器时可省略参数。 其中,服务器地址可以仅有域名,如mc.example.com,也可以带有端口号,如mc.example.com:12345

/mcadd <服务器名称> <服务器地址> : 将指定地址的服务器绑定到指定名称上。各个群聊绑定的服务器相互独立。

/mcdel <服务器名称> : 删除指定名称的服务器

/mcrec <服务器地址> (true/false) : 启动/停止对于指定服务器的在线人数记录,仅有启用了在线人数记录的服务器才会在查询结果图片中附加历史在线人数信息

插件配置

插件的配置文件位于/config/org.zrnq.mcmotd/mcmotd.yml

配置项名称 配置类型 说明
fontName 字符串(默认Microsoft YaHei) 指定渲染图片时使用的字体名称
showTrueAddress 布尔值(默认false) 设置为true时,服务器状态图片中显示服务器的真实地址。设置为false时,服务器状态图片中显示服务器的SRV地址
showServerVersion 布尔值(默认false) 设置为true时,服务器状态图片中显示服务器版本号
showPlayerList 布尔值(默认true) 设置为true时,服务器状态图片中显示当前在线的部分玩家(某些服务器可能不提供此信息,或提供非玩家信息的任意文本)
dnsServerList 字符串列表 指定进行SRV解析时所用的DNS服务器
recordOnlinePlayer 字符串列表 已启用历史在线人数记录的服务器
recordInterval 整数 记录在线人数的时间间隔(秒)
recordLimit 整数 最长保留的在线人数记录时间(秒)
fontPath 字符串(默认为空) 指定渲染图片时所使用的字体文件,如果指定了字体文件并且被成功加载,则不会使用fontName配置项(此配置项正常情况下无需使用。如果无法使用系统字体,请使用此配置项指定字体文件(#14))
background 字符串(默认为#000000) 指定渲染图片的背景,若以#开头,则指定的是RGB格式的纯色背景,否则会被解析为指向背景图片的路径
httpServerPort 整数(默认为0) http服务器的运行端口号,设置为0以禁用http服务器功能
httpServerMapping 字典(默认{}) http服务器中minecraft服务器名minecraft服务器地址的对应关系

HTTP API

要开启插件的HTTP API功能,需要将配置文件中的httpServerPort设置为非零的可用端口,并配置httpServerMapping
示例配置:

httpServerPort: 8092
httpServerMapping:
  hypixel: hypixel.net
  earthmc: org.earthmc.net

以上述配置启动McMotd后,访问http://localhost:8092/info/hypixel 将会返回与/mcp hypixel.net相同的图片结果;访问http://localhost:8092/info/earthmc 将会返回与/mcp org.earthmc.net相同的图片结果。访问配置文件中未定义的服务器名(如http://localhost:8092/info/foo )将不会返回有效的结果

FAQ

Q: 在QQ群中发送命令没反应

A: 请检查是否安装了chat-command插件,如果没有安装请看这里

Q: UninitializedPropertyAccessException:lateinit property FONT has not been initialized

A: 如果您正在使用Linux运行mirai,请检查是否安装了中文字体

Q: Could not find artifact io.ktor:xxxxx:jar:2.2.2 in https://maven.aliyun.com/repository/public

A: 如果您正在使用Mirai Console Loader,请在/config/Console/PluginDependencies.yml中添加

  - 'https://repo.maven.apache.org/maven2/'

About

Mirai Plugin for fetching motd from minecraft servers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%