作者簡介:裵鉉稷,韓國Nettention公司首席執(zhí)行官,畢業(yè)于韓國延世大學計算機工程與科學專業(yè),自1995年開始在職于游戲公司,開發(fā)項目主要有《兔子和烏龜3D》、《Menticide拳擊游戲》、《奧茲世界》、《Blitz1941》、Game Programming Gemstone5,7、ProudNet等。其所開發(fā)的游戲服務器引擎ProudNet是韓國唯一一個自主研發(fā)的游戲服務器引擎,并且已在很多游戲項目中運用。使用ProudNet的主要游戲有:《洛奇英雄傳》、《魔界村Online》、《頹廢之心》、《Moon Wolf》、《S4超特攻聯(lián)盟》、《仙境傳說2》等。
第一部:游戲服務器的定義
在線游戲當中,如果有‘在線’則一定會跟隨‘游戲服務器’。但關于游戲服務器卻并沒有什么較好的評價,在致歉文中最常見的單詞也是‘服務器’。游戲進行不暢時也會經常說是‘服務器不穩(wěn)定’,如果存在卡殼現(xiàn)象首先責怪的也必定會是服務器。那現(xiàn)在就開始了解一下這個話題多毛病也多的,但又具有重量及存在感的服務器吧!什么是游戲服務器? 我們可以大致將服務器分類為‘主機(Host)游戲服務器’和‘專用(Dedicated)游戲服務器’。 主機游戲服務器是指,在購買一個游戲后直接運行游戲中的游戲服務器并與他人一起進行游戲的程序。在Package游戲當中可以看見這種游戲服務器。 而在專用服務器,游戲玩家無法直接在自己的電腦上運行服務器,而是由游戲制作商運行游戲服務器。專用服務器可以承載比主機服務器更多的同時在線人數(shù),少至數(shù)十名多至數(shù)百萬名可以同時進行游戲。游戲制作商保留專用服務器,因此無論是在技術上還是在法律上,游戲玩家直接運行游戲服務器是不可能的。 主機游戲服務器只在Package游戲當中,而專用游戲服務器是在在線游戲當中。筆者在此會將專用游戲服務器統(tǒng)稱為游戲服務器。 在Package游戲當中運行的游戲程序主要有輸入,處理游戲Logic,呈現(xiàn)三種作用。輸入是指用戶利用鼠標或鍵盤將命令輸入到電腦上的行為。處理游戲Logic是指模擬電腦當中發(fā)生的游戲空間環(huán)境的行為。呈現(xiàn)是指將游戲空間及游戲World呈現(xiàn)到畫面和音響上的行為。 如在RPG游戲當中為移動我的魔法師角色在畫面中點擊鼠標右鍵的行為稱為輸入,此時移動魔法師角色被稱為處理游戲Logic,展現(xiàn)魔法師優(yōu)美背影則被稱為呈現(xiàn)。 即只要有一臺電腦便可以進行游戲是Package游戲的特點。
但如果要進行在線游戲則需要首先下載并安裝‘游戲客戶端’,但只有客戶端也不能直接進行游戲,電腦首先要聯(lián)網(wǎng),之后還要連接到游戲服務器。 ‘在線游戲’不會只有一人進行游戲,它需要與連接到網(wǎng)絡的其他玩家一同冒險一同競爭,所以我們稱其為多人游戲。但如果要與他人進行游戲則在中間需要有一個管理游戲進程的程序,這便是‘游戲服務器’。 如果在Package游戲當中是由一臺電腦處理輸入,處理游戲Logic,呈現(xiàn)功能,那么在在線游戲當中其功能被分割為服務器和客戶端。游戲客戶端負責輸入和呈現(xiàn),游戲服務器負責處理游戲Logic的一部分功能。這也是沒有連接游戲服務器便無法進行游戲的原因。 即,在線游戲當中游戲服務器所發(fā)揮的作用就如同我們的大腦,雖在表面上看不出來,但如果沒有服務器就等于是死。
在線游戲與Package游戲不同,幾乎沒有非法復制的可能性,其原因之一便是如果沒有游戲服務器游戲將無法運行。反之,如果游戲服務器一旦被公開,那在線游戲也會與Package游戲一樣,非法復制會變得非常簡單。游戲開發(fā)商之所以將游戲服務器視為1級保安部分也在于此。 Package游戲即便死機也只有玩家一人會感到激憤,但如果游戲服務器一旦出現(xiàn)死機現(xiàn)象則會有全世界數(shù)千數(shù)萬的玩家同時感到激憤。因此在游戲服務器中最重要的第一是穩(wěn)定,第二也是穩(wěn)定,第三還是穩(wěn)定。