Introduce UiManager/MainHUD prefab flow, strengthen GameNet/WsClient, and add AIServer maintenance endpoint support. Co-authored-by: Cursor <cursoragent@cursor.com>
1.7 KiB
1.7 KiB
游戏服协议
生产
Base: https://game.xworld.ren(Caddy → 后端)
本地 AIServer(推荐开发)
路径:AIServer/(C++ + SQLite)
| Base | http://127.0.0.1:8080 |
| WS | ws://127.0.0.1:8080/ws?pid={pid}&token={token} |
构建与运行见 AIServer/README.md。
HTTP
| 方法 | 路径 | Body | 成功 | 失败 |
|---|---|---|---|---|
| POST | /register |
{"username","password"} |
{token,pid} |
invalid_input / user_exists |
| POST | /login |
{"username","password"} |
{token,pid} |
invalid_credentials |
| GET | /health |
— | {ok,service,maintenance} |
— |
| GET | /maintenance |
— | {enabled,message} |
— |
WebSocket
/ws?pid={pid}&token={token}
- 无 token / token 无效 → HTTP 401
- 应用层:
{"op":"hello"}→{"op":"hello_ack","ok":true};{"op":"ping"}→{"op":"pong"} - 维护:若
data/maintenance.json中enabled=true,升级后立刻下发{"op":"maintenance","message":"..."}并断开 - 协议层 Ping/Pong 由服务端应答
维护开关
文件:AIServer/data/maintenance.json(与 --db 同目录,可用 --maintenance 覆盖)
{ "enabled": true, "message": "今晚 2:00-4:00 维护" }
| GET | /maintenance | — | {enabled,message} |
| GET | /health | — | 增加 maintenance 字段 |
CDN version.json.notice 也会在客户端启动时弹公告(不依赖游戏服)。
客户端
HotUpdate.Net.AuthApi/GameNet/WsClient- Boot:
HttpBase+WsUrlTemplate - 菜单:AIGame/Boot/Server/Local AIServer :8080 或 Production
- 编辑器自动
guest_{deviceId}账号