PapiWebApi [1.16-1.21] 让你的PlaceholderAPI变量暴露为Web API接口吧

原创 付费 开源 工具 PapiWebApi [1.16-1.21] 让你的PlaceholderAPI变量暴露为Web API接口吧 1

请登录后获取
版权类型
原创
插件中文名称
在线接口
插件英文名称
PapiWebApi
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
  4. PufferFish
  5. Leaves
  6. 其他核心
语言支持
中文(简体)
前置组件
PlaceHolderApi
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
本插件开源 付费只是不想被没钱b事还多的人打扰 感谢理解
交流群 426996480 群文件可自取 (如果我想起来发的话)
[MD] # PapiWebAPI 一个功能强大的 Minecraft Paper 服务器插件,用于将 PlaceholderAPI 变量暴露为 Web API 接口。 ## 📋 功能特点 - **将 PAPI 变量转为 Web API**:轻松访问服务器中的任何 PlaceholderAPI 变量 - **自定义 API 端点**:为每个 PAPI 变量创建自定义别名(例如 `/前缀` 代替 `/luckperms_prefix`) - **灵活的数据访问**: - 获取所有在线玩家的变量值 - 获取特定玩家的变量值 - 支持按数值或字母排序 - 支持结果数量限制 - **强大的安全特性**: - 令牌鉴权,防止未授权访问 - 详细的访问日志,记录每次请求 - 地理位置跟踪,了解访问来源 - **实时配置**:支持热重载配置,无需重启服务器 ## 🔧 安装要求 - Minecraft Paper 服务器 (1.16+) - [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) 插件 ## ⚙️ 安装步骤 1. 下载最新版本的 PapiWebAPI.jar 2. 将插件文件放入服务器的 `plugins` 文件夹 3. 重启服务器或使用插件管理器加载插件 4. 配置插件(详见下方配置说明) ## 🛠️ 基础配置 插件安装后,将生成以下配置文件: ### config.yml ```yaml # PapiWebAPI 配置 server: host: "0.0.0.0" # 监听地址,0.0.0.0表示所有网络接口 port: 8088 # 监听端口 # 反向代理设置 proxy: # 是否启用反向代理支持 enabled: false # 用于获取真实客户端IP的HTTP头 # 常见值: X-Forwarded-For, X-Real-IP, CF-Connecting-IP (Cloudflare) header: "X-Forwarded-For" # 代理服务器的IP地址列表,只有来自这些IP的请求才会应用头部解析 # 出于安全考虑,建议设置此选项,避免IP伪造 trusted_proxies: ["127.0.0.1", "10.0.0.1", "192.168.1.1"] # 安全设置 security: # API鉴权设置 authentication: # 是否启用API鉴权 enabled: true # 访问令牌,用于验证API请求 # 格式:http://server:port/token=YOUR_TOKEN/endpoint token: "your_token" # 令牌参数名称(默认为"token") parameter: "token" # 日志设置 logging: # 日志保留天数 (0表示永久保留) retention_days: 30 # 是否在控制台显示访问日志 console_output: false # 请求过滤设置 request_filtering: # 需要忽略的路径列表(不记录日志也不处理) ignored_paths: - "/favicon.ico" - "/robots.txt" # 添加其他需要忽略的路径 ``` ## 📝 命令指南 | 命令 | 描述 | 权限 | |------------------------------------|------|------| | `/papiwebapi create <变量> [别名]` | 创建API端点 | papiwebapi.admin | | `/papiwebapi delete <端点或变量>` | 删除API端点 | papiwebapi.admin | | `/papiwebapi list` | 列出所有注册的API端点 | papiwebapi.admin | | `/papiwebapi reload` | 重载配置和API端点 | papiwebapi.admin | | `/papiwebapi logs [页码]` | 查看API访问日志 | papiwebapi.logs | | `/papiwebapi logs 2025-02-22 [页码]` | 查看特定日期的API访问日志 | papiwebapi.logs | > 插件指令别名:`/pwapi` ## 🚀 使用示例 ### 1. 创建API端点 ``` /pwapi create %player_level% level ``` 这将创建一个新的API端点,可以通过 `/level` 访问玩家等级变量。 ``` /pwapi create %luckperms_prefix% 前缀 ``` 这将创建一个新的API端点,可以通过 `/前缀` 访问玩家前缀变量。 ### 2. 访问API #### 基本访问(所有在线玩家) ``` [URL unfurl="true"]http://yourserver:8088/token=YOUR_TOKEN/level[/URL] ``` #### 特定玩家访问 ``` [URL unfurl="true"]http://yourserver:8088/token=YOUR_TOKEN/level/Steve[/URL] ``` #### 排序功能(从高到低,限制10名玩家) ``` [URL unfurl="true"]http://yourserver:8088/token=YOUR_TOKEN/level/sort/htl/10[/URL] ``` #### 字母排序(A-Z) ``` [URL unfurl="true"]http://yourserver:8088/token=YOUR_TOKEN/前缀/sort/atz[/URL] ``` ## 🔍 访问参数说明 | 参数格式 | 描述 | 示例 | |---------|------|------| | `/<端点>` | 获取所有在线玩家的值 | `/level` | | `/<端点>/<玩家名>` | 获取特定玩家的值 | `/level/Steve` | | `/<端点>/sort/htl[/<数量>]` | 从高到低排序 | `/level/sort/htl/10` | | `/<端点>/sort/lth[/<数量>]` | 从低到高排序 | `/level/sort/lth` | | `/<端点>/sort/atz` | 按名称从A到Z排序 | `/level/sort/atz` | | `/<端点>/sort/zta` | 按名称从Z到A排序 | `/level/sort/zta` | ## 📊 日志系统 插件会在 `plugins/PapiWebAPI/logs.yml` 中记录所有API访问,包括: - 访问时间 - 访问IP - 地理位置 - 访问路径 - 鉴权状态 - 响应内容 日志示例: ``` [2024/8/20 16:40] 127.0.0.1 本地网络 访问了[URL]http://server:8088/token=123132/player_name/Steve[/URL] 鉴权正确 返回Steve ``` 可以使用 `/pwapi logs [页码]` 在游戏内查看日志。 ## 🔒 安全建议 1. **修改默认令牌**:使用强随机令牌替换默认令牌 2. **限制端口访问**:使用防火墙限制只有特定IP可以访问API端口 3. **定期检查日志**:监控API访问日志,查找可疑活动 4. **使用HTTPS**:考虑在API前方设置反向代理(如Nginx)提供HTTPS支持 ## ❓ 常见问题 **Q: 如何修改API监听端口?** A: 在 `config.yml` 中修改 `server.port` 值,然后使用 `/pwapi reload` 重载配置。 **Q: 如何禁用鉴权?** A: 将 `config.yml` 中的 `security.authentication.enabled` 设置为 `false`。 **Q: 为什么我的API返回"Player not found"?** A: 玩家可能不在线或名称拼写错误。某些PAPI变量只能用于在线玩家。 **Q: 如何获得更详细的地理位置信息?** A: 插件默认使用免费的IP地理位置服务。如需更精确的结果,可联系开发者获取高级版本。 ## 📄 权限节点 - `papiwebapi.admin` - 允许管理API端点和重载配置 - `papiwebapi.logs` - 允许查看API访问日志 ## 🔄 版本更新 ### v1.0.0 - 初始发布版本 - 支持创建和管理API端点 - 支持排序和玩家指定查询 - 支持令牌鉴权 - 详细访问日志系统 ## 📜 许可证 此插件基于 MIT 许可证发布。详情请参阅 LICENSE 文件。 ## 🌟 支持与贡献 如果您遇到问题或有改进建议,请通过以下方式联系: - 交流群426996480内提出 [/MD]
作者
这里小雨.
查看
363
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部