learntoall

小白入门

游戏后台和信息流后台最容易用错类比。抖音一次请求要的是「下十条」。王者一局要的是「接下来 20 分钟里,十个人的每一次操作都不能丢、不能乱序」。

三种图

图的种类看它干什么本页例子
架构图大厅、对局、旁路怎么隔开三条路、分层
流程图从点匹配到开房匹配票据
时序图一帧里谁先交操作、谁广播帧同步 / 状态同步

三条路

  1. 大厅:登录、商城、邮件、组队。可以稍慢,必须能回档。
  2. 对局:每 66ms 一次的热路径(王者公开数字)。走 UDP 和房间进程。
  3. 旁路:语音、聊天、结算、反外挂上报。绝不能焊进帧广播。
点「开始匹配」
大厅路
登录、组队、段位
对局路
每帧输入或状态
旁路
语音、聊天、结算
架构图 · 点开始之后,三件事不要走同一扇门

先凑人,再开场

玩家点开始
大厅服务器发起匹配
生成匹配票据
凑齐人数和规则了吗?
分配或创建对局房间
十个人连上同一局
流程图 · 匹配票据到对局房间

腾讯云 GPM 文档把这个过程写成 StartMatching → 票据状态 →(可选)申请对战服资源。GPM 本身 2022 年已下线,但这张状态机仍是公开可见的产品形态。细节见大厅与匹配

两种打球方式

王者从《霸三国》的 Client-Server + TCP,改成 UDP + 帧同步:服务器只收集输入,客户端各自用同一份序列算出画面。孙勋给出的理由包括:MOBA 同屏单位多,传状态太贵;TCP 在丢包重连时会卡。

玩家A
玩家B
对局服
玩家C

本帧操作

本帧操作

66ms 打包成有序帧

广播帧 + 冗余前几帧

同一份序列

同一份序列

确定性重放

时序图 · 帧同步:输入进房间,同一份序列广播出去

射击和大地图更常让服务器当裁判,见状态同步。不要把王者的方案套到所有腾讯游戏上。

术语对照

你会听到小白说法去哪一页
Tconnd / TGW球馆大门,专管排队进门接入网关
Tbus工作人员之间递纸条的内部通道接入网关
大厅 / PvP买票大厅和球场房间与对局服
帧同步大家按同一份键位清单演戏帧同步
状态同步裁判说球在哪就在哪状态同步
Tcaplus能回到昨天的储物柜TcaplusDB
GCloud把球馆开到全世界的中台全球就近
ACE安检和反兴奋剂反作弊