1 引言
《王者荣耀》是由于腾讯游戏研发的一款运营在Android、IOS平台上的MOBA类手游,属于多人联机在线竞技类游戏,于2015年11月26日在Android、IOS平台上正式公测,上线败兴受到广大手游玩家的热爱,日前该游戏在手游排行中处在TOP 1的位置。
随着LTE网络下玩家数量的增多,该游戏卡顿等网络问题逐步增多,用户投诉呈提升趋势,因此呢对该游戏的科研及优化非常必要。 2游戏过程
《王者荣耀》游戏过程如下图所示。
图1 《王者荣耀》流程图·郑州慧牛科技
下面分别介绍各过程: 1、登录与更新
与通常游戏相同,在起步周期APP会检测版本是不是有更新((如图2)、登录奖励(如图3)等,这些过程都是HTTP过程,端口为80或8080(如图4)。
图2 检测版本更新 图3 登录奖励
图4 登录周期抓包·郑州慧牛科技
倘若需要更新,经过查找down.qq.com和down-update.qq.com域名获取下载服务器位置,183.57.48.18、183.61.46.140,向这些服务器并发多个请求,这些请求所有被分别重定向到文件实质存放服务器,类似:
http://183.60.137.158/update1.dlied.qq.com/sgame/Publish/201705_V19/Android/Resources。如下图所示。
图5 从服务器下载·郑州慧牛科技
APP在获取实质位置后,再次并发多个请求进行更新包下载,下载的3分钟内,请求76次,分段下载61次,数据传输为HTTP;更新过程是一个HTTP多进程下载过程;
图6 登录过程为HTTP过程·郑州慧牛科技
打开游戏前几分钟的更新、签到等过程所有是HTTP过程,伴同海量DNS过程,未创立80/8080/443端口外的TCP连接。 2、游戏开局
在游戏等待界面,有有些80端口的TCP握手和拆链,无传数据,估计是游戏自己的有些测试,触及了多个IP,但无游戏长连接IP。
图7 游戏开局·郑州慧牛科技
进行实时交互的服务器为awx.smoba.qq.com,该域名下包括多个IP。
图8 服务器下包含多IP·郑州慧牛科技
游戏创立的TCP长连接、心跳包和实时UDP数据都来自其中的某一个,如下图所示。
图9 TCP连接,心跳包和实时UDP数据IP·郑州慧牛科技
其中,TCP长连接除了部分数据传输,每隔3s进行一次类似心跳包的发、收和反馈过程,收发数据包体积相同为56字节,如下图所示。
图10 TCP长连接·郑州慧牛科技
两条UDP流,其中数据量小的UDP流发送固定体积的数据包,APP发60字节,服务器回58字节,每间隔5s APP发一次,如下图所示。
图11 UDP数据流体积·郑州慧牛科技
游戏过程中,HTTP过程基本处在静默状态,无交互;游戏结束后,打扫战场,统计MVP、每一个玩家需要加分、经验等过程,这些数据必须靠谱传输到游戏服务器,从抓包看这一周期长连接TCP流传输数据量亦很强,还会有包括pingma.qq.com、game.eve.mdt.qq.com、game.str.mdt.qq.com等位置的HTTP请求触发,如下图所示。
图12 游戏结束后抓包数据·郑州慧牛科技 3模型提炼
从多次完整的抓包过程(更新、登录、对战)看,王者荣耀运用HTTP更新版本,更新用户账号信息,提交当局游戏战况,有一条TCP连接和两条UDP数据流贯穿游戏全程,这条TCP连接除了起始和结束周期用于数据传输,大部分时间用于发送心跳包,UDP一个流用于数据传输,另一个流用于收发固定体积数据。
从玩家的方向及投诉的状况看,玩家更加注重游戏中的时延,游戏中时延优化归根到底是对以上一条TCP流及两条UDP数据传输的优化,优化的结果直接反映到检测网络的心跳包时延上;而这3条数据流重点特点是小包密集型,同一IP服务器UDP与TCP同期进行,游戏过程TCP与UDP端口随机。
图13 游戏全程包括1条TCP流和两条UDP流·郑州慧牛科技
由于每局游戏的装备都是当局购买当局有效,游戏实时数据即使发送失败,即出现丢包亦不需要网络侧重传,需要玩家再次发送,数据靠谱性方面亦能够跳帧,因此结合起来,游戏正在进行时,玩家的即时操作经过UDP传输,只追求低时延;游戏右上角表示时延大于150ms时,游戏画面就会显现卡顿、操作显现延迟,玩家游戏体验差,倘若引起输局极易导致投诉; 4无线优化 1、更新和登录优化
游戏更新下载及用户登录,过程为HTTP过程,更新包采用206分段下载,与视频等HTTP下载相同,且为多线程同期下载;登录及签到等HTTP过程与网页拜访类似,因此针对王者荣耀的初始周期能够采用已有的网页或视频优化手段,评定办法根据网页和HTTP下载评定就可。
由于用户投诉及感知敏锐期在游戏过程中,游戏起始周期除了等待在线更新、登录、签到外,还有很长期的本机加载过程,因此初始周期玩家基本能够忍受秒级的等待,优化优先级中。 2、游戏开局优化
游戏开局后,HTTP过程基本无,数据交互采用TCP连接与UDP流的方式,针对UDP分组的优化日前还无专门的feature;但UDP做为普通数据业务,像修改SR、DRX周期,DNS、TCP等办法都能必定程度的减少时延;
另一能够创立专有承载进行保证,LTE协议QCI 3便是用于Real Time Gaming,如表1,该承载需求的比特速率被网络永久恒定的分配,即使在网络资源紧张的状况下,相应的比特速率亦能够保准;日前电信与腾讯合作,由腾讯供给接口,电信集团平台进行对接,子机构核心网侧针对王者荣耀创立QCI 3,这般就免去了无线侧做游戏识别,无线侧的优化只针对承载进行。
表1 QCI3的包时延和丢包率需求·郑州慧牛科技
QCI
Packet Delay Budget
Packet Error Loss Rate
3
50 ms
0.30%
TCP数据与服务器交互和心跳包处在同一个流,UDP数据交互在同一服务器上,心跳包客观衡量了游戏交互时间(用户感知组已然研发了王者荣耀分析工具)。优化结果如下表所示,从UE侧周期的心跳时延能够看出,开启QCI 3的预调度功能,能够有效降低空口时延,对游戏时延优化很强。
表2 优化结果·郑州慧牛科技
承载
预调度
UE平均心跳时延(s)
空口平均心跳时延(s)
QCI 3
关闭
0.070648
0.0549
打开
0.046773
0.024
图14 打开预调度时空口心跳包时延分布图·郑州慧牛科技
图15 关闭预调度时空口心跳包时延分布图·郑州慧牛科技
王者荣耀在游戏过程中不卡顿,最低需求时延必须<150ms,该背景下无线时延占全程时延的比例就很强,优化空口时延对游戏的整体感知将效果明显。
这个大通信时代,选取通信行业加入通信行业!郑州慧牛科技有限机构!
此刻只是起始,将来才是赢家!
招聘职位: LTE初/中/高级 网络优化工程师
工作地点: 华东,华南,华北,西南,西北等项目部
招聘人数: 30人
学历需求: 大专及以上学历专业不限
招聘需求: 初级工程师面对在校大三和刚毕业大学生
郑州慧牛网络科技有限机构诚邀您的加入!
联系人:张经理 手机:15238314387 (微X同步)
联系tel:0371-55178858 位置:郑汴路将来路绿都广场8楼层
各位宝宝们
爱你们么么哒!
连续关注 慧牛科技
接下来还有更加多惊喜哦~
■ 投稿 及 行业探讨关注慧牛科技微X公众号,随时找博主! 这是一个有温度的公众号
|