之前教过大家如何搭建 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
然后就会列出你自己设置的内容了!
好了 今天的教程就到这里了 感谢你能耐心看完我的文章 有什么问题欢迎提出!我在这里等你!也欢迎你把我的博客分享给大家!
不错不错,赏doge!
查看图片
好欸 有钱花咯