嗨,你的游戏跨网了吗?

发表于2017-08-07
评论2 1.4k浏览

一、背景

某游戏业务运用了公司内部网关实现了三线接入(电信、联通、移动),同时客户端通过了ping测速功能实现了玩家多网的最优接入

目前,腾讯端游为实现多线接入,几乎都是采用了多网接入 PING测速的方案去实现,并且在多个业务上验证效果不错;采用域名连接方式在多个客户端游戏验证后掉线率过高都不被采纳,目前中国网络瞬息万变,中国移动固网宽带用户已经达到7000W,与联通几乎持平!那多网接入 PING测速方式会真的能做到100%最优线路选择吗?下面来阐述下某游戏业务在此功能下遇到的一些问题案例

1)今年有测试同学反馈在公司内玩某游戏很卡,游戏经常性的跳ping,而其他测试人员游戏很顺畅,之前反馈偶尔也会遇到一次,重启游戏后又正常了;运维兄弟接到反馈后进行了一些列排查,通过抓包发现此测试同学连了联通的VIP进行游戏!额,作为电信网络怎么会连接到联通的VIP上去了,ping测速有问题?还是在ping测速时有电信有网络波动?

2)接到一个资深玩家反馈自己在深圳的百M电信带宽玩游戏经常性的卡,游戏体验极其不佳。百M电信带宽居然还会卡?通过运维兄弟的抓包发现此电信玩家连到了移动的VIP进行游戏!这。。。。。。。

 

二、深入

为何会出现以上的问题,是ping测试机制有问题?还是说在ping测速过程中遇到了网络波动?因此需要更深入的日志去抓取分析,因此和开发一起约定在网络选择网络日志存入logdb中进行分析,客户端选线表中记录了玩家的客户端ip,玩家的ping当前测速情况、历史ping测速情况和玩家最终选择的VIP等关键信息

运维将此表信息录入到蓝鲸数据平台,经过蓝鲸计算平台将ip解析成ISP进行分析,我们似乎有惊人的发现!随机抽取了10条中国电信的玩家跨网的详细日志信息

我们发现中国电信用户都进行跨网连接游戏导致很卡,但通过ping测速的数据可以看出,自身ping电信的测速确实没有选择的移动或者联通的VIP好,通过历史的ping测速来赋予权重去解决网络波动问题似乎还是解决不了跨网的问题。通过公司内游戏体验管理APP,我们可以看到一些数据呈现,我们发现电信网络的跨网选择率达到了惊人的23%左右,联通用户的跨网用户有8%,而移动用户相对较少,跨网率在2%

跨网后的效果如何?是很不稳定吗?大家来看看以下跨网用户的延迟情况

以上图可以发现,网络会在时不时的ping值很高,这样造成游戏内是不是卡一下,极其影响游戏体验!

        以上总总我们发现,采用ping测速的方式选择网络是存在较大误差的! 我们如何解决呢?

 

三、核心方案与效果体现

   1、手动选择网络方案

为快速解决部分电信用户的跨网问题,我们通过多次讨论,首推加入手动选择网络方案,自动选择 手动选择模式共存,用户可根据自身的网络手动去选择连连接对应的VIP,整体效果非常不错!

通过手动选择方案,我们发现手动选择模式下跨网率从23%降低至2%,效果非常明显,但由于此功能做的太深,未经过玩家登录必经之路,而是做在了游戏内,玩家不容易发现,只能通过贴吧和官网进行推广。同时小白玩家比较多,他们可能不知道自身的网络情况而自动选择自动选择的方式,因此还是有大部分玩家选择了自动选择的方式。但给到了玩家一个有效的解决方案。

但从总体数据上看,依然有87%的用户依然选择了自动模式,因此整体跨网率减少比例 较少!

从总体数据看,电信连电信线路选择正确率从77%提升至81%,跨网率从23%减少至19%

只能说,这种方案太不智能了。。

 

2、TCLS解析ISP方案

目前腾讯登录组件自带ISP解析功能,游戏客户端通过登录平台ISP解析返回该用户的网络ISP,再将同网的VIP返回给客户端进行游戏连接;同时再加入一些测速和端口检测的功能防止同网的ISP故障或者ping测速过高的情况让用户进行其他选择,目前全职大师在尝试推动这套方案进行

 

3httpDns解决方案

httpDns目前在手游中应用很多,他们将API集成在MSDK作为一个通用组件,业务接入无成本!但是在端游中没有一款业务接入,经过与httpDns负责人详细沟通,手游业务中httpDns API整合至MSDK,手游业务接入无成本;而端游需要游戏开发接入httpDns API,有一定的开发成本。目前还没有业务进行尝试

4、GBP方案

BGP主要用于互联网AS自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。中国联通 、中国电信、中国铁通和一些大的民营IDC运营商都具有AS号,全国各大网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的,最大优点是服务器只需要设置一个IP地址,最佳访问路由是由网络上的骨干路由器根多线BGP机房服务器托管据路由跳数与其它技术指标来确定的,不会占用服务器的任何系统资源。服务器的上行路由与下行路由都能选择最优的路径,所以能真正实现高速的单IP高速访问!他跟TGW最大的区别是TGW提供了多个运营商的ip让客户端进行ping测速实现选择最优线路,而BGP只提供一个IP,无需测试,自身实现高速访问!劣势在于BGP带宽较贵,一般为普通IDC带宽的3倍左右,目前国类暴雪游戏几乎都使用了BGP方案如守望先锋、炉石传说、魔兽世界等等,玩家反馈不错;我们腾讯游戏目前多个业务也在尝试BGP方案实现单大区多线互通!

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: