Minecraft Monitor

⛏️ MC 服务器状态一键速查

零依赖 Python 脚本,通过 Minecraft Server List Ping 协议快速检测服务器在线状态、延迟、版本、玩家数及在线玩家列表,支持自动化脚本集成。

收藏
4.1k
安装
1.5k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Minecraft Server Monitor 是一款轻量级服务器状态检测工具,基于 Python 标准库实现,无需安装额外依赖。通过 Minecraft Server List Ping (SLP) 协议与目标服务器建立短连接,获取实时运行数据。

基本命令结构:

python3 minecraft-status.py <host[:port]> [timeout]
  • 默认端口 25565,可指定自定义端口
  • 超时时间默认 5 秒,支持灵活调整
  • 输出含彩色状态指示器(🟢/🟡/🟠/🔴)、延迟分级、版本信息、玩家列表(最多显示 5 人)及 MOTD

显著优点

1. 零依赖部署:纯 Python 标准库实现,开箱即用,适合受限环境
2. 协议级兼容:基于官方 SLP 协议,支持所有现代 Minecraft 服务端(Vanilla、Spigot、Paper、Fabric 等)

3. 自动化友好:退出码设计(0=在线,1=离线),便于 Shell 脚本和 CI/CD 管道集成

4. 信息维度丰富:除基础连通性外,提供玩家活跃度、版本匹配验证、社区氛围感知(MOTD)

5. 延迟可视化:三色分级快速识别网络质量,辅助故障定位

潜在局限

  • SRV 记录不支持:需直接输入解析后的实际服务器地址,对使用动态 DNS 的服务器不够便利
  • 玩家列表截断:仅显示前 5 名在线玩家,无法获取完整玩家名册
  • 无持续监控能力:单次探测模式,需配合 cron/systemd 等外部工具实现持续监测
  • 协议限制:无法获取服务器插件列表、世界详情、性能指标(TPS、内存)等深度信息
  • 无身份验证:公共服务器可见,私密服务器若未启用白名单则同样可被探测

适合人群

  • 服主/管理员:快速巡检、故障排查、版本验证
  • 开发者:自动化测试环境健康检查、依赖服务可用性验证
  • 玩家:连接前确认服务器状态、评估延迟选择最优节点
  • 运维人员:轻量级监控脚本集成,替代重量级监控代理

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 扫描行为误判 | 高频探测可能被目标服务器防火墙识别为攻击 | 控制探测频率,避免短间隔批量扫描 |
| 信息泄露感知 | 服务器可能认为玩家列表、版本号属于敏感信息 | 仅用于自有服务器或公开授权目标 |
| 依赖脚本路径 | 硬编码的绝对路径降低可移植性 | 部署前验证路径或创建符号链接 |
| 超时悬停 | 网络异常时默认 5 秒阻塞可能影响流水线效率 | 生产环境建议显式设置更短超时 |

技术原理简述

SLP 协议通过向服务器 25565 端口发送特定格式的握手数据包,触发服务器返回 JSON 格式的状态响应。本工具实现遵循 wiki.vg 协议规范,兼容协议版本 47+(Minecraft 1.7.2 至今)。

Minecraft Monitor 内容

scripts文件夹
手动下载zip · 4.7 kB
minecraft-status.pytext/plain
请选择文件