深色模式
平台全景图
本章你将学到:R0 对战平台由哪些环节组成、每一环负责什么、彼此怎么依赖;一局游戏从安装到结算要经过哪些环节;哪些东西在用户电脑上、哪些只在服务端。这是整个第 06 章的地图,后面七页分别把每一环放大讲。
什么时候用得上:接到任何平台问题的第一步——先在脑子里把用户描述的现象"放到地图上",判断它大概落在哪一环,再翻对应的详细页。
为什么要先看全景
用户说"打不开""进不去""很卡",这些词本身不指向任何一环。同一个"进不去",可能是客户端连不上服务端、可能是 Steam 没登录、可能是游戏文件损坏、也可能是对战服务器所在区域故障。它们分别落在四个完全不同的环节,排查方向和能修的人都不一样。
你不需要懂每一环的实现细节。你需要的是:知道有哪些环节、每一环坏了长什么样、每一环由谁能修。有了这张地图,用户的一句话就能被你翻译成"大概率在 X 环,先看 Y 证据"。
大白话
把平台想成一条流水线:用户电脑是原料车间,网络是运输带,服务端是调度室,对战服务器是真正干活的工位。任何一段停了,最后出来的都是"没做出来"。你的工作不是修流水线,而是先说出"停在哪一段"。
全景图
读图的方式:
- 上半部分是用户电脑。客户端是入口,它依赖下面四样东西:R0Guard、Steam、游戏文件、系统与运行库。任何一样不正常,客户端要么起不来,要么能开但某个功能不工作。这一部分用户和客服能直接观察、能直接改。
- 中间是网络。用户电脑发出的每一条请求(登录、房间状态、下载、进服务器)都要经过家庭或网吧网络、运营商、机房入口这三段。这一部分客服能用工具观察,但只有第一段用户能改。
- 下半部分是服务端和对战服务器。账号、余额、房间、匹配、分配、结算都在这里。这一部分客服看不到内部,只能通过"多个用户是否同时异常"来间接判断,修复必须靠技术。
注意
图里的箭头表示"依赖",不表示"数据只往一个方向走"。客户端和服务端之间是一条 WebSocket 长连接,双向实时通信;客户端到对战服务器则是另一条独立的连接。这两条连接可以一条好一条坏:用户能在大厅里正常聊天,却进不了对局;或者对局正常,大厅却显示离线。分清是哪条连接出了问题,是后面 对战服务器与网络 那一页的重点。
一局游戏的完整旅程
下面按用户的实际顺序,把一局游戏拆成 12 步。每一步都写清楚:由哪一环负责、依赖什么、失败时的典型表现。这是本章最重要的一张表,建议在读完全章后再回来读一遍。
第 1 步:安装客户端
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端(安装包) |
| 依赖 | Windows 系统正常、管理员权限、磁盘空间、安装包内含的 VC++ 运行库与 WebView2 能正常装上、未被杀软拦截 |
| 典型失败表现 | 双击安装包无反应;安装过程中报错;安装到一半消失;安装完成但桌面没有图标 |
| 详见 | 客户端、运行库、安全软件与拦截 |
第 2 步:登录(手机号 + 短信验证码)
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端(登录界面)→ 网络 → 服务端(登录与账号) |
| 依赖 | 客户端能联网、系统时间大致正确、没有代理残留、短信通道正常、账号未被封禁 |
| 典型失败表现 | 提示网络错误;收不到验证码;提示账号异常;登录成功后又弹回登录页 |
| 详见 | 客户端、登录与连接问题 |
第 3 步:绑定 Steam
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端 → 服务端(账号);同时依赖用户电脑上的 Steam |
| 依赖 | Steam 已安装、已运行、已在线登录;绑定关系写入服务端 |
| 典型失败表现 | 绑定流程走不通;绑定后显示"Steam 不匹配";想换绑但换不了 |
| 详见 | Steam 与账号绑定 |
第 4 步:下载游戏文件
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端(下载器)→ 网络 → 下载源(CDN 等) |
| 依赖 | 带宽、下载节点、目标磁盘写入速度、磁盘剩余空间、杀软不干扰、无代理拖慢 |
| 典型失败表现 | 下载速度极低;下载中断;下载失败反复重试;下载到一半磁盘满 |
| 详见 | 游戏文件与下载、下载问题 |
第 5 步:校验游戏文件
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端(校验器)+ 游戏文件所在磁盘 |
| 依赖 | 文件完整、磁盘可读、杀软没有隔离或删除文件 |
| 典型失败表现 | 校验失败反复出现;校验后又要重新下载一部分;校验极慢 |
| 详见 | 游戏文件与下载 |
第 6 步:进房间或开始匹配
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端 → WebSocket 长连接 → 服务端(房间与匹配) |
| 依赖 | 长连接稳定;房间里所有人都在线;账号状态允许匹配 |
| 典型失败表现 | 房间里显示"离线"标签;匹配一直不成功;房间状态不同步 |
| 详见 | 对战服务器与网络 |
第 7 步:Steam 校验通过才能准备
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端的本地组件,每 5 秒检测本机 Steam 登录账号 |
| 依赖 | Steam 运行中、在线登录、登录的账号与平台绑定的一致 |
| 典型失败表现 | 房间内显示"Steam 不匹配"警告;准备按钮不可用 |
| 详见 | Steam 与账号绑定 |
第 8 步:分配对战服务器
| 项目 | 内容 |
|---|---|
| 负责环节 | 服务端(服务器分配) |
| 依赖 | 所选区域有可用节点;节点正常 |
| 典型失败表现 | 匹配成功后长时间等待;提示分配失败;同区域多个房间都进不去 |
| 详见 | 对战服务器与网络 |
第 9 步:启动游戏(R0Guard 运行)
| 项目 | 内容 |
|---|---|
| 负责环节 | 客户端拉起游戏进程;R0Guard 初始化并运行 |
| 依赖 | 游戏文件完整、管理员权限、R0Guard 未被杀软或网吧软件拦截、显卡驱动正常、运行库正常 |
| 典型失败表现 | 点开始游戏无反应;游戏窗口出来又消失;提示反作弊初始化失败;游戏启动极慢 |
| 详见 | 反作弊(R0Guard)、无法启动、启动慢 |
第 10 步:连接对战服务器
| 项目 | 内容 |
|---|---|
| 负责环节 | 游戏进程 → 网络 → 对战服务器节点 |
| 依赖 | 到该节点的链路通畅(UDP)、防火墙不拦、加速器没把路线带偏 |
| 典型失败表现 | 进服务器超时;连上又断;能进大厅但进不了对局 |
| 详见 | 对战服务器与网络、卡顿与掉线 |
第 11 步:对局进行
| 项目 | 内容 |
|---|---|
| 负责环节 | 游戏进程 + 用户硬件 + 到节点的链路 + 对战服务器 |
| 依赖 | 帧数够、延迟低、丢包少、R0Guard 持续运行、语音服务正常 |
| 典型失败表现 | 帧数低、延迟高、瞬移、中途掉线、被踢出、没声音 |
| 详见 | 帧数低、卡顿与掉线、音视频问题 |
第 12 步:结算
| 项目 | 内容 |
|---|---|
| 负责环节 | 对战服务器把结果回传服务端 → 服务端(结算) |
| 依赖 | 比赛正常结束、回传成功、服务端处理成功 |
| 典型失败表现 | 比赛打完没有记录;分数未变化;奖励未发放 |
| 详见 | 账号与支付问题 |
大白话
用户说"进不去",你先问一句:走到第几步了? 是登录页就卡住(第 2 步)、还是能进大厅但准备不了(第 7 步)、还是匹配到了但进不了服务器(第 10 步)?问清这一个问题,排查范围就从 12 步缩到 1 步。
环节总表:职责、典型表现、谁能修
| 环节 | 职责 | 坏了的典型表现 | 由谁能修 |
|---|---|---|---|
| 客户端程序本体 | 登录、大厅、房间、下载、校验、启动游戏、内置客服、自更新 | 双击无反应、启动即消失、白屏、一直转圈、更新失败 | 用户(按客服指导:运行库、WebView2、杀软、代理、干净重装);程序 bug 需技术 |
| 系统与运行库 | 为客户端、R0Guard、游戏提供运行基础 | 报"找不到 xxx.dll"、界面空白、启动即退出 | 用户(按客服指导安装运行库、WebView2) |
| R0Guard 反作弊 | 随客户端启动,保护对局公平 | 初始化失败、客户端启动即消失、进游戏被踢、准备不了 | 用户(杀软白名单);网吧需网管;误封与申诉需技术 |
| Steam | 身份绑定、Steam 校验、创意工坊地图下载 | "Steam 不匹配"、工坊地图下载卡住 | 用户(切回正确账号、重启 Steam);解绑换绑需技术或按业务流程 |
| 游戏文件 | 平台下发的全皮肤版游戏本体 | 下载慢、校验失败、启动慢、加载卡住、闪退 | 用户(换盘、加白名单、重新校验) |
| 游戏进程 | 真正运行的 CS2/CSGO | 帧数低、闪退、没声音、加载卡住 | 用户(驱动、设置、冲突软件) |
| 家庭或网吧网络 | 用户到运营商之间的第一段 | 延迟高、丢包、掉线、下载慢、登录网络错误 | 用户(家用);网吧需网管 |
| 运营商 | 用户到机房之间的第二段 | 晚高峰丢包、跨网跨省延迟高 | 谁都改不了链路本身,只能绕路(换区域、加速器) |
| 服务端:登录与账号 | 账号、验证码、绑定关系、封禁状态、信用分 | 收不到验证码、登录网络错误、掉回登录页、账号异常 | 技术 |
| 服务端:房间与匹配 | 房间状态同步、匹配、WebSocket 长连接 | 离线标签、匹配不到、房间状态不同步 | 单人:用户查网络;多人同时:技术 |
| 服务端:服务器分配 | 给匹配成功的对局分配节点 | 匹配成功后长时间等待、分配失败 | 技术 |
| 对战服务器节点 | 运行对局、比赛插件、回传结果 | 某区域全部连不上、所有人同时卡、比赛未结算 | 技术 |
| 服务端:结算 | 处理比赛结果、分数、奖励 | 比赛未结算、分数未变 | 技术 |
| 服务端:支付与钱包 | 充值、余额、VIP、商城 | 充值未到账、余额异常 | 技术(涉及资金一律紧急) |
| 加速器或代理 | 换一条路到机房 | 开了更卡、登录失败、下载慢、白屏 | 用户(关掉、换节点、清残留) |
待技术确认
上表中"由谁能修"一栏,客服侧的处理边界(如哪些用户数据允许客服在后台查看、哪些操作需要走特定审批)以内部权限说明为准。此处只描述通用逻辑,不代表客服系统的实际权限配置。
哪些东西只在服务端、客服看不到、必须升级
下面这些信息不存在于用户电脑上,客户端只是把服务端告诉它的结果显示出来。用户重装一百次客户端也不会改变它们;客服也无法通过让用户操作来修改它们。
| 数据 | 存在哪里 | 客服能做什么 | 不能做什么 |
|---|---|---|---|
| 账号状态(正常 / 封禁 / 限制) | 服务端 | 让用户提供 UID,升级查询 | 判断是否误封、解除封禁 |
| 余额、充值记录、VIP 状态 | 服务端 | 收集订单号、支付时间、截图,升级 | 补发、退款、改余额 |
| 比赛记录、分数、结算结果 | 服务端 | 收集房间号、比赛时间,升级 | 补结算、改分 |
| Steam 绑定关系 | 服务端 | 确认用户本机登录的 Steam 账号是否与绑定一致 | 直接解绑或换绑 |
| 信用分、用户等级 | 服务端 | 解释规则(以知识库为准) | 修改分值 |
| 举报处理结果 | 服务端 | 告知已收到、转交 | 判定举报是否成立 |
| 房间与匹配的实时状态 | 服务端 | 让用户观察房间里的离线标签、刷新重连 | 强制解散房间、强制匹配 |
| 服务器节点的健康状态 | 服务端与节点 | 汇总多个用户的反馈判断"是否多人同时异常" | 重启节点、切换节点 |
禁止
对于上表里的任何一项,不要向用户承诺"我帮您改一下"或"马上就能恢复"。你没有这个权限,也无法判断服务端那边发生了什么。正确的说法是"我已经把您的 UID 和问题时间提交给技术核查,结果出来第一时间通知您"。承诺了做不到,比如实说"需要核查"伤害更大。见 沟通原则。
客服能直接处理的边界
把上面反过来看:凡是在用户电脑上的东西,客服都有机会通过指导用户来解决。这包括:
- 客户端本体:运行库缺失、WebView2 问题、杀软拦截、代理残留、缓存异常、安装残留。
- R0Guard:被杀软或网吧软件拦截(加白名单;网吧需网管)。
- Steam:登错账号、未运行、离线、工坊会话故障(重启 Steam)。
- 游戏文件:装在慢速盘、磁盘空间不足、杀软删文件、校验失败后修复。
- 游戏进程:驱动、覆盖层、冲突软件、游戏设置。
- 网络第一段:WiFi、路由器、网线、家庭网络内的其他占用。
- 加速器或代理:关掉、换节点、清理。
这份清单也是 何时升级 里"不应该升级的情况"的具体展开——如果问题落在这里,先按对应的排查页处理,而不是升级。
常见误区
- "客户端是我们的东西,所以客户端的问题都是我们的 bug。" 客户端运行在用户电脑上,依赖运行库、WebView2、杀软放行、磁盘、网络。绝大多数客户端异常是这些依赖出了问题,不是程序本身。
- "服务端的事我看不到,所以一切我搞不定的都是服务端问题。" 恰恰相反:服务端问题的标志是多个用户同时出现同类现象。只有一个用户异常,99% 在用户电脑或他的网络上。
- "用户能登录,说明网络没问题。" 登录走的是客户端到服务端的连接,对局走的是游戏到对战服务器的连接。两条路可以一条通一条不通。
- "Steam 是别人家的软件,不归我们管。" Steam 是平台运行的硬依赖。Steam 不正常,绑定、校验、工坊地图都会在平台里表现为故障。客服必须会区分"Steam 问题"和"平台问题",见 Steam 与账号绑定。
- "重装客户端能解决大部分问题。" 重装只重置客户端本体这一环。它不会修好杀软规则、不会换掉慢速盘、不会改变服务端数据、不会让 Steam 登回正确账号。
对排查意味着什么
这张全景图对应到排查方案,就是 排查框架 里的"分层定位":
- 先定步骤:问用户"走到第几步了",把问题落到 12 步中的某一步。
- 再定环节:这一步涉及的环节有哪几个(通常 1–3 个),对照本页的环节总表。
- 再定范围:是只有这一个用户异常,还是多人同时异常?前者看用户电脑和他的网络,后者立刻按 紧急情况的判断 处理。
- 再要证据:翻到对应环节的详细页(本章后面七页),按那一页的"可观察的证据"去要。
- 最后翻排查方案:故障面地图 给了"症状 → 环节 → 证据 → 排查页"的速查表,直接跳到对应的 07 章页面执行。
本章其余页面导航
| 页面 | 讲什么 | 什么时候翻 |
|---|---|---|
| 客户端 | 客户端本体:起不来、白屏、转圈、消失、更新失败 | 问题出在进大厅之前 |
| 游戏文件与下载 | 下载、校验、更新、安装位置、迁移 | 下载慢、校验失败、启动慢、加载卡 |
| Steam 与账号绑定 | 绑定、Steam 不匹配、工坊地图 | 准备不了、Steam 相关提示 |
| 反作弊(R0Guard) | 初始化失败、被杀软拦截、被踢、封禁 | 启动即消失、进游戏被踢、环境异常 |
| 对战服务器与网络 | 节点、区域、长连接、断线缓冲、延迟丢包 | 卡、掉线、离线标签、匹配不到 |
| 加速器与代理 | 加速器什么时候有用、什么时候有害 | 用户开着加速器,或怀疑代理残留 |
| 故障面地图 | 三张大表:症状对环节、责任边界、紧急判据 | 每次接到问题的速查 |
自检问题
- 不看图,说出用户电脑上的五个组成部分,以及每一个坏了最典型的一种表现。
- "一局游戏的完整旅程"有 12 步。用户说"能进大厅,但点准备没反应",最可能卡在第几步?涉及哪一环?
- 客户端到服务端、游戏到对战服务器是两条不同的连接。举一个"一条通、一条不通"的例子,说明它在用户那里长什么样。
- 列出至少五种"只在服务端、客服看不到"的数据,以及客服对它们分别能做什么、不能做什么。
- 为什么"只有一个用户异常"时应该优先查用户电脑和他的网络,而不是怀疑服务端?
- 用户说"我重装了三遍还是 Steam 不匹配"。用全景图解释为什么重装对这个问题没用。