Files
Workspace/Assets/Demos/Demo2/Docs/NETWORKING.md
T
2026-08-18 02:03:34 +08:00

1.3 KiB

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