您現(xiàn)在的位置:首頁 >關(guān)于我們 >行業(yè)新聞 >游戲服務(wù)器與普通服務(wù)器有何區(qū)別
游戲服務(wù)器與普通服務(wù)器有何區(qū)別
時間:2016年5月24日
游戲服務(wù)器是玩家玩游戲的主要場所,它里面裝載著所有用戶的登錄、等級、裝備等數(shù)據(jù)信息.根據(jù)天運科技有限公司服務(wù)器開發(fā)經(jīng)驗而言:與普通的服務(wù)器性比較,游戲服務(wù)器比一般的服務(wù)器要保存更多的狀態(tài),且每一個用戶都是獨立存在的.具體區(qū)別如下:
首先,游戲服務(wù)器與普通服務(wù)器相比較來說,游戲服務(wù)器能保存更多的用戶的狀態(tài).用戶的等級等屬性必用說,一般的IM服務(wù)也會有,還有一些馬上就會變化的數(shù)據(jù),比如某個玩家的生命值,發(fā)技能前后的法力值等等,這些值區(qū)別于一般的屬性值如名字,ID這些的差異在于,會經(jīng)常性的變化,還會參與到邏輯的計算中,比如你一個多少等級的玩家吃了什么東西之后戰(zhàn)力值變化為多少,打在一個多少屬性的玩家身上會不會被他閃避,會不會產(chǎn)生暴擊...諸如此類的信息,在游戲服務(wù)器中皆會一一保存.
其次,游戲服務(wù)器中每一個用戶都是獨立存在的,每一個用戶的數(shù)據(jù)、請求等都是獨立的,用戶彼此間的數(shù)據(jù)并沒有任何交互.這也是游戲服務(wù)器與普通服務(wù)器之間最大的區(qū)別.至于客戶端之間會有交互這一點,舉最簡單的例子,一個人在一個場景里面說了一句話,那么同一個屏幕的玩家也需要能夠看到他說的這句話.此時游戲服務(wù)器就需要判斷,多遠的距離以內(nèi)的玩家,會認定為是"同屏幕"的玩家,需要向這些玩家廣播這個玩家說的這句話.
這個廣播就比較麻煩了.首先,計算哪些玩家在"同屏幕",就是我們在第一點提到的玩家身上某些經(jīng)常變化的屬性需要做的運算,在這里需要根據(jù)玩家的坐標,找出來跟在同屏幕的玩家,用到的是AOI的概念.另外,找到了這些需要接收這個消息的玩家之后,將消息轉(zhuǎn)發(fā)給它們又是一個IO密集的操作,假如場景中有10個人,那么一句話就需要同時廣播給另外9個人,假如有100人,1000人呢,量就更大了.所以同樣的一個硬件配置的服務(wù)器,可能跑Nginx可以同時處理上萬的鏈接,但是對于一個游戲服務(wù)器就只有1,2千了,就是因為游戲服務(wù)器是一個CPU密集而且IO密集的服務(wù)器類型.
此外,游戲服務(wù)器需要更好的數(shù)據(jù)承載能力和處理能力.而普通服務(wù)器則在各個方面都比較均衡.在尋找游戲服務(wù)器租用商的時候,一定要選擇那種cpu性能非常出色的.普通服務(wù)器的則不需要那么強的能力.海騰數(shù)據(jù)中心服務(wù)器托管