这是一个基于AstrBot框架开发的Minecraft服务器监控插件,可以定时检测服务器状态变化并发送通知。
作者使用的简幻欢服务器不支持建站,因此使用AI制作了此工具。
!!大部分代码都由ai完成!!我自己本人基本够用了,所以即使存在很多问题也并没有去修正,如果对你有帮助的话我感到很荣幸,也很感谢各位对该工具的修正!
作者的qq:1002887282
只适配java版!如果需要基岩版请前往:https://github.com/cryfly666/astrbot_plugin_apimcmc
- 🔄 智能监控: 定时检测服务器状态,只在有变化时发送通知
- 📊 详细信息: 显示在线玩家数量、版本信息、玩家列表等
- ⚡ 实时查询: 支持即时查询服务器当前状态
- ⚙️ 灵活配置: 支持通过WebUI配置目标群、服务器地址、检查间隔等
- 🚀 自动启动: 可配置插件加载时自动启动监控(延迟5秒启动)
- 💬 一言集成: 消息推送时附带一言句子,更有趣味性
- 🔌 零依赖: 使用原生Socket协议直接与服务器通信,无需外部API或服务端插件
- 🎮 Java版支持: 支持Minecraft Java版服务器(基岩版暂不支持)
通过AstrBot的WebUI可以配置以下参数:
| 配置项 | 说明 | 类型 | 默认值 | 必填 |
|---|---|---|---|---|
target_group |
QQ群号 | 字符串/数字 | 无 | ✅ |
server_name |
服务器名称 | 字符串 | "Minecraft服务器" | ❌ |
server_ip |
服务器IP地址 | 字符串 | 无 | ✅ |
server_port |
服务器端口 | 数字 | 25565 | ✅ |
check_interval |
监控检查间隔(秒) | 数字 | 10 | ❌ |
enable_auto_monitor |
插件加载时自动启动监控 | 布尔值 | false | ❌ |
/start_server_monitor- 启动定时监控任务/stop_server_monitor- 停止监控任务/reset_monitor- 重置监控状态缓存(清除首次检测标记)
/查询- 立即查询服务器当前状态(附带一言句子)
/set_group <群号>- 动态设置目标群号
插件使用状态缓存机制,只在以下情况发生时推送通知:
-
首次启动监控
- 如果有玩家在线,发送"服务器监控已启动,当前有玩家在线"
- 如果无玩家在线,发送"服务器监控已启动"
-
玩家加入服务器
- 显示具体加入的玩家名称
- 格式:
� [玩家名] 加入了服务器 (+1)
-
玩家离开服务器
- 显示具体离开的玩家名称
- 格式:
📉 [玩家名] 离开了服务器 (-1)
当检测到变化时,将发送包含以下内容的消息:
🔔 服务器状态变化:
[变化描述]
📊 当前状态:
[服务器详细信息]
💬 [一言句子]
last_player_count: 上次的玩家数量(None表示未初始化)last_player_list: 上次的玩家列表 使用/reset_monitor可以清除缓存,下次检测将视为首次检测。
- 异步架构: 基于
asyncio和aiohttp,性能优异 - 直接连接: 使用Minecraft Server List Ping协议直接与服务器通信,无需外部API
- 零依赖: 无需在服务端安装插件或配置RCON,适用于原版及大多数服务端(Spigot, Paper, Fabric, Forge等)
- 直接推送: 通过 AIOCQHTTP 客户端的
send_group_msg接口直接发送群消息 - 错误处理: 完整的异常处理和超时机制(连接超时5秒)
- 日志系统: 详细的日志记录,便于调试和监控
- 状态管理: 智能的状态缓存机制,避免重复通知
在 AstrBot WebUI 的插件配置页面设置以下参数:
- target_group: 你的QQ群号
- server_ip: Minecraft服务器IP
- server_port: 服务器端口(Java版默认25565)
- server_name: 自定义服务器名称(可选)
- check_interval: 检查间隔,建议10-60秒
- enable_auto_monitor: 是否自动启动监控
方式一:在配置中启用 enable_auto_monitor,插件加载后自动启动(延迟5秒)
方式二:手动在群内发送 /start_server_monitor 指令启动
使用 /查询 指令测试插件功能是否正常
支持说明:
- ✅ Java版: 完全支持,适用于原版及大多数服务端(Spigot, Paper, Fabric, Forge等)
- ❌ 基岩版: 暂不支持(基岩版使用不同的RakNet协议,计划在未来版本中添加支持)
请求URL: https://v1.hitokoto.cn/?encode=text
返回纯文本格式的随机句子。
⚠️ 确保配置的QQ群号正确且机器人已加入该群⚠️ 建议检查间隔不要设置过短,避免频繁查询服务器⚠️ 确保监控多服务器时填写时所用的分号为英文分号!
Q: 消息没有发送到群里?
A: 使用 /查询 测试,检查群号是否正确,机器人是否有发送权限。
Q: 需要在 MC 服务器安装插件吗?
A: 不需要。本插件通过 Minecraft Server List Ping 协议直接查询,适用于Java版原版及大多数服务端(Spigot, Paper, Fabric, Forge 等)。
Q: 支持基岩版服务器吗?
A: 当前版本仅支持Java版服务器。基岩版使用不同的协议,可使用此插件https://github.com/cryfly666/astrbot_plugin_apimcmc。
Q: 玩家名为什么会变成Anonymous Player?
A: 这似乎是由mc自身bug(https://bugs.mojang.com/browse/MC/issues/MC-264233)导致的。可选择以下方式应对:a.开启插件的仅进监控人数开关,b.尝试在服务器中加入修复mod来解决(如https://www.mcmod.cn/class/15728.html)
2026年3月20日
加入仅监控人数开关 以在一定程度上应对某些版本mc服务器玩家名变成Anonymous Player。
2026年3月15日
添加对多服务器监控的支持