深色模式
对战服务器与网络
本章你将学到:对战服务器是什么、分布在哪里、由谁分配;用户到服务器要经过哪几段链路、每段坏了在游戏里长什么样;客户端和服务端之间那条长连接的断线缓冲规则(10 秒),以及它怎样解释"房间里有人离线""匹配不到";怎样用"所有人都卡还是只有我卡"这一个问题区分服务器问题和个人链路问题。
什么时候用得上:用户说延迟高、丢包、瞬移、掉线、进服务器超时、房间里显示离线、匹配一直不成功、某个区域连不上的时候。
对战服务器是什么
对战服务器是真正运行对局的机器。用户在客户端里点准备、匹配成功之后,游戏进程连接的就是它。平台的对战服务器分布在多个 IDC 区域节点(不同城市、不同运营商的机房),目的是让不同地区的用户都能连到一个离自己近的节点。
| 事实 | 说明 | 对客服的意义 |
|---|---|---|
| 多区域节点 | 服务器分布在多个机房 | 一个区域出问题不代表全部出问题;用户选的区域影响延迟 |
| 房间设置里可以选择服务器区域 | 房主可以指定 | "选错区域"是延迟高的常见原因 |
| 由服务端分配 | 匹配成功后由服务器分配模块选一台可用的机器 | 分配失败或长时间等待是服务端问题 |
| 运行比赛插件 | 服务器上跑着 MatchZy/Get5 一类的比赛管理插件 | 对局流程(热身、暂停、换边)由插件控制 |
| 比赛结束后结算回传 | 服务器把结果发回服务端 | 回传失败会表现为"比赛未结算" |
| 支持远程控制(RCON) | 技术可以远程管理服务器 | 客服不接触,知道有这个东西即可 |
大白话
对战服务器是"球场"。平台在全国建了好几个球场(区域节点),你和队友约好之后,调度中心(服务器分配)给你们分一个空着的球场。球场自己有裁判(比赛插件),打完把比分报回总部(结算)。球场坏了,所有在这个球场的人都打不了;你自己去球场的路堵了,只有你迟到。
用户到服务器的链路
用户的游戏数据从他的电脑到对战服务器,要经过三段:
用户电脑 → 家庭或网吧网络 → 运营商 → 机房(对战服务器)| 段 | 包含什么 | 谁能改 | 坏了的特征 |
|---|---|---|---|
| 第一段:家庭或网吧网络 | 网卡、网线或 WiFi、路由器、光猫 | 用户(家用);网管(网吧) | 只有这个用户卡;连本地路由器都有延迟或丢包;WiFi 换有线后好转 |
| 第二段:运营商 | 从光猫出去到机房入口之间的所有骨干链路 | 没人能直接改 | 晚高峰卡、跨网跨省卡;同运营商同地区的用户都卡 |
| 第三段:机房与服务器 | 机房入口、内部网络、服务器本身 | 技术 | 同一节点的所有用户都卡;换区域后正常 |
这三段的定位方法叫"三段定位法",用 ping、tracert、WinMTR 这些工具逐段测,见 网络排查工具;链路结构的详细说明见 网络拓扑。
注意
游戏对局用的是 UDP,对丢包和抖动比对延迟更敏感。用户报的"ping 只有 40 但很卡",通常是丢包或抖动而不是延迟。判断方法见 带宽、延迟、抖动、丢包。
延迟、丢包、抖动在游戏里的表现
| 网络指标 | 游戏里的感受 | 大致量级 |
|---|---|---|
| 延迟高 | 开枪到命中有明显滞后,"打人慢半拍" | 低于 50 ms 优秀,50–100 可玩,超过 100 明显 |
| 丢包 | 人物瞬移、卡一下又回来、指令丢失、严重时掉线 | 1% 以上就能感觉到,5% 以上很难玩 |
| 抖动 | 忽快忽慢,平均延迟不高却时不时卡一下 | 延迟波动超过几十 ms 就明显 |
| 带宽不足 | 一般不直接影响对局(对局流量很小),但下载、直播、别人在看视频会挤占 | 对局本身只需几百 Kbps 级别 |
详细的联网原理见 游戏联网原理。
区域选择与跨网跨省
- 跨省:用户在广东,服务器在华北,物理距离决定了延迟的下限。
- 跨网:用户是电信,机房接入是联通,跨运营商的互联点在晚高峰经常拥堵。
- 选错区域:房主选了一个离大多数队员都远的区域。
处理思路:先看房间选的是哪个区域,让房主换一个离大家近、运营商匹配的区域试一次。跨网跨省的通用知识见 常见网络故障模式。
待技术确认
平台当前提供的区域节点列表、每个区域的运营商接入情况、是否有"自动选择最优区域"功能,以技术同事说明或知识库为准。
"所有人都卡"还是"只有我卡"
这是区分服务器问题和个人链路问题的核心问题,也是用户报卡顿时你要问的第一个问题。
| 情况 | 说明什么 | 下一步 |
|---|---|---|
| 同房间所有人都卡 | 服务器或机房问题 | 问客服群是否多人反馈;升级 |
| 同房间只有我卡 | 我自己的链路(第一段或第二段) | 走三段定位法 |
| 同房间几个人卡、几个人不卡 | 卡的人可能在同一运营商或同一地区(第二段),或各自第一段有问题 | 问卡的人的地区和运营商 |
| 换个区域就不卡了 | 原区域的机房或到原区域的运营商链路 | 记录区域,看是否多人反馈 |
| 换个时段就不卡了 | 晚高峰运营商拥堵 | 见 常见网络故障模式 |
让用户确认"是不是所有人都卡"
- 怎么做:让用户在对局里或结束后问队友"你们刚才卡不卡",或者看游戏内计分板上所有人的延迟数值。
- 预期看到:队友的反馈,或计分板上的延迟一栏。
- 结果说明:
- 计分板上所有人延迟都高或都在跳 → 服务器侧问题。
- 只有用户自己延迟高 → 个人链路问题。
- 用户自己延迟正常但仍感觉卡 → 可能是丢包、抖动(计分板上不一定显示),或者根本不是网络问题而是帧数问题,见 帧数低。
大白话
一条路上堵车,如果所有车都堵,是路的问题;如果只有你堵,是你选的路或你的车的问题。问一句"你们也堵吗",比自己检查半小时管用。
WebSocket 长连接与断线缓冲期
客户端和服务端之间有一条 WebSocket 长连接,房间状态、匹配、聊天都靠它实时同步。这条连接和游戏到对战服务器的连接是两条独立的连接。
断线缓冲期的规则
| 阶段 | 发生什么 |
|---|---|
| 连接断开 | 进入 10 秒缓冲期 |
| 10 秒内重连成功 | 一切恢复,其他人几乎察觉不到 |
| 超过 10 秒未重连 | 该用户被取消准备状态;房间内显示"离线"标签;他的卡片变灰 |
| 房间里有人处于离线状态 | 匹配暂停,不会匹配成功 |
| 离线用户重连回来 | 匹配自动恢复 |
这套规则解释了几个高频问题:
| 用户问 | 解释 |
|---|---|
| "我刷新了一下客户端,为什么没事?" | 刷新导致的短暂断开在 10 秒内恢复了,不算掉线 |
| "我网络闪断了一下,怎么被取消准备了?" | 断开超过 10 秒,触发了取消准备 |
| "为什么房间里有人显示离线?" | 他的客户端和服务端的长连接断了超过 10 秒。他可能网络不好、客户端卡死、电脑休眠、或者关了客户端 |
| "为什么一直匹配不到?" | 检查房间里是否有人显示离线。有人离线时匹配是暂停的,等他回来或把他移出房间 |
| "我在游戏里打得好好的,房间怎么显示我离线?" | 游戏到对战服务器的连接正常,但客户端到服务端的长连接断了。两条连接是独立的 |
注意
"匹配不到"有很多原因(时段人少、分段人少、房间设置)。但房间里有人离线导致匹配暂停是其中最容易被忽略、又最容易解决的一个。接到"匹配不到",先让用户看房间里有没有人是灰色的、带离线标签的。
防休眠机制
客户端界面用的是 Web 技术,浏览器类的环境在后台长时间不活动时可能被系统"休眠",导致长连接断开。客户端为此做了防休眠处理(在后台播放静音音频,让系统认为它在活动)。
对客服的意义:如果用户反映"把客户端切到后台一会儿就离线了",可能是防休眠机制被某些东西干扰了(比如系统的省电策略、第三方的进程优化工具、音频设备异常)。
待技术确认
防休眠机制的具体实现细节、哪些系统设置或第三方软件会让它失效、用户是否需要保证音频设备可用,以技术同事说明为准。在确认之前,客服只需知道"后台离线可能与此有关"并收集用户的系统省电设置和后台优化软件信息。
掉线后重连进对局
用户在对局中掉线(游戏到对战服务器的连接断了),能不能重新进入正在进行的对局、有没有时间限制、缺席多久算弃赛——这些由比赛插件和平台规则决定。
待技术确认
对局中掉线后的重连规则(是否允许重连、等待时长、对结算和信用分的影响)以技术同事说明或知识库为准。客服在确认之前只描述"可以尝试重新进入客户端和对局",不承诺结果。
服务器故障或维护的表现
| 表现 | 说明 |
|---|---|
| 大量用户在短时间内同时反馈进不去、掉线 | 服务端或某区域节点故障 |
| 某个区域的服务器全部连不上,其他区域正常 | 该区域机房或链路故障 |
| 匹配成功后所有人都长时间等待分配 | 服务器分配模块或该区域无可用节点 |
| 所有房间都显示离线、大厅数据不刷新 | 服务端的长连接服务故障 |
| 比赛打完大范围未结算 | 结算回传或结算服务故障 |
遇到上面任何一种,按 紧急情况的判断:先升级、再补材料。判断"是否多人"的方法是问客服群。
禁止
疑似服务器故障时,不要让用户挨个做本地排查(重装、换网络、关杀软)来"试试"。这是在浪费所有人的时间,也会让用户觉得平台在推卸。正确做法是:确认多人反馈 → 立即升级 → 告知用户"已确认为平台侧问题,正在处理,无需您做任何操作"。
测速与网络工具
平台有网络测速相关的功能或活动,以及一个网络工具站(nettool)。它们的用途是让用户在不进入对局的情况下测试到各区域节点的网络状况。
待技术确认
测速功能的入口、网络工具站的地址与使用方法、测试结果的解读标准(多少延迟算正常、多少丢包算异常),以技术同事说明或知识库为准。在确认之前,客服用通用的 ping 和 tracert 方法即可,见 网络排查工具。
语音
平台内置语音,基于实时音视频服务。语音走的是另一条独立的连接,和对局连接、长连接都不同。所以"游戏正常但语音不行"或"语音正常但游戏卡"都是可能的。语音问题的排查见 音视频问题。
后台概念一句话
下面这些词客服不接触,但技术同事可能会提到,知道是什么就行:
| 词 | 一句话 |
|---|---|
| RCON | 远程控制对战服务器的方式,技术用 |
| MatchZy / Get5 | 对战服务器上的比赛管理插件 |
| ServerAllocationService | 服务端里负责分配服务器的模块 |
| 结算回传 | 服务器把比赛结果发回服务端的过程 |
它坏了会有什么表现:症状总表
| 症状 | 可能环节(按可能性排序) | 首选证据 |
|---|---|---|
| 对局延迟高 | 区域选远;跨网跨省;WiFi;晚高峰运营商 | 房间区域;计分板延迟;ping 到节点(地址待确认) |
| 对局丢包瞬移 | WiFi 或家庭网络;运营商晚高峰;加速器带偏 | WinMTR;有线对比;关加速器对比 |
| 对局中掉线 | 家庭网络闪断;WiFi;运营商;服务器故障(多人) | 是否所有人掉;路由器状态;事件查看器网络相关记录 |
| 进服务器超时 | 到该区域链路不通;防火墙拦 UDP;加速器;服务器故障 | 换区域是否能进;关加速器;是否多人 |
| 房间里显示离线 | 该用户长连接断开超过 10 秒 | 让该用户重连或重启客户端 |
| 匹配不到 | 房间有人离线;时段或分段人少;房间设置 | 房间截图看有无灰色卡片 |
| 匹配成功后长时间等待 | 服务器分配(服务端) | 是否多人;升级 |
| 某区域全部连不上 | 该区域节点或链路故障 | 是否多人;换区域是否正常;升级 |
| 比赛未结算 | 结算回传(服务端) | 房间号、比赛时间、UID;升级 |
| 后台一会儿就离线 | 防休眠被干扰;系统省电 | 系统省电设置;后台优化软件 |
| 语音不行但游戏正常 | 语音服务或音频设备 | 见 音视频问题 |
常见误区
- "用户说卡,就是服务器卡。" 先问"所有人都卡还是只有你卡"。只有一个人卡,99% 是他自己的链路。
- "ping 低就不是网络问题。" 丢包和抖动在 ping 平均值里看不出来,要用 WinMTR 这类持续测试。
- "匹配不到是人少。" 先看房间里有没有人离线。
- "游戏里能打,怎么会离线。" 两条连接是独立的,一条断了另一条可以照常。
- "让用户换个加速器试试。" 加速器是改变第二段链路的手段,只在第二段有问题时可能有用。先定位在哪一段,见 加速器与代理。
- "服务器可能有问题,让用户等等看。" 疑似服务器问题要立刻确认多人反馈并升级,不是让用户等。
对排查意味着什么
- 对局网络问题的排查入口是 卡顿与掉线,那一页会按三段定位法展开。
- 房间、匹配、离线相关的排查入口是 登录与连接问题。
- 证据链固定:所有人卡还是只有我卡 → 房间区域 → 有线还是 WiFi →
ping和tracert(或 WinMTR)→ 有无加速器 → 是否多人反馈。 - 多人同时反馈是唯一能让客服"确认服务器问题"的证据。单个用户的任何描述都不足以下这个结论。
自检问题
- 用户到对战服务器的三段链路是什么?每一段坏了的特征是什么?谁能改?
- 用户说"ping 只有 40 但很卡",最可能是什么?用什么工具确认?
- 断线缓冲期是多少秒?超过之后发生什么?这怎样解释"匹配不到"?
- 客户端到服务端的连接和游戏到对战服务器的连接是两条。举两个"一条正常一条不正常"的用户表现。
- 怎样判断是服务器问题还是个人链路问题?判断为服务器问题后应该做什么、不应该做什么?
- 用户说"我在后台挂着客户端,一会儿就离线了",可能和什么机制有关?你要收集什么信息?