天涯论坛

 找回密码
 立即注册
搜索
查看: 34|回复: 5

网游云上网络优化办法

[复制链接]

3107

主题

176

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098703
发表于 2024-9-1 00:21:16 | 显示全部楼层 |阅读模式

1. 游戏行业背景

1.1 行业概况

2019全世界数字游戏营收1094亿美元,其中中国市场328亿美元。国内游戏⽤户数6.5亿;移动端(60%)>C端>主机。移动游戏占⽐逐年增⻓已作为绝对的主流。国内机构近3万+,近200上市,Top10:腾讯53%,网易15%,三七,中手游,世纪华通,完美,外链论坛:www.fok120.com畅游、游族、多益,紫龙互娱。

趋势:业务上融合电竞赛事/直播往社交化、多元化发展;技术上经过AR/VR/云游戏等来提高体验。

政策管控:18年起始趋严,文化部管运营备案;广电总局管版号,19年仅有数百个版号。

1.2 业务类型

归类维度:终端、题材、美术风格、玩法、架构终端:端游、⼿游、页游、主机玩法:MMORPG、ACG、MOBA、RTS、FPS、SLG风格:武侠、魔幻、写实、⼆次元架构:分区分服、全区全服、全世界同服

2. 游戏技术特征

2.1 核心技术规律

针对任何网络游戏而⾔,同步是⼀定要处理的核心问题,乃至比游戏玩法规律本身还重要,什么是同步?同步是网络游戏的基本经过网络通讯来保证同屏玩家看到的游戏世界中每一个游戏单位的位置、世界场景、状态属性都要保持⼀致。即:客户端的表现要⼀致,同期客户端与服务端的数据要⼀致。业界重点有两种同步方式。

状态同步

图1

状态同步玩法规律例如战⽃规律)写在服务端,服务端做为规律掌控层,客户做为⼀个表现层,玩家对象数据在服务端生成并守护,客户端中玩家对象的所有动作都会通告到服务端,服务端进⾏规律计算并将结果同步给所有客户端,客户端执行表现(播放动画、特效并修改玩家对象的属性表示),这种方式下,客户端的数据只能由服务端的指令来修改。

优点:安全性极高,防外挂能力强;断线重连⽐较好实现,无非便是全部场景和⼈物所有重新⽣成⼀遍发给半途掉线重连上来的客户端去表现就可

缺点:服务端压力很强(所有动作的计算规律需要在服务端上做),网络交互流量大,实现难度大,研发效率低。(经过分区风服来平行扩展);针对格⽃竞技竞速类,玩家动作、位移、⻆度的切换⾮常频繁且快,需要比较强的同步校验,此时状态同步没法处理

典型游戏:状态同步对网络延迟的需求并不高(玩家表现层是不是⼀致太大关系,只要结果⼀致就行),⼀般RPG游戏在200-300ms的延迟能玩下去,如MMORPG,魔兽世界、天龙八部等。

帧同步

图2

帧同步叫指令同步,玩法规律写在客户端了(例如战斗规律),客户端所有动作生成⼀条指令发给服务端(例如攻击对象B),服务端收到指令后什么不做,直接转发给所有客户端,客户端收到指令后执⾏规律计算并执行表现层(播放动画、特效并修改玩家对象的属性数据)。

优点:服务端压力小(仅仅起到⼀个转发的作⽤),网络流量小,能做到更好的即时反馈及细节反馈的⽤户体验。

缺点:容易外挂,断线重连会⽐较繁琐,需要在客户端重放每⼀条指令。

典型游戏:RTS、moba等即时对战类游戏,对同步性的需求很高,⼀场战斗的人数是确定的。王者荣耀、魔兽争霸3、所有格斗类游戏等。实时性需求非常高,需求RTT少于50ms才可有流畅的体验。

2.2 典型技术架构

分区分服:典型MMORPG

MMORPG 大型多人在线角色装扮,如魔兽世界,剑灵,天龙八部

图3

特点:玩家之间强交互、实时性需求⾼、全⾯的游戏世界系统。

业务流:特征,交付实时性,重点压力在哪⾥(网络、cpu、内存)。数据流:对数据库的拜访规律,压力状况

全区全服:典型MOBA

分少量几个大区、分服对用户不可见;全局对客户不可见,应⽤层按⼀定算法进行分配。

ACG/SNS:休闲竞技类MOBA(Multiplayer online battle arena)匹配开房间类,大逃杀吃鸡类(MOBA+FPS)王者荣耀、绝地求生;堡垒之夜。

特点:休闲竞技类,匹配玩法,需要海量的可匹配玩家,匹配后生成战斗服。

图4

全世界同服:典型SLG

为何要做全世界同服,是⼀个运营需要还是⼀个技术需要?不是所有的游戏类型都适合全世界同服。

特点:游戏对象之间弱交互,实时性需求并不高,300ms内的同步延迟可接受;卡牌,SLG等,如COC:常常有3种架构:

服务端全集中安排,优化接入网络(加速器、DCDN)。全分布式安排,服务端应⽤+数据都分区域安排,做区域间数据同步。服务端应用层分区域安排,数据集中安排经过区域缓存+高速通道(专线方式拜访DB)。

数据⼀致性问题:⼀个玩家断线,缓存数据还未落地,玩家重新登录被判定到另⼀个区域登录了,可能获取不⼀致的角色数据;需要gamesvr判定上一次登录在哪个区域,经过⼀个全局服务去通告对方gamesvr下线玩家并回写数据,而后再预取数据。

图5

2.3 技术痛点及诉求

游戏业务最重点便是需求服务端规律处理的实时性和高并发支撑能力,玩法规律和数据都在⼀个进程是最理想的方式,但常常由于性能容量的限制,⽬前主流都是规律模块拆分、分布式安排同期又要掌控分布式调⽤的链路和次数来掌控延迟的目的;针对运行时数据基本都是在内存进行处理(如共享内存),玩家角色的结算/存档数据以固定周期持久化。

图6

基于以上游戏技术特征分析,总体来讲对游戏对技术层⾯的诉求优先级是:网络>计算>安全>数据库。

在网络方面核心痛点其实便是怎样处理网络延迟、丢包、抖动对玩家卡顿、掉线等体验的破坏,随着服务端技术更新和同屏玩家数量的增多,对游戏服务层的并发拜访、稳定性、⽹络延迟有了越来越高的需求

3. 游戏网络优化

游戏体验的优化是⼀个系统工程,需要多种优化手段联合功效,业界非常多的精力是放在规律层的处理上,纯网络层面的优化只能说是一方面,以下基于云环境的网络优化方法进行阐述。

3.1 游戏单服网络能力

针对状态同步的MMORPG类游戏,每⼀次网络同步的数据是全部游戏世界场景的所有单位的属性、状态、行径判定等数据,同步量大,网络吞吐需求高,以⼀个单服设计容量1万在线的MMORPG游戏来讲一般⼀次网络同步的包体积在512byte上下,单⽤户评定带宽30kbps,则出网卡吞吐、包量能力需要的值:

以上是出公网的网卡的流量,GameServer还存在内网通信的需要因此呢在这种场景⼀般意见选取能⽀持百万级别pps的实例,如:ecs.c6.4xlarge 依托神⻰架构,将网络虚拟化功能卸载到专用硬件,供给了更⾼的网络io承载能力和稳定性。同期意见将网络中断分散给区别的vCPU处理,提高网络PPS和带宽性能。即开启网卡多队列功能:

图7

图8

3.2 玩家接⼊网络加速

这块重点是玩家到游戏服的公网链路上进行加速。

基于加速器优化玩家接入

加速器与游戏是天然相关的两个行业,重点处理玩家与游戏服因理学距离遥远而显现的延迟、丢包等状况对游戏流畅度的影响,这在国内玩家拜访海外游戏服的场景中很平常(例如某些游戏国内禁止发行而国内玩家只能登陆海外服来体验),玩家能够购买各类加速器制品使⽤游戏客户端⾃集成的加速制品来实现链路优化,在云上要构建这⼀层加速其实已然⾮常简单,甚⾄直接利⽤云的架构容易实现⼀个加速器制品

图9

详细流量路径

在上海VPC和⽇本VPC建⽴高速通道实现两地ECS内网互通。在两端地域ECS之间创立隧道协议,GRE或VXLAN,分别绑定本地地域EIP。国内玩家经过公⽹VPN连接到上海上车点ECS,经过隧道接⼝路由到日本落车点ECS。⽇本ECS接收到去往游戏服的数据包从日本本地EIP出去,同期回程路由到隧道接口发给上海ECS。

基于DCDN动态加速页游

针对页游、H5小游戏等制品因为其⾛http协议,轻客户端模式动态规律包括有⼤量静态资源,这类游戏常常是全区全服单地域覆盖全国,网络上的重点痛点是:玩家跨运营商跨地域拜访游戏服,网络传输拥塞的时延、丢包等状况严重影响用户体验,同期客户自动去做动静分离、动态加速等方法需要海量的时间、成本投入。

图10

全站加速(DCDN)经过动静分离、边缘缓存、智能路由、压缩传输等技术,处理跨运营商、网络不稳

定、单线源站、突发流量、网络拥塞等许多原因引起的响应慢、丢包、服务不稳定的问题,提高动静态混合、纯动态站点或App的加速性能和拜访体验;这种比较适合如三七页游、抖⾳小游戏等,其实针对⼀些重度游戏的全局⾮战斗模块、周边系统等能接入DCDN来进行全局加速。

基于CEN加速特定地区玩家

国内地域⼴阔,游戏服虽是尽可能做本地覆盖,但出于成本原因针对有些偏远地区还是覆盖不全,这部分玩家触及跨运营商跨地域的远程拜访游戏服,游戏掉线、卡顿时有发⽣,⽐如针对新疆、⻄藏、宁夏、⻘海等地域,游戏服在安排上基本不会做本地覆盖,倘若拉近游戏服与玩家的距离?⽬前基于阿⾥云有种可行的方法是:SLB+CEN+游戏服(跨地域)。

图11

该⽅案针对POP点、anycast⽀持的地域比较合适,相当于SLB挂载跨地域的ECS(白名单开放),拉近游戏服到用户侧距离。

3.3 全世界同服⽹络构建

这块重点是基于专线的加速方法,在全世界同服游戏类似中,数据传输需要跨运营商、跨多国通信,这对⽹络质量提出更高的需求,当然⽬前能实现真正道理上的全世界同服游戏其实重点还是对即时性体验需求不高的SLG、卡牌等类型,游戏对象之间弱交互,实时性需求并不高。

基于GA全世界加速

GA利⽤阿⾥云全世界传输网络,实现全世界用户就近接入和跨地域安排,减少延迟、抖动、丢包等网络问题的影响,按区域覆盖玩家。

图12

GA为每一个接⼊加速区域的地域分配⼀个加速IP,客户端流量经过加速IP就近从接⼊点进⼊阿⾥云加速网络。进⼊阿⾥云加速网络后,全世界加速能够智能选取路由并⾃动完成网络调度,而后把客户端的网络拜访请求送达至最佳终端节点,避开公网的拥堵,达到减少时延的效果。

基于Anycast EIP 加速

一样全世界同服的场景,Anycast 重点处理多国多地域的跨网通信链路的质量问题,经过单个ip覆盖全世界的加速能力,这大大简化了游戏全局模块的安排问题。

图13

阿⾥云⽬前在全世界各地域安排anycast pop点,覆盖地域/国家经过这些点来就近接⼊,安排在HK的游戏

服只需要⼀个ip,经过Anycast路由协议在多个Anycast POP点发布该ip,pop点经过专线连接安排在阿⾥云VPC的游戏服务。

本文为阿里云原创内容,未经准许不得转载。





上一篇:怎么样优化WiFi信号:网络优化实用指南
下一篇:加强游戏云服务器网络性能的平常办法
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-9-26 21:33:33 | 显示全部楼层
软文发布平台 http://www.fok120.com/
回复

使用道具 举报

3061

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139052
发表于 2024-10-11 17:59:36 | 显示全部楼层
软文发布论坛开幕式圆满成功。 http://www.fok120.com
回复

使用道具 举报

2946

主题

3万

回帖

9997万

积分

论坛元老

Rank: 8Rank: 8

积分
99979427
发表于 2024-10-11 18:50:21 | 显示全部楼层
感谢楼主分享,祝愿外链论坛越办越好!
回复

使用道具 举报

3048

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109040
发表于 2024-10-25 14:52:38 | 显示全部楼层
你的见解独到,让我受益匪浅,非常感谢。
回复

使用道具 举报

3061

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139052
发表于 2024-11-3 13:34:22 | 显示全部楼层
对于这个问题,我有不同的看法...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 06:53 , Processed in 0.141162 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.