Sott Implementation Server Snapshots

返回索引

服务端最小实现 — 对局与快照

选定语言/框架 后由服务端组实现;逻辑与 服务端表结构 一致。

1. API 草案(REST 或 gRPC,二选一)

方法 路径 行为
POST /matches body: map_id, ruleset_version, players[] → 返回 match_id
POST /matches/{id}/start state=running
PUT /matches/{id}/snapshot body: logic_round, schema_version, state_blob;仅 Server 进程可调(内网 + mTLS)。
GET /matches/{id}/snapshot/latest 断线重连拉取。
POST /matches/{id}/finish 结算。

2. 与 UE 的衔接

  1. Dedicated ServerBeginPlayPOST /matches(或本地嵌入式 DB 则跳过 HTTP)。
  2. 每逻辑回合结束:SerializeGameStatePUT .../snapshot
  3. 客户端重连:GET .../latest,反序列化前校验 schema_version

3. 最小测试脚本

  • curl 创建空 match → 写入两行 match_players → 上传假 state_blob(随机字节)→ 查询最新一条成功。

4. 后续扩展

  • match_events 增量、回放下载、反作弊签名 state_blob