欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

游戲服務器是如何處理萬人在線的?

你是一個喜歡玩游戲的人嗎?尤其是多人聯機?你有沒有想過多人游戲如何在游戲服務器的幫助下工作?讓我們從一些見解開始。在大多數情況下,現代在線游戲使用客戶端-服務器模型。在簡單的客戶端-服務器范例中,玩家傳輸輸入,例如,點擊服務器、鼠標移動和按鍵。該服務器更新在游戲世界中你的性格和與合計攜帶你的性格和其他玩家作為響應的更新狀態恢復的狀態。

游戲服務器是如何處理萬人在線的?

多人游戲簡史

在游戲歷史的開始,游戲是點對點的網絡,多臺計算機在一個完全組合的網狀拓撲結構中相互交易信息。這些類型的游戲模型仍然存在于 RTS 游戲中,并且出于某種目的很有趣。因為這是第一種方式——這可能是大多數人認為游戲網絡運作的方式。在下一階段的動作游戲中,點對點鎖步的限制在《毀滅戰士》中越來越明顯,盡管在局域網上玩得很好,但對于普通用戶來說,互聯網上的表現卻很糟糕。

后來,為了領先于 LAN,例如連接良好的大學網絡或大型組織,開發模型是必不可少的。這就是客戶端-服務器模型發布并取代了一些現有的點對點游戲系統的時候。1996 年,這正是 John Carmack 和他的合作伙伴在發布采用客戶端/服務器而不是點對點的 Quake 時所做的。

現在代替每個玩家運行相同的游戲代碼并直接相互交互,每個玩家現在都是一個“客戶端”,他們都只與一個稱為“服務器”的網絡進行通信。游戲不再需要在所有設備上都具有確定性,因為游戲實際上是在服務器上。每個客戶端都作為一個啞終端有效地工作,顯示游戲在服務器上進行時的估計。這是一個很好的行動。游戲實踐的本質現在取決于客戶端和服務器之間的相關性,而不是游戲中的延遲對等點。玩家在游戲中途暫停和恢復也變得可以容忍,并且隨著客戶端/服務器降低每個玩家平均所需的帶寬,玩家數量增加。接下來發生的事情將永遠改變這個行業。以前,問題當然是延遲。后來,開發人員清除并繼續使一切正常工作。

客戶端預測

在最初的 Quake 中,您經歷了計算機和服務器之間的延遲。例如,按向前,您將等待數據包傳輸到服務器并返回給您所需的時間,然后才能真正開始;在另一種情況下,按開火并等待相同的延遲,然后再進行射擊。如果您嘗試過任何現代 FPS,例如“使命召喚”、“現代戰爭”,您會覺得體驗更好,沒有延遲。因此,為了消除延遲,客戶端很快就會處理比以前更多的代碼。它不是向服務器提供輸入并在發回的狀態之間插入的啞終端。相反,它能夠根據您的輸入,在客戶端機器上為您的玩家角色操作游戲代碼的子集,從而部分地和快速地預測您的角色的演變。現在,只要您向前推進,客戶端和服務器之間的往返就沒有停頓——您的角色立即開始向前移動。

多人游戲服務器架構

服務器將具有“垂直掃描速率”,即它頻繁更新玩家信息的速率。最好是匆忙,因為在游戲中每一刻都很重要。通常,需要多次滴答才能為用戶提供實時體驗。打勾表示信息每秒更新的次數。在每個刻度上,客戶端可能會向游戲世界發送玩家的動作、攻擊或任何變化。服務器上運行著一個權威版本的世界。但是使用了各種方法來確保消費者在采取行動之前不會期待另一端。

可能存在確定性動作和非確定性動作。在確定性動作中,服務器可以根據原始數據預測對象的未來狀態。例如,要給出槍聲事件,服務器只需要了解一些主要信息,例如方向和力量。根據此信息,服務器可以指導客戶端如何完成播放。在非確定性回復中,服務器無法預測未來的事件。因此,客戶端希望向服務器發送一致的數據流。獲得輸入數據,執行模擬后,服務器傳輸包含所有客戶端點的正式版本的容器。

模擬代碼使用這些數據流,影響運動并將它們固定到特定的圖形位置。這種模擬可以在服務器和消費者上運行。從編程方面來說,我們想要處理延遲問題。同時需要消息來報告,事情也就過去了。服務器和消費者都必須玩弄時間來處理延遲。

為了在按鍵后為玩家提供即時反饋,客戶端可以預測服務器在獲得玩家輸入后的工作情況并很快執行此操作。然后客戶端將其新位置報告給服務器。為了預測精確的狀態變化,客戶端還必須影響游戲環境。但是,由于延遲,客戶端和服務器可能會變得不合適。服務端可能會頻繁的通知客戶端此時需要進行改進,這會出現在玩家無法操作的動作中。

為了補償同步問題,一個計劃是讓服務器允許在它認為玩家的狀態應該是什么和玩家報告的狀態之間有一定數量的變化。一旦附加上,管理本地玩家的位置變化會很快導致游戲更加穩定。 每個客戶端機器都會向服務器傳輸一個恒定的數據包流,其中每個數據包都包含對玩家輸入的簡單更新。每個刻度,客戶端可能會指定鼠標位置或按下的鍵。這是帶寬不足的流。

模擬代碼使用這些輸入流,模擬運動并將它們固定到角色位置。這種模擬可以在服務器和客戶端上運行。服務器在接收到相關輸入時授予數據包,將使用傳輸模擬游戲位置。在大多數情況下,這將與客戶的假設準確匹配。這些客戶位置僅與移動對象進行比較。所有不變的對象永遠不會更新。

文章鏈接: http://www.qzkangyuan.com/3416.html

文章標題:游戲服務器是如何處理萬人在線的?

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
服務器vps推薦

分組過濾型防火墻

2021-12-27 18:52:03

服務器vps推薦

網站是如何快速提高轉化率的?

2021-12-28 10:49:15

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 河北区| 麦盖提县| 运城市| 开鲁县| 白山市| 巨野县| 金华市| 昌邑市| 永和县| 芮城县| 耒阳市| 宿迁市| 拉萨市| 贺兰县| 山东省| 新宁县| 维西| 固始县| 玛沁县| 长垣县| 河北区| 高碑店市| 盐亭县| 抚宁县| 东乡县| 高要市| 出国| 灵丘县| 白朗县| 博野县| 土默特左旗| 东乌珠穆沁旗| 公安县| 满洲里市| 磴口县| 定安县| 潜山县| 饶河县| 寻甸| 贡嘎县| 沂水县|