设计原则
王者和 Tcaplus、GCloud 的公开材料反复出现下面几条。换掉其中一条,接入协议和对局切片都要重画。
点「开始匹配」
大厅路
登录、组队、段位
对局路
每帧输入或状态
旁路
语音、聊天、结算
01 手感是一等公民
王者放弃 TCP,是因为丢包恢复时窗口和慢启动会让重连后的对局卡死。协议为手感服务,不是为协议栈的教科书服务。
02 大厅和对局必须拆开
登录、商城、邮件和对局循环不是同一种 QPS。孙勋的公开架构从一开始就是大厅 + PvP,后来才加 Proxy。
03 先选同步模型,再写玩法
MOBA 单位多、技能组合复杂,传输入比传全量状态便宜。射击要服务器判伤害,状态同步更合适。不要用一种同步硬套全品类。
04 对局按房间切片
四万多个进程说明故障域是一局。扩容是加对局进程,不是把一个世界服垂直堆高。
05 数据必须能回档
Tcaplus 被反复强调的是无损扩缩、备份和快速回档。游戏运营事故的第一反应是回到上一份正确数据。
06 反作弊叠在同步模型上
帧同步靠确定性哈希和录像回放;状态同步靠服务器权威。ACE 是客户端防线,不能替代权威判定。