-
-
Notifications
You must be signed in to change notification settings - Fork 0
Preview HTTP API
Cursor Agent edited this page Sep 23, 2026
·
3 revisions
分支
preview/v2.6.0-DevOnly/ 标签v2.6.0-preview-DevOnly。
稳定main(2.5.x)见 HTTP-API(control_token+ 旧路径)。
| 通道 | 凭据 | 配置 |
|---|---|---|
GET /get_sl_data |
verify_token(?token=) |
config.yml |
/control/*、控制 WS、语音 :8082
|
API Key |
apikey.config(与 config.yml 同目录) |
请求头(二选一):
Authorization: Bearer <api_key>
X-SLDataAPI-Key: <api_key>已废弃(控制/语音): control_token、X-Control-Token、?key=、?token= → 401。
| HTTP | 含义 |
|---|---|
401 |
Key 缺失/错误/锁定 |
403 |
Key 有效但被拒绝(含旧路径、远程执行 sldataapi) |
404 |
control_enabled: false、传输模式互斥、未知路径 |
405 |
非 POST |
413 |
body > 64KB |
响应体仍为 {success, message, data}。
sldataapi apikey create <id> <duty|admin> [note] # 明文仅此时输出
sldataapi apikey list
sldataapi apikey revoke <id>
-
create/revoke:仅服务器本地可执行;经/control/console/command或控制 WS 403(RemoteCommandGuard)。 - 落盘:仅 SHA-256 指纹(
sha256:…),丢失明文只能 revoke 后重建。 - 审计
control_log的actor为 Key 的 id。 - 模板参数
duty/admin仅作创建时标签;apikey.config见 Configuration#apikeyconfig预览-26。
curl -s "http://<host>:8081/get_sl_data?token=YOUR_VERIFY_TOKEN"字段与刷新机制同 HTTP-API#只读数据接口。
control_transport: ws 时 HTTP /control/* → 404 + transport_mismatch(与 2.5 相同)。
鉴权示例:
curl -s -X POST "http://<host>:8081/control/map/layout" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'| 分组 | 路径 | 备注 |
|---|---|---|
| Player |
/control/player/data · role · effects · inventory
|
inventory → 501
|
| Moderation |
/control/moderation/kick · ban · mute · msg · ban_list · ban/add · ban/revoke
|
原 /control/player/* 部分 |
| Admin |
/control/admin/teleport · state
|
原 player/teleport · player/state
|
| Broadcast |
/control/broadcast · staffchat
|
501 |
| Round |
/control/round · round/warhead · round/wave
|
原 warhead · wave
|
| Map |
/control/map/facility · layout · export · seed
|
原 map 动作拆到 facility + 只读子路径 |
| Other |
/control/cassie · /control/dummies
|
dummies → 501
|
| 扩展 |
/control/console/command · plugins · plugins/slplayer · files/* · logs · reports · audit/list
|
原 command · slplayer · ban_*
|
请求体字段与 2.5 对应端点相同,仅 path 变更。完整 curl 见 HTTP-API,将路径与鉴权头替换即可。
示例(控制台):
curl -s -X POST "http://<host>:8081/control/console/command" \
-H "Authorization: Bearer YOUR_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{"command":"help"}'示例(踢人):
curl -s -X POST "http://<host>:8081/control/moderation/kick" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target":"PlayerName","reason":"违规"}'| 2.5 | 2.6 |
|---|---|
/control/command |
/control/console/command |
/control/player/kick 等 |
/control/moderation/... |
/control/player/teleport |
/control/admin/teleport |
/control/player/effect |
/control/player/effects |
/control/player/state |
/control/admin/state |
/control/map(混用) |
map/facility(写)+ layout/export/seed(读) |
/control/warhead / wave
|
/control/round/warhead / wave
|
/control/ban_* |
/control/moderation/ban_* |
/control/slplayer |
/control/plugins/slplayer |
无兼容别名;旧 path 会 404 或 403,须按上表改 path。
鉴权同控制面(Bearer / X-SLDataAPI-Key),不要在 URL 带 key。
| 路径 | 说明 |
|---|---|
GET /ws(升级 WS) |
语音流 |
GET /status |
说话状态 |
帧格式见 Voice-Forwarding。
- 监控/机器人只读:继续
verify_token+/get_sl_data - 控制客户端:改用 API Key 请求头;删除
X-Control-Token - 按上表改 path
- 按需要创建多把 Key(
duty/admin标签) - 丢失 Key:本地
revoke+create,无法从服务器导出明文