30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
# LAN 同步协议
|
|
|
|
Host 是建造、拆除、旋转、配方、准备、奖励选择、周期切换和种子的权威端。客户端运行相同 ECS 模拟;Host 每 20 Tick 广播一次状态哈希。哈希失配时,Host 发送 GZip 压缩快照,客户端清空并重建 Demo2 World。
|
|
|
|
## 连接与发现
|
|
|
|
- 默认游戏端口:27320
|
|
- 默认传输:TCP
|
|
- 可在标题界面切换 KCP
|
|
- UDP 广播用于房间发现
|
|
- 支持直接 IP
|
|
- 会话发放重连令牌,断线保留 30 秒
|
|
|
|
## 握手校验
|
|
|
|
准备前严格比较:游戏版本、模拟协议版本、内容 SHA-256,以及每个 Mod 的 ID、版本和内容哈希。规则、配方、机器或波次数据任一变化都会改变内容指纹。不一致时拒绝进入准备状态并返回差异。
|
|
|
|
## 指令语义
|
|
|
|
建造指令包含序号、玩家 ID 和幂等令牌。Host 按收到顺序裁决同格冲突;重复令牌返回已接受但不重复执行。越界、格子占用、空格拆除和资金不足分别返回稳定错误码。拆除按机器造价全额退款。
|
|
|
|
远程管理命令应由宿主的 ShrinkCommand 权限层限制。运行时提供:
|
|
|
|
- `demo2 status`
|
|
- `demo2 spawn-item <kind> <quantity>`
|
|
- `demo2 set-speed <1|4|10|20>`
|
|
- `demo2 start-wave`
|
|
- `demo2 dump-ecs`
|
|
- `demo2 reload-mods`
|