“服務器又炸了。”
從PC端遊時代到移動手遊,玩家手中的設備換了又換,流行的遊戲類型也千差萬別,但唯獨“服務器”三個字,可能是玩家口中亙古不變的話題——或者問題。
對任何玩過網絡遊戲的玩家來説,自身經歷的遊戲體驗,很難不和服務器掛鈎。
九城時代的《魔獸世界》,就曾誕生過“服務器被修空調的偷走了”這樣流傳千古的名梗。歲月荏苒,即便換了運營商,到了暗影界和懷舊服的時代,進服務器排隊和戰場LAG,依然是WOW社區中經久不衰的日經話題。
而到了移動遊戲的地界,服務器問題更不必多説。無數手遊都經歷過“開服卡”事件,不同社區裏的玩家也都熟知“拿出XXX補償,我就當無事發生過”的訴求套路。
2018年FGO國服的終章炸服事件
但可能普通玩家很少會去想:為什麼服務器無法繼續提供服務了?
在運營商用小精靈或者偷空調的搪塞過去、給上一點補償的背後,是技術人員與服務器問題鬥爭波瀾壯闊的歷史。
1
雖然服務器對大眾玩家來説似乎是一個神秘的“技術黑箱”,但從結構角度而言,服務器其實也沒那麼複雜——它和我們用來玩遊戲的PC在架構上並沒有太大的不同,都是CPU內存硬盤風扇電源拼起來的。
無非PC服務的是玩家一個人,而服務器面向的是成千上萬的用户,對處理能力和可靠性有着更高的要求。
這就給服務器帶來了很多可直觀理解的問題:短期內的海量訪問,會讓服務器被熱情洋溢的用户吞沒(比如微博突然爆出什麼重大明星八卦之後炸了);一個遊戲隨着口碑增長積累的玩家數量越來越多,現有的服務器性能逐漸跟不上,但傳統的服務器擴容卻並非一朝一夕就能夠快速完成,進而影響了玩家的網絡體驗。
在端遊時代,一些常見的運營方式會自然而然地帶來各種服務器問題。
例如客户端MMORPG常會用向在線玩家贈送道具或是限時定點活動的方式,鼓勵玩家在某個時間點保持在線或是去往某個區域。
這種做法會給服務器內部帶來巨大的流量壓力,技術人員就要評估遊戲能不能扛住,想盡各種方式去壓低流量的峯值。
MMORPG活動期常見的人山人海
在PC端遊佔據主流的時期,遊戲往往具備比較長的生命週期(通常以年為單位),給了廠商積累長期經驗的機會,能慢慢建設好自己的數據中心。
但到了移動互聯網時代,手遊的迭代只能用“高頻”來形容,一個遊戲從上線到關服,很多時候只是幾個月乃至幾個星期的工夫,對服務器的要求更加靈活和彈性,催生了更多的問題。
就拿最常見的“開服卡”問題來説吧。
一般來説,新開服是一個遊戲負載最大的時候,同時在線人數也最多。
如果遊戲廠商一次性準備過多的服務器資源,耗費的成本就會極大提升,用户高峯一旦退去,剩下的餘裕就是純純的浪費。但如果資源準備不足,慕名而來的玩家大半進不來遊戲,就會對口碑產生致命的打擊。
除此以外,不同類型的遊戲有着不同玩法場景,玩家體驗的關鍵點不同,對服務器的技術和架構產生了大量差異化的需求。
像一些卡牌遊戲和放置類遊戲對即時響應的要求比較低,很多操作甚至是異步計算的,常規的集中部署服務器就可以解決。
但是像MOBA或者FPS這種遊戲類型,對響應速度和玩家狀態同步有着更強的要求,計算、網絡的性能門檻更高。比如射擊遊戲需要更快的幀同步,玩家需要就近接入服務器,甚至有時候還要GPU去進行實時的對戰錄製(這個過程顯然沒辦法在本地完成),給遊戲廠商帶來了顯著的運維複雜度。
FPS遊戲對Tickrate有着非常高的要求
在移動互聯網時代,對遊戲行業裏為數眾多的新生中小開發商而言,不可能像端遊廠商一樣從零開始積累服務器運維的經驗,自行建設數據中心。所幸,雲計算的出現,解決了大量遊戲團隊面臨的基礎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品質,而忽略了技術難點,像全球同步更新、在線部署運維能力等。全球範圍內,也只有中美有這方面的技術積累和基礎設施了,都指望着對手肯定不現實,還是要更多依賴伴隨國產遊戲自身成長起來的技術。
當然,尚且處於襁褓狀態的熱門概念“元宇宙”,在遊戲中的應用還處於起步階段,更實際的體驗、更多的玩法還需要業界廠商不斷地去嘗試、探索——顯而易見,在這個過程中,雲計算會一如既往的提供資源及技術支持,與行業共同成長。