小編的世界 優質文選 主機
字體大小:
2021年7月21日 -
:
十輪網
山東寰信網絡科技有限公司
Google開源新項目Quilkin,這是與遊戲公司Embark Studios合作開發的UDP代理,以支持高性能即時多人遊戲。Quilkin將原本單體式遊戲服務器與客戶端中的安全、訪問控制、遙測和指標分離出來,讓開發者以組合和配置的方式,提供這些通用功能,並在各種多人遊戲中重複使用。
Google解釋,傳統的做法,即時多人遊戲的專用遊戲服務器,使用特別的UDP協議,提供遊戲內玩家間的通信,並且與服務器同步信息,這種通信通常捆綁在單體遊戲服務器和客戶端中,並且結合安全性、控制訪問、物理模擬、人工智能計算等功能。在快節奏的多人遊戲中,遊戲對話的完整模擬,通常發生在單體專用遊戲服務器的內存,由於遊戲狀態都在內存中,因此每個客戶端都直接連接到遊戲服務器,但這帶來幾個問題。
由於專用遊戲服務器都是單點故障,因此故障出現,則整個遊戲對話都會失敗,而這成了惡意攻擊者的攻擊目標,而且連接到遊戲服務器的IP和端口口都是公開的,直接暴露給遊戲客戶端,因此容易讓外部發現而遭到鎖定。另外,遊戲服務器模擬和網絡通信等部分都在同一程序中,難以重用和模塊化,同時增加性能問題風險。
不過這些問題,可以在多人UDP流量中部署代理服務器來解決,包括通過提供冗餘通信入口點,來提升可靠度,讓UDP資料封包同時發送到任意數量的代理,再路由到遊戲服務器,當遊戲服務器出現單點故障的時候,代理能夠改善通信層的冗餘和故障轉移來解決。
增加代理也提升了安全性,遊戲專用服務器的IP和端口口不需要公開,遊戲客戶端只能看到代理池子集,因此限制了潛在的攻擊面,而且使用代理也能獲得足夠的擴展性,通過分解單體程序,將通信協議、指標、通信安全和訪問控制等各功能,轉移到代理中,讓遊戲服務器能夠在運算循環中,刪除非遊戲的運算。
Google提到,目前這些功能,都只有大型遊戲工作室可以采用,因為這些工作室才有資源,構建專屬於自己的技術。而Google與Embark Studios共同創建的Quilkin,提供了標准開源解決方案,讓開發者可用於部署大型多人專用遊戲服務器,獲得安全性、訪問控制、遙測資料和指標等功能。
Quilkin非透明代理設計,讓惡意攻擊者不容易探查遊戲架構的內部狀態,但其提供用戶極高的可見度,有一組搭配使用的處理過濾器,能夠用於監控路由、訪問控制和速率限制等。開發者可以將Quilkin用作獨立的二進制文件,不需要變更客戶端和服務器即可使用,或是也可以當作Rust函數庫,Google提到,使用方式取決於用戶要進行多深的系統集成。