如何在 uptime-kuma 接入 API 并显示Minecraft服务器玩家在线人数

之前教过大家如何搭建 uptime-kuma 想必大家都顺利用上了!

一些小伙伴后期都想整活,整活大部分都会涉及到 API 这些东西,今天就交给大家如何运用API。

并且向大家分享我的成果——展示MC服的在线人数

一、安装 uptime-kuma API

首先这款 API 不是官方开发的,属于第三方的插件,开源链接:https://github.com/lucasheld/uptime-kuma-api 官方文档:https://uptime-kuma-api.readthedocs.io/en/latest/index.html

首先先安装 python

apt -y install python3

我环境安装好了 我没试验过可行性…所以 委屈下大家啦

也可以去官网去拉取下来:https://www.python.org/downloads/

验证 python 是否安装成功:

python3 -v

接着我们需要安装 pip 来拉取 api:

apt -y install python-pip

另一个安装 pip 的方法:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

接下来就是安装我们的 uptime-kuma api

pip install uptime-kuma-api

可能要安装 requests 模块(我不想再搞新环境啦~):

pip install requests

二、设置 Minecraft 服务器人数查询

这个其实给大家准备好了 直接写了个 python 的脚本给大家

from uptime_kuma_api import UptimeKumaApi, MonitorType
import requests

def get_player_count(server_ip):
    url = f'https://api.mcsrvstat.us/2/{server_ip}'
    response = requests.get(url)
    data = response.json()

    if data.get('online'):
        online_players = data['players']['online']
        max_players = data['players']['max']
        return online_players, max_players
    else:
        return 0, 0

def update_uptime_kuma_monitor(api_url, username, password, monitor_id, server_ip):
    # 初始化 Uptime Kuma API 并登录
    api = UptimeKumaApi(api_url)
    api.login(username, password)

    # 获取玩家人数
    online_players, max_players = get_player_count(server_ip)
    monitor_name = f'当前在线玩家: {online_players}/{max_players}'

    # 更新监控名称
    api.edit_monitor(id_=monitor_id, name=monitor_name)
    print(f"监控项名字成功修改为: {monitor_name}")

if __name__ == "__main__":
    api_url = 'https://xxxx.com'  # 替换为你的 Uptime Kuma 服务器 URL
    username = 'user'  # 替换为你的 Uptime Kuma 用户名
    password = 'password'  # 替换为你的 Uptime Kuma 密码
    monitor_id = 'id'  # 替换为你的监控 ID
    server_ip = 'play.example.com'  # 替换为你的 Minecraft 服务器 IP 或域名
    
    update_uptime_kuma_monitor(api_url, username, password, monitor_id, server_ip)

原理其实很简单:我是通过 API 网站(https://api.mcsrvstat.us/2/{server_ip})来获取MC服务器的玩家人数,通过 python 来抓取关键词获得数字(玩家人数) 然后将这个人数通过 uptime-kuma api 来修改监控名字来展现人数的 说白了就是把玩家人数写在监控名字上
其中呢 api_url 就是你登录 uptime-kuma 的网址(带端口也可以)

monitor_id 就是你要改名字的监控ID(编辑监控项页面url的数字就是ID啦)

三、设置定时任务

查询人数总不能人工操作吧( 还得要定时任务

这次用的是系统自带的定时任务来设置

输入命令:

crontab -e

他会先问你定时任务放哪里(默认好像是1)直接回车就行了 然后你会看到下面这个页面:

然后在末尾打上:

*/1 * * * * /usr/bin/python3 /home/minecraft_players_check.py

这句话的意思是 1分钟更新一次 记得更改 python3 和 脚本的目录

然后键入 Ctrl+O 保存 Ctrl+X 退出即可!

如何检查自己是否设置定时任务成功 输入以下内容:

crontab -l

然后就会列出你自己设置的内容了!

好了 今天的教程就到这里了 感谢你能耐心看完我的文章 有什么问题欢迎提出!我在这里等你!也欢迎你把我的博客分享给大家!

评论

  1. Windows Edge 128.0.0.0
    2 月前
    2024-9-16 14:56:06

    不错不错,赏doge!


    查看图片


    • 博主
      Ryugu
      Windows Edge 128.0.0.0
      2 月前
      2024-9-16 16:36:30

      好欸 有钱花咯

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇