如今,多人在线对战(MMO)游戏已经是主流的游戏类别,多人在线游戏对网络时延要求高,其通信模式是低时延、小包的模式。游戏加速器是为了避免酣战中突然网络拥塞造成糟糕的游戏体验。特别是在中国,很多游戏不能在国内开服,因此玩家只能玩海外服,从而催生了游戏加速器的市场。本文对比主流游戏加速器产品特性。
游戏加速器产品对比
国内提供游戏加速器产品的厂商可以分为两类:独立游戏网络加速厂商、游戏厂商(腾讯、网易等)。这两类厂商做加速器的商业目标是不同的。
- 独立游戏网络加速厂商(迅游)业务目标:盈利,最终用户付费。
- 游戏厂商游戏网络加速业务目标:提升自身游戏用户体验,加速服务免费或少量收费(覆盖成本)。
如下表格是国内主流加速器产品对比。
| 维度\厂商 | 迅游手游加速器 | 腾讯手游加速器 | 网易UU | 腾讯智营网优服务 |
|---|---|---|---|---|
| 业务目标 | 独立游戏加速厂商,市场占有率50%。 业务目标:盈利、市值上升 | 腾讯系游戏集成。 业务目标:提升腾讯系游戏用户体验(支持的游戏一半以上是腾讯系),不盈利 | 网易系游戏集成。 业务目标:提升网易游戏用户体验,不盈利 | 基于腾讯云开放手游网络加速能力给游戏厂商使用。2019年公测,2020.1下线。 |
| 产品版本 | 迅游网游加速器(端游):PC版本 迅游手游加速器:Android版、iOS版 | 腾讯网游加速器(端游):PC版本 腾讯手游加速器:Android版、iOS版 | 网易UU网游加速器(端游):PC版、Mac版 网易UU手游加速器:Android版、iOS版 | 客户端SDK:Android、iOS 游戏引擎集成:Unity |
| 海外加速场景 | 迅游国际版:国内用户玩海外游戏、海外用户玩国内游戏。 | 腾讯网游加速器海外版(内测):海外用户玩外服游戏,海外用户玩国内游戏。 | 网易UU国际版:国内用户玩海外游戏、海外用户玩国内游戏。 | 依托腾讯云基础设施,支持海外国家之间、中国到海外、海外到中国加速场景 |
| 功能 | 普通模式:骨干网智能选路 高级模式:WIFI/4G切换、骨干网加速 竞技模式:WIFI/4G双链路、WIFI双频(依赖手机厂商)、骨干网加速 | 基站VIP模式:4G QoS加速,仅4G网络下使用 节能模式:WIFI较好场景下使用,WIFI不行切换到4G,消耗4G流量较少 竞技模式:WIFI与4G双发 | 普通模式:WIFI/4G切换、骨干网智能选路 会员特权:4GQoS加速、海外服加速、防断连系统 | 加速:客户端4G QoS加速,客户端WIFI+蜂窝多路径,骨干网智能选路 运营:网络诊断报表、网络加速报表开放给开发者查看 |
| 客户端流量劫持与支持协议 | App:VPN SDK:hook socket api,支持TCP与UDP | VPN,支持TCP与UDP | VPN,支持TCP与UDP | Hook socket api,仅支持UDP |
| 商业模式 | 2C:迅游App购买,普通模式免费;高级与竞技模式收费(包年包月)。 2B2C(游戏厂商):游戏集成迅游SDK,用户付费给迅游;已集成的游戏有:王者荣耀、穿越火线、全民枪战等。 2B2C(手机厂商):手机ROM集成迅游SDK,用户付费给迅游;已集成的厂商有:华为、小米、OPPO、黑鲨、魅族 | 2C(腾讯网游加速器):国服免费,海外服收费(包年包月)。 2C(腾讯手游加速器): 免费,通过完成任务获得高级加速功能,任务包含:每日登录、加速游戏等。 | 2C(网易UU网游加速器):国服免费,海外服收费(包年包月)。 2C(网易UU手游加速器):普通加速免费;付费会员(包年包月)享用高级功能:4GQoS加速、海外服加速等。 | 2B: 游戏厂商付费给腾讯,骨干网按带宽收费,4G QoS加速按加速次数收费 |
能力开放
游戏加速器厂商提供加速器终端产品同时,还提供开放能力供游戏集成,这样游戏自身具备网络加速能力。当前迅游、腾讯智营网优提供了能力开放的SDK。
能力开放模型与关键技术
游戏网络加速流量模型为:游戏客户端<->加速网络上车点<->加速网络下车点<->游戏服。
流量劫持
提供网络加速能力开放的厂商,通过提供SDK集成到游戏中,在SDK中劫持客户端流量发送到加速网络上车点,对游戏客户端屏蔽复杂度。
两家SDK都采用了Hook的方式劫持流量,也就是通过Hook游戏所依赖的通信库函数(sendto, recvfrom 等),将游戏流量转发到加速网络。
Hook使用动态库符号表替换技术,具体实现可参考爱奇艺xhook开源库。
使用Hook方式劫持流量,对游戏客户端的效果是客户端不需要修改代码,只需要集成SDK到发布件中即可。
时延探测
时延探测用于选择最优路径,由于网络加速厂商站点、客户端所在位置、服务端所在位置不同,存在加速后时延比不加速大的情况。因此,游戏网络加速厂商需要探测整条路径的时延(游戏客户端<->加速网络上车点<->加速网络下车点<->游戏服)。在客户端已经集成了SDK的前提下,这条路径时延,游戏网络加速厂商需要探测所有可能的加速网络下车点到游戏服之间的时延。
这个时延需要游戏服提供接口,通常做法是类似UDP Echo接口。
迅游SDK
参考 极速手游加速SDK快速指入指南+极速手游加速器SDK参考文档 。此文档目录如下。
一、 概述 2
二、 接入 2
1. 建议接入流程 2
2. SDK资源及位置: 2
(a). SuBaoGameMasterSDK.jar 3
(b). libgamemaster.so 3
3. 游戏GUID 3
4. 使用SDK的应用所需权限 3
5. 使用SDK自定义权限 3
6. 动态库白名单 3
三、 API介绍 4
1. 初始化 4
2. 开启加速器引擎 5
3. 关闭加速器引擎 5
4. 告知加速引擎:游戏服务器IP(TCP协议专用) 5
5. 获取最近一次UDP通讯的加速状态(UDP协议专用) 5
6. 设置UDP ECHO服务端口(UDP协议专用) 5
7. 获取当前网络连接的类型(2G、3G、4G、WiFi还是断网) 6
8. 判断加速节点测速状态 6
9. 通知加速引擎:游戏目前在前台 7
10. 通知加速引擎:游戏目前切换到后台 7
11. 从加速器引擎获取字符型数据 7
12. 为加速器引擎设置字符串类属性 7
13. 从加速器引擎获取整型数据 7
14. 为加速器引擎设置整型属性 7
15. 从加速器引擎的消息队列中获取实时事件 8
(a). 网络时延 8
(b). 断线重连 8
(c). 网络切换 8
四、 常量定义 9
1. 获取相关信息的Key 9
2. 设置相关参数的Key 9
五、 注意事项 9
1. 服务端流量 9
2. 会造成一些短连接情况 10
六、 流程简述 10
七、 Unity3D引擎注意事项 10
八、 QA 11
1. 极速手游加速器有多少加速节点? 11
2. 为什么不用修改游戏网络层逻辑,就可实现网络加速? 11
3. 如何保证加速效果? 11
4. 为什么测试加速效果不理想 11
智营网优SDK
腾讯智营网优的技术原理与迅游类似,游戏集成SDK实现网络加速的业务流程如下。

详细参考腾讯智营网优SDK文档