快捷导航
查看: 853|回复: 0

[插件介绍] ServerTap - 通过API获取玩家信息和操作服务器 [1.16-1.19]

[复制链接]

8

主题

5

回帖

387

积分

怕の娘

Rank: 3Rank: 3

经验
387 EP
金粒
458 粒
绿宝石
8 块
爱心
0 点
发表于 2024-5-21 19:20:32 | 显示全部楼层 |阅读模式 IP:
服务端插件
中文名: ServerTap
英文名: ServerTap
前置插件: 无前置插件
适用服务端: spigot paper 
插件类型: 编程
支持版本: 1.16 1.17 1.18 1.19 1.20 
来源: 转载
原帖地址: https://www.spigotmc.org/resources/servertap.79031/
下载地址: https://github.com/servertap-io/servertap/releases
本帖最后由 Cnzw 于 2024-5-23 18:43 编辑





插件简介

ServerTap 是一个支持 Bukkit、Spigot 和 Paper 服务器的 REST API 插件。 它允许通过 HTTP、Webhooks 和 Websockets 与服务器进行交互。

@Cnzw
该插件很适合用于 QQ 机器人和各种状态监测网页。

安装要求

  • Bukkit/Spigot/Paper 或其分支:1.16.5 或更高版本
  • Java:16 或更高版本
  • 无前置插件


如何使用

将本插件文件复制到服务器的 plugins 文件夹中即完成了安装。

然后可以使用 CurlPostman 或任意浏览器来访问 API。

例如,查询有关服务器信息的 API:
$ curl http: //localhost:4567/v1/server
{
    "name": "Paper",
    "motd": "This is my MOTD",
    "version": "git-Paper-89 (MC: 1.15.2)",
    "bukkitVersion": "1.15.2-R0.1-SNAPSHOT",
    "health": {
        "cpus": 4,
        "uptime": 744,
        "totalMemory": 2010644480,
        "maxMemory": 2010644480,
        "freeMemory": 1332389360
    },
    "bannedIps": [],
    "bannedPlayers": [{
        "target": "phybros",
        "source": "Server"
    }]
}

或查询在线玩家列表的 API:
$ curl http://localhost:4567/v1/players
[{
    "uuid": "55f584e4-f095-48e0-bb8a-eb5c87ffe494",
    "displayName": "phybros",
    "address": "localhost",
    "port": 58529,
    "exhaustion": 3.5640976,
    "exp": 0.45454547,
    "whitelisted": false,
    "banned": false,
    "op": true
}]

API 文档

插件自带 API 文档。可以在 http://服务器IP:4567/swagger 查看完整的 API 文档并且直接调试。


API 验证

plugins/ServerTap/config.yml 文件中进行配置:
useKeyAuth: true
key: some-long-super-random-string
然后,在需要在请求头(Header)中包含 key 和对应的密钥。

WebHook

ServerTap 可以在服务器上发生事件时发送 WebHook 消息。

要使用 WebHook,需要配置 plugins/ServerTap/config.yml 文件:
webhooks:
  default:
    listener: "https://your-webhook-target.com/whatever"
    events:
    - PlayerJoin
    - PlayerQuit
目前可用的事件有:
  • PlayerJoin
  • PlayerDeath
  • PlayerChat
  • PlayerKick
  • PlayerQuit


WebHook 通过 POST 请求发送 JSON 数据:
{
  "player": {
    "uuid": "55f584e4-f095-48e0-bb8a-eb5c87ffe494",
    "displayName": "phybros",
    "address": "localhost",
    "port": 52809,
    "exhaustion": 0,
    "exp": 0.5714286,
    "whitelisted": true,
    "banned": false,
    "op": true
  },
  "joinMessage": "§ephybros joined the game",
  "eventType": "PlayerJoin"
}

Websockets

ServerTap 支持正向 WebSocket ,能够实时接收服务器日志。

一旦连接,服务器上通过正常日志过滤器的任何服务器日志行都会以类似这样的 JSON 对象形式通过 WebSocket 发送:
{
  "message": "§6/version: §fGets the version of this server including any plugins in use",
  "timestampMillis": 1631834015918,
  "loggerName": "",
  "level": "INFO"
}
WebSocket 地址是 ws://服务器IP:4567/v1/ws/console

最后 1000 条服务器日志消息将缓存并在客户端连接时发送。您可以通过更改 config.yml 中的 websocketConsoleBuffer 来配置服务器日志缓冲区的大小。

使用统计




更多

本插件已加入 插件搬运计划,会定期同步外网资源的更新。

搬运催更 & 问题反馈快速响应问卷 或在下方留下评论。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 手机动态码快速登录

x

评分

参与人数 1金粒 +15 收起 理由
ZhanxKer + 15 小僵尸论坛有你更精彩!

查看全部评分

楼主 2024-5-21 19:20:32 回复 收起回复
小僵尸论坛感谢有你~
回复 论坛版权

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则



官方

新浪微博 腾讯微博 微信公众号 投稿规则 版权声明 捐助我们

官方QQ①群: 291907844 (点击加群)
官方QQ②群: 421312192
官方QQ③群: 528726532

介绍

我的世界(Minecraft)小僵尸论坛
收录了来自各地的我的世界(MC)爱好者们的各种资源

须知: 切勿滥用举报,任何与举报相关的信息必须属实!

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

QQ|Archiver|手机版|小黑屋|Minecraft(我的世界)小僵尸论坛 |网站地图

GMT+8, 2025-4-4 01:38 , Processed in 0.075316 second(s), 55 queries .

快速回复 返回顶部 返回列表