困扰玩家多年的炸服问题,是怎么被云计算逐步解决的?
来源:游研社
“服务器又炸了。”
从PC端游时代到移动手游,玩家手中的设备换了又换,流行的游戏类型也千差万别,但唯独“服务器”三个字,可能是玩家口中亘古不变的话题——或者问题。
对任何玩过网络游戏的玩家来说,自身经历的游戏体验,很难不和服务器挂钩。
九城时代的《魔兽世界》,就曾诞生过“服务器被修空调的偷走了”这样流传千古的名梗。岁月荏苒,即便换了运营商,到了暗影界和怀旧服的时代,进服务器排队和战场LAG,依然是WOW社区中经久不衰的日经话题。
而到了移动游戏的地界,服务器问题更不必多说。无数手游都经历过“开服卡”事件,不同社区里的玩家也都熟知“拿出XXX补偿,我就当无事发生过”的诉求套路。
但可能普通玩家很少会去想:为什么服务器无法继续提供服务了?
在运营商用小精灵或者偷空调的搪塞过去、给上一点补偿的背后,是技术人员与服务器问题斗争波澜壮阔的历史。
1
虽然服务器对大众玩家来说似乎是一个神秘的“技术黑箱”,但从结构角度而言,服务器其实也没那么复杂——它和我们用来玩游戏的PC在架构上并没有太大的不同,都是CPU内存硬盘风扇电源拼起来的。
无非PC服务的是玩家一个人,而服务器面向的是成千上万的用户,对处理能力和可靠性有着更高的要求。
这就给服务器带来了很多可直观理解的问题:短期内的海量访问,会让服务器被热情洋溢的用户吞没(比如微博突然爆出什么重大明星八卦之后炸了);一个游戏随着口碑增长积累的玩家数量越来越多,现有的服务器性能逐渐跟不上,但传统的服务器扩容却并非一朝一夕就能够快速完成,进而影响了玩家的网络体验。
在端游时代,一些常见的运营方式会自然而然地带来各种服务器问题。
例如客户端MMORPG常会用向在线玩家赠送道具或是限时定点活动的方式,鼓励玩家在某个时间点保持在线或是去往某个区域。
这种做法会给服务器内部带来巨大的流量压力,技术人员就要评估游戏能不能扛住,想尽各种方式去压低流量的峰值。
在PC端游占据主流的时期,游戏往往具备比较长的生命周期(通常以年为单位),给了厂商积累长期经验的机会,能慢慢建设好自己的数据中心。
但到了移动互联网时代,手游的迭代只能用“高频”来形容,一个游戏从上线到关服,很多时候只是几个月乃至几个星期的工夫,对服务器的要求更加灵活和弹性,催生了更多的问题。
就拿最常见的“开服卡”问题来说吧。
一般来说,新开服是一个游戏负载最大的时候,同时在线人数也最多。
如果游戏厂商一次性准备过多的服务器资源,耗费的成本就会极大提升,用户高峰一旦退去,剩下的余裕就是纯纯的浪费。但如果资源准备不足,慕名而来的玩家大半进不来游戏,就会对口碑产生致命的打击。
除此以外,不同类型的游戏有着不同玩法场景,玩家体验的关键点不同,对服务器的技术和架构产生了大量差异化的需求。
像一些卡牌游戏和放置类游戏对即时响应的要求比较低,很多操作甚至是异步计算的,常规的集中部署服务器就可以解决。
但是像MOBA或者FPS这种游戏类型,对响应速度和玩家状态同步有着更强的要求,计算、网络的性能门槛更高。比如射击游戏需要更快的帧同步,玩家需要就近接入服务器,甚至有时候还要GPU去进行实时的对战录制(这个过程显然没办法在本地完成),给游戏厂商带来了显著的运维复杂度。
在移动互联网时代,对游戏行业里为数众多的新生中小开发商而言,不可能像端游厂商一样从零开始积累服务器运维的经验,自行建设数据中心。所幸,云计算的出现,解决了大量游戏团队面临的基础IT设施难题。
2
一家游戏公司在针对项目做IT资源采购的时候,存在很大的不确定性,往往是有一个上线情况的预估,比如开服当前100万DAU,20万 PCU(同时在线玩家),通常是基于性能压测来评估资源用量。但因为游戏的生命周期的不确定,游戏经营的不确定,所以从准备、开服上线,到日常运营,整体的资源水位通常波动较大。这里面痛苦的地方就在于:资源准备过多,成本就提升,用户高峰退去之后还造成浪费;如果资源准备不足,业务就会受损,用户体验无法保障。
在传统端游时代,厂商自建数据中心是一直以来的惯性思维。游戏需要自己配置服务器、建立机房、聘请运维人员……这也让大型多人游戏的开发不可避免地中心化。
而移动互联网时代,云计算服务商的出现彻底解决了这个困境:所有的计算和网络服务都在“云端”,不仅节省了本地租机房、买服务器的成本,还能基于云计算的稳定高可用、快速扩容、免运维等等特点大幅提升游戏研发效率、节省开支,开发者可以把有限的技术资源更专注于游戏业务本身。
例如国内用户较为熟悉、目前全球排名前三的云计算厂商——阿里云,从央国企到政务系统,从大公司到“小作坊”,乃至个人的服务器需求,到处都有它的身影。如果没有云计算的存在,很多移动互联网时代的游戏企业,在草创之初的路程可能会艰难很多。
比如成立于2017年的鹰角网络,最初只有50多个员工,相比同期其他大公司,当时显然可以称之为“小作坊”。虽然有着专业的二次元游戏制作团队,但作为草创的企业,鹰角在IT基础设施和运维技术上并没有太多积累。
放在端游时代,这样的“偏科”多半会导致宕机之类的严重问题。但在云计算时代,《明日方舟》选择了all in 云服务,游戏依赖的基础资源(弹性计算、存储和网络)、数据库等都是基于云平台提供的——《明日方舟》上线仅半个月,注册用户就超过500万,超乎了大多数玩家,包括鹰角发行团队的想象。而正是因为选择了云,《明日方舟》通过云服务器的弹性扩容,顺利渡过了业务高峰的流量冲击。
鹰角的技术负责人袁理也曾表示,阿里云团队在方舟服务器全面上云和游戏发布后的重要阶段提供了大量关键的帮助,一同克服了很多难题。
无独有偶,米哈游在2012年《崩坏学园》(也就是崩坏1)上线的时候,采用的是阿里云的两台云服务器,当时阿里云也只是起步不久、产品还处于打磨阶段。但双方在长期合作下实现了“共同成长”——怎么抵挡黑客的DDoS攻击、怎么让玩家有更好的联机体验……
到《原神》上线前,这个现象级产品面对数千万级玩家、多平台、全球同步公测的挑战。通过米哈游和阿里云研发团队的通力协作,《原神》实现了一套架构、全球多地部署,在开服到日活千万,始终保持给玩家提供稳定、高质量的游戏体验。
简单来讲,相较自建数据中心、分区域上线、多版本运维的方式,《原神》只需要搭建一套架构,资源和服务层的依赖都交给云平台。《原神》上线期间,在米哈游的上海总部,特别给阿里云工程师专门留了一间会议室,这个会议室的名字叫:提瓦特。
这就是云计算带来的技术革命:企业级的高规格云服务器、全引擎云数据库、CDN节点加速和DDoS高防IP支持……这些对游戏开发来说以往是“护城河”的卡点,现在只需要交由云服务商即可。
云的便利,让即便是完美世界这样的老牌端游时代厂商也在逐渐上云,或是让自建服务器和云端“混合双打”,DOTA2和CS:GO的国服使用的是阿里云的神龙服务器。像CS:GO这种对延迟、刷新率都有极高要求的游戏类型,以往很难保证不同运营商网络上玩家体验的一致性,但自从有了更加强大的公共云资源,玩家们才能在跨网延迟的压力下做到“不卡不丢包”。
云计算的优势是显而易见的:一是成本优势,像阿里云这样的云厂商已经拥有了成熟的覆盖京津冀、长三角、珠三角的数据中心布局;二是供应链能力,云计算可以在短时间内完成几台服务器到数万台服务器的弹性扩容;云厂商对计算性能的挖掘是很积极的,完美世界的轻科幻开放世界手游《幻塔》用的也是阿里云自研的神龙架构,搭载最新的Ice Lake架构的处理器,配合50Gx2物理网络,支持大帧传输,2400万PPS、60万存储IOPS以及超低的网络延时,能发挥出比传统物理机更高的性能。
在游戏进入到多端化时代之后,玩家的游戏场景和使用习惯已经发生了翻天覆地的变化。而支持这个改变发生的幕后助力,就是像云计算这样纯粹的技术手段。
3
时至今日,已经有越来越多的游戏公司倾向于 “上云战略”,让中小开发商避开了“重新发明轮子”,在游戏研发、运维过程中获得云服务商的“托底”。
云计算也在为游戏业提供更多的可能性——当前米哈游等厂商都在借助阿里云来探索云游戏,云游戏之所以能从十数年前的概念变成现实,也正是依赖云计算的GPU服务器、端网协同等能力,解决渲染效率&成本、网络通信延迟等问题。
过去我们可能一直偏向看游戏的3A品质,而忽略了技术难点,像全球同步更新、在线部署运维能力等。全球范围内,也只有中美有这方面的技术积累和基础设施了,都指望着对手肯定不现实,还是要更多依赖伴随国产游戏自身成长起来的技术。
当然,尚且处于襁褓状态的热门概念“元宇宙”,在游戏中的应用还处于起步阶段,更实际的体验、更多的玩法还需要业界厂商不断地去尝试、探索——显而易见,在这个过程中,云计算会一如既往的提供资源及技术支持,与行业共同成长。