McMotd - 以图片的形式获取Minecraft服务器信息(支持彩色文字、HTTP API)
-
获取MC服务器信息并以图片形式展示服务器图标、标题、延迟、玩家数量等信息。如下图所示:
- 目前仅支持Java版服务器
- 支持绘制玩家数量历史记录图表
- 支持HTTP API
- 支持IPv6服务器
详细命令用法见README。
-
/mcp www.touming.xyz:11451
2022-02-12 13:42:50 V/Bot.: Group() <- [mirai:at:] 查询失败,以下地址均未能成功获取:\nwww.touming.xyz:11451 => NullPointerException:it.getJSONArray("sample") must not be null -
-
图片有中文 然后乱码成了框框 要怎么解决qwq?
-
-
@under-estimate 好的👌 晚上回去更新
-
@梦泽 查询失败,以下地址均未能成功获取:
mc.hypixel.net:25565 => JSONException:syntax error, pos 17, line 1, column 18 §aHypixel Network §c[1.8-1.18]
§e✰ §6§lSKYBLOCK - BEDWARS - AND MORE! §e✰
hypixel.net:25565 => ConnectException:Connection timed out: connect
好像跟网络有些关系,但是在JSONException:syntax error, pos 17, line 1, column 18 中 也返回了部分信息,mcp国内的都没问题,我应该怎么处理 -
-
@2020ⅡMATH12C 查询失败,以下地址均未能成功获取:
124.222.59.94:7002 => UninitializedPropertyAccessException:lateinit property FONT has not been initialized以及加载插件时报错:
2022-03-14 14:43:48 I/Minecraft MOTD Fetcher: McMotd is loading
2022-03-14 14:43:48 E/Minecraft MOTD Fetcher: java.lang.InternalError: java.lang.reflect.InvocationTargetException
java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory$1.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerFactory.getInstance(Unknown Source)
at java.desktop/sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(Unknown Source)
at java.desktop/sun.java2d.SunGraphicsEnvironment.getAllFonts(Unknown Source)
at java.desktop/sun.java2d.HeadlessGraphicsEnvironment.getAllFonts(Unknown Source)
at McMotd-1.0.3.jar//org.zrnq.mcmotd.McMotd.onEnable(McMotd.kt:28)
at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:117)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:258)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.enable(BuiltInJvmPluginLoaderImpl.kt:35)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.enable(JvmPluginLoader.kt:50)
at net.mamoe.mirai.console.plugin.PluginManager.enablePlugin(PluginManager.kt:173)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enableAllLoadedPlugins$mirai_console(PluginManagerImpl.kt:181)
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:224)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:444)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:159)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:158)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:46)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.itxtech.mcl.Utility.bootMirai(Utility.java:83)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:226)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1692)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1013)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:412)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3578)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at org.mozilla.javascript.ArrowFunction.call(ArrowFunction.java:43)
at org.mozilla.javascript.InterfaceAdapter.invokeImpl(InterfaceAdapter.java:155)
at org.mozilla.javascript.InterfaceAdapter.lambda$invoke$0(InterfaceAdapter.java:105)
at org.mozilla.javascript.Context.call(Context.java:554)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:522)
at org.mozilla.javascript.InterfaceAdapter.invoke(InterfaceAdapter.java:105)
at org.mozilla.javascript.jdk18.VMBridge_jdk18$1.invoke(VMBridge_jdk18.java:126)
at com.sun.proxy.$Proxy4.run(Unknown Source)
at org.itxtech.mcl.script.ScriptManager.phaseBoot(ScriptManager.java:106)
at org.itxtech.mcl.Loader.lambda$start$3(Loader.java:176)
at org.itxtech.mcl.Loader.tryCatching(Loader.java:145)
at org.itxtech.mcl.Loader.start(Loader.java:176)
at org.itxtech.mcl.Loader.main(Loader.java:68)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
... 49 more
Caused by: java.lang.NullPointerException
at java.desktop/sun.awt.FontConfiguration.getVersion(Unknown Source)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(Unknown Source)
at java.desktop/sun.awt.FontConfiguration.init(Unknown Source)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(Unknown Source)
at java.desktop/sun.font.SunFontManager$2.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.SunFontManager.<init>(Unknown Source)
at java.desktop/sun.awt.FcFontManager.<init>(Unknown Source)
at java.desktop/sun.awt.X11FontManager.<init>(Unknown Source)
... 53 more -
@NNanfeng 似乎是运行环境中没有安装字体,请提供运行mirai的操作系统信息和java版本信息以便进一步分析
-
@Under-estimate 镜像名称
Ubuntu20.04-Docker20
镜像类型
Docker基础镜像
操作系统
Ubuntu Server 20.04 LTS 64bitmirai自动安装的java版本
-
@NNanfeng
在Ubuntu 20.04.2 LTS
上的测试结果表明,确实是没有安装字体的问题。McMotd需要字体来渲染图片,因此系统中没有安装字体时则会出错。以下为在Ubuntu上安装字体的方法:- 将一个中文字体文件(
*.ttf
或*.ttc
)复制到/usr/share/fonts
文件夹下。如果你的PC操作系统为Windows,推荐使用C:\Windows\Fonts
文件夹下的微软雅黑字体msyh.ttc
- 设置字体文件的权限:
chmod 644 <你的字体文件>
- 将一个中文字体文件(
-
@Under-estimate 请问是否有想法简化命令呢
-
@NNanfeng 有什么建议吗
-
@Under-estimate 出一个绑定命令 让后出一个 /服务器状态 特定的群就播报特定的MC服务器地址
-
@NNanfeng 附议
-
@Azazel0Sakura 老哥牛逼
-
-
大佬 https://github.com/Under-estimate/McMotd/blob/main/README.md
这个界面编写有误 如何安装第四点的
启动mirai-console之后,在后台命令行输入以下命令授予相关用户使用此插件命令的权限:
如果您希望所有群的群员都可以使用此插件,请输入:
/perm grant m* org.zrnq.mcmotd:mcp (仅可使用mcp指令)
/perm grant m* org.zrnq.mcmotd:* (可使用全部指令)
如果您希望只授予某一个群的群员使用此插件的权限,请输入:
/perm grant m<QQ群号>.* org.zrnq.mcmotd:mcp (仅可使用mcp指令)
/perm grant m<QQ群号>.* org.zrnq.mcmotd:* (可使用全部指令)
如果您希望只授予某一个群的特定群员使用此插件的权限,请输入:
/perm grant m<QQ群号>.<群员QQ号> org.zrnq.mcmotd:mcp (仅可使用mcp指令)
/perm grant m<QQ群号>.<群员QQ号> org.zrnq.mcmotd:* (可使用全部指令)
如果你希望了解更多高级权限设置方法,请参阅mirai-console的权限文档
安装完成。这些指令都有误
-
@NNanfeng 具体是什么问题呀