@@ -76,9 +76,14 @@ curl -H "X-Admin-Password: your-admin-password" \
7676
7777# ## 公开端点
7878
79- 以下端点无需认证(如果认证被禁用,所有端点都无需认证):
80- - ` /api/v1/register` - 用户注册
81- - ` /api/v1/admin/generate-token` - 生成注册令牌
79+ 以下端点无需 API Token 认证(如果认证被禁用,所有端点都无需认证):
80+ - ` /api/v1/register` - 用户注册(无需认证,但需要有效的注册令牌)
81+ - ` /api/v1/admin/generate-token` - 生成注册令牌(无需 API Token,但需要管理员密码)
82+
83+ **说明:**
84+ - " 公开端点" 指的是不需要 API Token 的端点
85+ - ` /api/v1/register` 虽然不需要 API Token,但需要提供有效的注册令牌(token)才能注册
86+ - ` /api/v1/admin/generate-token` 虽然不需要 API Token,但需要通过 `X-Admin-Password` 头提供管理员密码
8287
8388# ## 自动生成凭证
8489
@@ -124,15 +129,17 @@ auth:
124129# ## 用户注册 API
125130| 端点 | 方法 | 描述 | 认证要求 |
126131|------|------|------|----------|
127- | `/api/v1/register` | POST | 用户注册(使用注册令牌) | 无(公开) |
128- | `/api/v1/admin/generate-token` | POST | 生成注册令牌 | 无(公开)* |
132+ | `/api/v1/register` | POST | 用户注册(使用注册令牌) | 注册令牌 |
133+ | `/api/v1/admin/generate-token` | POST | 生成注册令牌 | 管理员密码 |
129134
130- *注:虽然是公开端点,但需要管理员密码验证
135+ **说明:**
136+ - ` /api/v1/register` 不需要 API Token,但需要在请求体中提供有效的注册令牌(token)
137+ - ` /api/v1/admin/generate-token` 不需要 API Token,但需要在请求头 `X-Admin-Password` 中提供管理员密码
131138
132139# ## 玩家数据查询 API
133140| 端点 | 方法 | 描述 | 认证要求 |
134141|------|------|------|----------|
135- | `/api/v1/player/{playerName} ` | GET | 获取玩家详细数据 | API Token |
142+ | `/api/v1/player` | GET | 获取玩家详细数据(使用查询参数 `?name=玩家名`) | API Token |
136143
137144# ## 服务器监控 API
138145| 端点 | 方法 | 描述 | 认证要求 |
@@ -616,11 +623,17 @@ X-Admin-Password: your-admin-password
616623
617624**查询参数:**
618625- `name` (string, 必需) : 玩家名称
626+ - `includeOffline` (boolean, 可选) : 是否查询离线玩家,默认为 `false`。设置为 `true` 可以查询离线玩家的基本信息
619627
620628**请求示例:**
621629` ` ` bash
630+ # 查询在线玩家
622631curl -H "X-API-Key: sk-your-api-token-here" \
623632 -X GET "http://your-server:22222/api/v1/player?name=PlayerName"
633+
634+ # 查询离线玩家
635+ curl -H "X-API-Key: sk-your-api-token-here" \
636+ -X GET "http://your-server:22222/api/v1/player?name=PlayerName&includeOffline=true"
624637` ` `
625638
626639**响应示例(在线玩家):**
@@ -772,6 +785,15 @@ curl -H "X-API-Key: sk-your-api-token-here" \
772785` ` `
773786
774787**错误响应示例:**
788+ ` ` ` json
789+ {
790+ "success": false,
791+ "error": "玩家不在线 (提示: 使用 ?includeOffline=true 查询离线玩家)",
792+ "code": 404,
793+ "timestamp": "2025-10-02T12:00:00"
794+ }
795+ ` ` `
796+
775797` ` ` json
776798{
777799 "success": false,
@@ -781,6 +803,24 @@ curl -H "X-API-Key: sk-your-api-token-here" \
781803}
782804` ` `
783805
806+ ` ` ` json
807+ {
808+ "success": false,
809+ "error": "服务器繁忙,请稍后重试(TPS过低)",
810+ "code": 504,
811+ "timestamp": "2025-10-02T12:00:00"
812+ }
813+ ` ` `
814+
815+ ` ` ` json
816+ {
817+ "success": false,
818+ "error": "查询请求过多,请稍后再试",
819+ "code": 429,
820+ "timestamp": "2025-10-02T12:00:00"
821+ }
822+ ` ` `
823+
784824**数据字段说明:**
785825
786826| 字段 | 类型 | 说明 |
@@ -833,10 +873,13 @@ curl -H "X-API-Key: sk-your-api-token-here" \
833873- 生成玩家数据报告
834874
835875**注意事项:**
836- - 离线玩家只能获取有限的基本信息
876+ - 离线玩家只能获取有限的基本信息(需要设置 `includeOffline=true`)
837877- 在线玩家可以获取完整的实时数据
838878- 需要 API Token 认证才能访问
839879- 玩家名称区分大小写
880+ - 查询在线玩家超时时间为 3 秒,离线玩家为 5 秒
881+ - 系统限制最多 5 个并发查询,超过限制将返回 429 错误
882+ - 如果服务器 TPS 过低可能返回 504 超时错误
840883
841884# ## 服务器监控 API
842885
@@ -1057,6 +1100,18 @@ curl -X POST http://localhost:22222/api/v1/register \
10571100 }'
10581101` ` `
10591102
1103+ # ## 玩家数据查询示例
1104+
1105+ ` ` ` bash
1106+ # 查询在线玩家数据
1107+ curl -X GET "http://localhost:22222/api/v1/player?name=PlayerName" \
1108+ -H "X-API-Key: sk-your-api-token-here"
1109+
1110+ # 查询离线玩家数据
1111+ curl -X GET "http://localhost:22222/api/v1/player?name=PlayerName&includeOffline=true" \
1112+ -H "X-API-Key: sk-your-api-token-here"
1113+ ` ` `
1114+
10601115# ## 系统监控示例
10611116
10621117` ` ` bash
@@ -1149,6 +1204,15 @@ A: 可以通过 `GET /api/v1/whitelist/stats` 查看 `uuid_pending_entries` 数
11491204**Q: 旧的API调用还能使用吗?**
11501205A : 是的,系统保持向后兼容,但建议使用新的简化API以获得更好的体验。
11511206
1207+ **Q: 为什么查询玩家数据时提示"玩家不在线"?**
1208+ A : 默认情况下,API 只查询在线玩家。如果需要查询离线玩家,请在 URL 中添加 `includeOffline=true` 参数。
1209+
1210+ **Q: 查询玩家数据时为什么会超时?**
1211+ A : 玩家数据查询需要在 Minecraft 主线程执行,如果服务器 TPS 过低或负载过高,可能导致超时。查询在线玩家超时时间为 3 秒,离线玩家为 5 秒。
1212+
1213+ **Q: 为什么会收到 429 错误(请求过多)?**
1214+ A : 系统限制最多同时处理 5 个玩家数据查询请求,以保护服务器性能。请稍后重试或减少并发请求数量。
1215+
11521216---
11531217
11541218*本文档描述了ConvenientAccess白名单管理系统的API接口。系统基于WhitelistPlus设计理念,专注于简化白名单管理流程,同时保持数据完整性和系统可靠性。*
0 commit comments