絕地求生這類遊戲伺服器怎麼同步資料的?

時間 2021-06-05 05:18:55

1樓:gavind

參見虛幻引擎Delicate Server的原始碼吧

首先是按距離排序,只同步指定距離內的單位,在同步時也有很多判斷,做增量同步,沒有變化的單位或者屬性不同步,另外同步頻率根據單位型別不同也是變化的

虛幻這套東西在伺服器上開銷都是很大的,不過現在的遊戲都比較傾向於以玩法優先,與其在為了效能做過多讓步,不如在架構上對平行擴容進行良好的支援,通過加機器來解決負載,絕地求生這種單局類遊戲天然就是很容易平行擴容的遊戲

2樓:9chu

我對這個問題也很感興趣,下面是一些可以推測出來的行為。

首先,根據目前的一些外掛程式的行為特徵(一拳打爆飛機所有人/跑的比車快/拉扯其他玩家進行擊殺等),吃雞大概在服務端沒有跑完整遊戲邏輯,單純做了中轉,或者有限的資料校驗。

其次,因為是UE4開發的遊戲,同步這塊應該是直接用了UE4提供的功能。傳輸上用的UDP,同步上應該類似於Quake/CS等遊戲中所用的快照插值技術,然後根據視野做剔除(所以網路不佳時附近人多會變卡是有根據的)。

最後可以參考下某過氣同型別遊戲的做法: 服務端權威,客戶端廣播移動資料報給附近玩家,載具以某一玩家為權威進行管理。

至於問題中提到的流彈,限制射程上限就好了。

遊戲伺服器怎麼選?

磐石雲 1 伺服器CPU的挑選 網頁遊戲伺服器每天接受至少幾百 至多上千萬的訪問量,對CPU的快速吞吐量 穩定性 長時間執行都有著嚴格的要求,因而伺服器CPU是衡量伺服器效能的首要指標。可以根據遊戲的客戶量來進行選擇,當然,也可以前期選擇較低配置,當然不能太低,否則影響玩家的體驗。遊戲使用者量增加之...

遊戲伺服器運維疑惑?

批量伺服器管理方面,可以用ansible 建議學一下python,用於運維工具開發 乙個管理伺服器配置資訊的後台,可以讓會PHP的人開發,當然用python也可以 乙個儲存伺服器配置資訊的cmdb 運維工具通過cmdb獲取遊戲伺服器資訊 IP 埠 然後呼叫ansible的介面。 1 必須要有cmdb...

遊戲《絕地求生 大逃殺》將伺服器改為微軟 Azure 會對玩家體驗有什麼影響?

瀨戶口雛 電信聯通的福音,到azure香港服 亞服 是直連,玩日韓服到azure南韓 首爾釜山 日本 東京大阪 繞香港去南韓,穩定在70 90ms。雖然不如直連延遲低,但是大陸到日韓基本上是白天40ms 晚上200ms,穩定多了 玩東南亞服到azure新加坡也是繞香港到新加坡,跟上面同理,大陸到新加...