久久精品成人一区二区三区-久久精品大片-久久精品道一区二区三区-久久精品店-97视频免费在线-97视频免费在线观看

游戲服務器與普通服務器有什么區別?

閱讀:163 2025-08-15 21:08:40

一、游戲服務器、普通APPweb服務器

如果是同等用戶規模,相對來說,游戲服務器的復雜程度要大于普通appweb服務器。當然涉及到特殊算法的服務器另說,比如搜索引擎、頭條人工智能推薦這些除外,在這里只說普通的。

AgAANG8L5lCrBDmvEGFOC5FuzeIrzVql.png

二、游戲服務器類型

游戲服務器根據不同的游戲類型有很大的區別,如王者榮耀之類的MOBA手游,服務器主要由2部分構成,局內戰斗服務器局外系統服務器

局內戰斗服務器程序是游戲專用的,在其他app服務器上幾乎沒有使用場景,在技術方面是有鴻溝的,也就是說你在開發app服務器上使用的技術以及設計思路,是無法轉換為局內戰斗服務器設計思路的,兩者之間存沒有相同點。

二、幀同步和狀態同步

AgAANG8L5lAMWE926E5P0JnV6GXm__Je.png

戰斗服務器需要做到給各個玩家數據同步,也就是說,在一局游戲內,所有玩家的實時狀態都要相互可見。這其中又設計到2種技術,幀同步狀態同步

幀同步服務器不包含游戲邏輯,就是簡單將客戶端發送過來的命令轉發給其他客戶端,比如玩家A執行一個攻擊操作,那么玩家A客戶端會給服務器發送一個攻擊命令,服務器將這個命令同步給局內的其他玩家,至于攻擊一下少多少點血,會不會把人打死,服務器不管,全部由客戶端完成計算判斷,客戶端計算完畢后將結果發送給服務器,服務器再將結果同步給其他玩家,然后客戶端播放表現效果。簡單的說幀同步服務器就是給各個游戲客戶端同步數據,它會不間斷的發,即使局內的玩家什么都不干,傻傻的站在那里,服務器也會發,他的作用就是同步玩家們的狀態,所以說幀同步服務器費流量。

狀態同步服務器和幀同步服務器的區別在于,除了同步玩家狀態的機制相同外,狀態同步服務器包含游戲的運行邏輯,比如玩家之間互相攻擊、技能傷害大小計算,都在服務器上執行,然后再將執行結果同步給客戶端,客戶端只要根據結果播放對應的動畫就可以了。

簡而言之,幀同步服務器和狀態同步服務器的區別就是游戲局內游戲邏輯放在哪兒運行的問題。因為要運行游戲邏輯,狀態同步非常消耗服務器資源,如果代碼寫的爛一點,一臺48G的機器上只能跑10局游戲100個玩家,那么要是同時有10萬玩家在局內,就需要1000臺服務器,這么多服務器,運維管理壓力非常大。因此使用幀同步服務器能有效的減少服務器消耗資源,減少服務器數量。然而有缺點就有優點,因為業務邏輯在客戶端,幀同步服務器很難有效的杜絕外掛問題,斷線重連也相對費勁,用戶體驗差。而狀態同步則不存在這種問題,能有效的杜絕外掛,也能很容易的支持重連進入游戲。所以這兩種技術各有優缺點,選擇哪一種,需要根據實際情況權衡。

四、TCPUDP協議

普通的web服務器或者app服務器十有八九使用基于tcphttp協議,而局內戰斗服務器,普遍使用UDPTCP是可靠傳輸協議,用起來省事,確認機制、丟包重傳、滑動窗口之類機制開銷也大,在極端性能敏感的場景下,裸奔的UDP更加合適,通過UDP實現一個lite版的TCP,是游戲戰斗服務器常規的優化手段。

不過話說回來,看起來局內戰斗服務器實現有很多門道,但是工作量其實非常少,屬于做好一次到處通用, 即使狀態同步,雖然業務邏輯跑在服務器上,但實際功能開發還是客戶端程序員實現,服務器只是提供了一個運行程序的容器,戰斗邏輯的實現不歸服務器管。

再說說局外服務器,這部分和普通的web服務器和app服務器就比較像了,MySqlRedisprotobuf消息隊列分布式框架等等互聯網應用的基礎架構在游戲服務器上也是常規配置,不過有一點明顯的區別是,游戲服務器的數據存儲都是以玩家為單位的,當玩家登錄的時候,程序會將所有玩家的數據,如道具、裝備、任務等所有相關數據從MySql等數據庫中加載到程序內存,之后所有的操作都在內存中進行,之后等到某個適當的時機才會將內存中的數據同步到MySql中。當然,為了保證即使程序掛掉,數據也不丟失,還需要設計許多復雜的機制,這里就不展開了。

web服務器和app服務器則不是這么設計的,因為游戲如果不登錄是不可以玩的,因此我們可以把數據結構設計成以用戶分組的。而webapp即使用戶不登錄,功能依然需要可以使用,功能和用戶不綁定,所以設計的時候也不會把數據以用戶為單位進行組織。不過除了數據組織方式不同外, 其他地方大致都相同,原本是做游戲服務器的,稍微熟悉下就可以去做web或者app服務器,反過來也一樣,互相之間沒有門檻。

不過從技術的角度出發,局外游戲服務器的技術相對與其他互聯網行業是比較落后的,如果你原本是在傳統互聯網行業,轉去做游戲服務器,可能會被雷到,因為他們用的框架一點也不現代化,也許框架的性能還不錯, 但是開發效率極低。這一點和游戲客戶端不一樣,游戲客戶端是脫離傳統互聯網技術的,他們有自己的技術棧,而且實時更新。比如unityunreal引擎出新版本了,他們都會討論的熱火朝天,然后嘗試升級使用,這和互聯網行業的vuereactspring更新一樣,相關程序員都會熱衷與研究。

但是服務器卻沒有這樣的熱點可以追,我在一家公司,這家公司雖然已經生產了幾十個游戲,客戶端引擎也不知道換了多少套,但是服務器程序卻一點沒變,仍舊使用祖宗流傳下來的那套c++框架,里面什么都是手動實現的

比如數據傳輸協議,是自己組裝字節流,發送給另一端,另一端根據事先定義好的規則,一個int,一個bool,一個float的讀取。這對于理解網絡的本質非常有好處,但是顯然在實際應用中,使用protobuf會更好。

當然我也碰到過協議不自己實現而是使用protobuf的,而且使用的是java開發局外服務器,而網絡底層仍舊使用java自帶的NIO,而不是更好的netty

總而言之,傳統的游戲服務器程序不是太喜歡用框架,而是偏向于自己造輪子。這可能跟這個行業大量使用c++有關系,即使有一部分游戲使用java服務器 ,但是開發人員大多也是c++轉過來的,還是以c++一切靠自己的思路在開發,所以很難見到流行的互聯網框架在游戲服務器上使用。

游戲服務器不會只用一種語言開發,也可能是兩種。如果是一種,那大概率是c++。如果是兩種,那大概率是c++加另一種語言。

c++的原因很多,如果要找一種語言,兼顧性能、開發效率、流行度,那肯定是c++。戰斗服務器通常用c++開發,一來是速度夠快;二來戰斗程序通常需要同時在客戶端和服務器上運行,要找一種跨平臺的,還是要c++,比如unity種就可以通過c#調用c++

局外服務器可以不用c++做,用javago甚至php都可以,不過近年來用go好像越來越多了。

最后還有一個人員方面的區別,一個傳統互聯網項目,后端開發人員會多于前端開發人員。而一個游戲項目,客戶端開發人員要比服務器開發人員多,可能一個項目服務器程序員只有3個,而客戶端程序員有10多個。而且客戶端程序員都很忙,而服務器程序員,在開發階段,相對很閑,游戲上線后, 會忙一些。

相關文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感興趣
推薦閱讀 更多>
推薦商標

{{ v.name }}

{{ v.cls }}類

立即購買 聯系客服
国产美女在线观看| 欧美日本国产| 四虎影视久久久免费| 亚欧乱色一区二区三区| 天天色成人| 美女免费精品视频在线观看| 色综合久久手机在线| 精品久久久久久免费影院| 国产激情视频在线观看| 国产a网| 亚洲第一页乱| 成人免费一级毛片在线播放视频| 欧美激情在线精品video| 青青久热| 天天色色网| 欧美国产日韩在线| 青青久热| 精品国产一区二区三区久| 国产激情视频在线观看| 国产伦精品一区二区三区在线观看| 国产精品123| 亚洲天堂免费观看| 九九免费高清在线观看视频| 国产一区二区精品久久91| 精品国产三级a| 日本在线www| 精品久久久久久中文字幕一区| 日韩在线观看视频黄| 99久久精品国产国产毛片| 91麻豆精品国产高清在线| 国产高清在线精品一区二区| 美女免费精品视频在线观看| 九九九在线视频| 天天做日日爱夜夜爽| 国产成人啪精品| 91麻豆精品国产自产在线观看一区| 久久精品免视看国产成人2021| 久久精品免视看国产明星| 亚洲第一页乱| 久久99青青久久99久久| 亚洲女人国产香蕉久久精品 | 香蕉视频三级| 国产网站麻豆精品视频| 国产一区二区精品久久91| 免费毛片播放| 精品久久久久久综合网| 一本高清在线| 欧美电影免费| 可以免费在线看黄的网站| 韩国毛片免费| 精品国产三级a∨在线观看| 韩国三级视频网站| 国产视频久久久| 国产91精品一区二区| 国产高清在线精品一区二区 | 日本特黄特色aaa大片免费| 色综合久久天天综合观看| 精品久久久久久影院免费| 成人高清护士在线播放| 一本高清在线| 99热热久久| 久久99中文字幕| 国产麻豆精品| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产视频一区二区在线观看| 亚洲不卡一区二区三区在线 | 九九九国产| 久久国产精品只做精品| 成人a级高清视频在线观看| 国产精品12| 欧美大片aaaa一级毛片| 国产91丝袜在线播放0| 一a一级片| 国产激情一区二区三区| 日韩av成人| 欧美日本免费| 日韩一级黄色片| 91麻豆tv| 精品久久久久久中文| 韩国毛片 免费| 免费一级生活片| 日韩一级精品视频在线观看| 国产亚洲精品aaa大片| 黄色短视屏| 欧美激情一区二区三区视频| 高清一级片| 韩国毛片 免费| 久久久成人网| 久久精品成人一区二区三区| 国产原创视频在线| 久久精品免视看国产成人2021| 天天色成人| 可以免费看污视频的网站| 天天色色网| 色综合久久天天综合绕观看| 亚洲精品久久玖玖玖玖| 国产91素人搭讪系列天堂| 国产网站在线| 成人免费观看视频| 欧美激情一区二区三区视频高清| 你懂的福利视频| 麻豆系列 在线视频| 日韩免费在线视频| 麻豆系列 在线视频| 日日夜夜婷婷| a级精品九九九大片免费看| 九九久久99| 国产成人精品综合在线| 日韩在线观看视频网站| 国产不卡在线播放| 高清一级片| 欧美一级视| 可以免费看污视频的网站| 国产麻豆精品视频| 国产综合91天堂亚洲国产| 国产91视频网| 精品视频在线看| 国产精品1024永久免费视频| 国产一区二区精品久久91| 国产一区二区福利久久| 久久国产精品只做精品| 国产综合成人观看在线| 成人影院一区二区三区| 欧美1区| 精品视频在线观看免费| 999精品视频在线| 国产高清在线精品一区a| 欧美另类videosbestsex| 麻豆系列国产剧在线观看| 日韩在线观看免费| 国产精品免费久久| 国产视频一区二区三区四区| 日本特黄特黄aaaaa大片| 你懂的在线观看视频| 国产网站麻豆精品视频| 国产视频久久久| 二级片在线观看| 久久精品免视看国产明星| 久草免费资源| 在线观看导航| 国产a视频| 精品视频在线观看一区二区 | 四虎影视精品永久免费网站| 国产高清视频免费观看| 国产福利免费视频| 国产高清在线精品一区a| 人人干人人插| 一级片片| 日韩字幕在线| 久久国产精品自由自在| 国产成人啪精品| 国产激情一区二区三区| 日日夜人人澡人人澡人人看免| 欧美大片一区| 欧美a免费| 精品国产亚一区二区三区| 99热热久久| 国产视频一区在线| 欧美激情影院| 免费国产在线视频| 久久久久久久久综合影视网| 欧美国产日韩一区二区三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 麻豆网站在线免费观看| 韩国三级香港三级日本三级| 91麻豆精品国产高清在线| 久久久久久久网| 成人在激情在线视频| 一级毛片视频播放| 999久久狠狠免费精品| 色综合久久天天综合绕观看| 欧美爱色| 精品国产亚一区二区三区| a级黄色毛片免费播放视频| 精品视频一区二区三区免费| 精品视频一区二区三区免费| 午夜在线影院| 日韩av东京社区男人的天堂| 亚久久伊人精品青青草原2020| 国产精品12| 国产高清在线精品一区二区 | 天天做人人爱夜夜爽2020| 一级女性全黄生活片免费| 亚欧成人乱码一区二区| 色综合久久久久综合体桃花网| 精品视频一区二区三区免费| 日韩中文字幕一区| 尤物视频网站在线观看| 高清一级片| 精品视频免费在线| 韩国三级视频在线观看| 国产视频网站在线观看| 日本伦理网站| 麻豆网站在线免费观看| 日本免费乱理伦片在线观看2018| 久久精品免视看国产明星| 国产精品免费久久| 可以在线看黄的网站| 99久久精品国产免费| 韩国三级视频在线观看|