Dedicated Servers
概述
Fusion支援使用客戶端-伺服器拓撲開發遊戲。在這種情況下,專用遊戲階段執行個體在主機提供者提供的專用伺服器上運行,玩家透過客戶端連線到該伺服器
利用專用伺服器拓撲涉及幾個部分,包括:
- Fusion Headless組建;
- 在專用伺服器上運行的專用遊戲階段執行個體;
- 您首選主機提供者的專用伺服器機器;
- 帶有Fusion Cloud外掛程式的Photon Cloud;及,
- 將連線到專用遊戲執行個體的客戶端。
主機模式vs伺服器模式
在Fusion中開發具有客戶端-伺服器架構的第一步,是在Host Mode
和Server Mode
之間進行選擇。兩者都提供相同的功能集,就程式碼庫而言,它們的工作方式也完全相同。唯一需要注意的區別是:
- 在
Host Mode
下,「伺服器」將具有狀態授權,玩家將具有輸入授權;而, - 在
Server Mode
下,「伺服器」將具有狀態授權,但 沒有玩家 或輸入授權附加到它。
這意味著開發可以從Host Mode
開始,因為測試更簡單,一旦專案團隊準備好處理在一個或多個專用遊戲伺服器上,運行遊戲階段執行個體所需的伺服器編排方面問題,就可以轉移到Server Mode
。
專用伺服器
要在Server Mode
下運行Fusion,需要一個專用伺服器來託管無周邊遊戲構建。
Fusion環境中有兩種類型的專用伺服器:
- 專用遊戲階段伺服器;及,
- 專用Photon Cloud伺服器。
專用遊戲階段伺服器
主機提供者提供專用的遊戲階段伺服器來託管無周邊遊戲構建。要根據玩家的加入請求來啟動遊戲階段執行個體,需要涉及編排服務(通常也由主機提供者提供)。
專用Photon Cloud伺服器
Photon ENTERPRISE CLOUD訂閱僅在存取只在專用環境中提供的功能和服務時必需。
專用 Photon Cloud 伺服器由Photon提供。要申請一個,需要Enterprise訂閱。專用Photon Cloud伺服器為遊戲需求提供並分配專用的 雲端 資源。
Photon Cloud處理:
- 連線處理;
- 中繼回退;及,
- 伺服器遷移的狀態備份;
此外,企業訂閱還提供:
- 運行Fusion Cloud外掛程式自訂版本的能力(尚不可用);
- 專用IP;
- SLA;
- 24/7 NOC團隊;
- 更多功能。
要在Server Mode
下運行遊戲,需要一個專用的遊戲伺服器以及Photon Fusion Cloud訂閱。
遊戲階段主機提供者
受歡迎的主機提供者包括但不限於:
當然,如果需要,也可以使用自訂解決方案和獨立的Docker執行個體。
遊戲階段執行個體
根據編排服務的請求,遊戲階段執行個體在專用伺服器上啟動。此過程工作獨立於Fusion,並與遊戲階段主機提供者和編排服務自己的系統相關聯。請聯絡他們並閱讀他們關於這一主題的檔案。
建立無周邊組建
Fusion Headless組建支援Unity能夠組建的所有64位元平台。要建立無周邊組建,只需:
- 在Unity編輯器中導航到
File > Build Settings...
。 - 選擇
Target Platform
。 - 確保
Architecture
設定為64位元。 - 按一下
Build
。
遊戲伺服器編排
伺服器編排是指管理Game Servers
的方式;這包括根據需要加強它們,以及根據玩家的要求在它們上建立遊戲階段。因此,伺服器編排服務的主要目的可以概括為一組規則或系統,這些規則或系統將控制玩家加入和玩遊戲的伺服器的可用性。這也將有助於在玩家需求較低時(例如在午夜或白天)透過節省計算能力來盡可能降低成本。
Orchestration Service
負責:
- 存儲
Game Server
組建的副本,以便可以使用它進行部署。 - 管理能夠運行
Game Server
的機器基礎設施。每個提供者使用的模型可能會有所不同,可以是裸機伺服器或虛擬機器,甚至是Docker容器。這裡沒有對錯模型之分,因為它們適合具有不同伺服器環境要求的不同遊戲的需求。 - 提供一個生成和銷毀控制系統,使開發人員能夠選擇部署哪個
Game Server
,在哪裡(通常可以部署在多個地區),以及使用哪些設定(讓其適合玩家)。此系統可以透過API手動管理,也可以透過一組觸發規則自動管理。
從Fusion的角度來看,這一切都是透明的,因為在這個管理級別,它正在處理如何運行執行個體以及在哪裡運行,因此不會直接影響開發。
另一方面,大多數編排和主機提供者利用Game Server
本身的內部整合來提取以下資訊:
- 關於比賽的資訊,例如遊戲模式或地圖;
- 當前玩家數量和最大玩家數量;
- 伺服器健康狀態(例如啟動、準備好供玩家使用、關閉);
- 及更多資訊。
編排系統使用這些資訊,以了解哪些伺服器可用於加入,哪些伺服器可以回收,並建立隨時間變化的統計資料,例如在一天中有更多活躍玩家的時期內,某些地區將增加的伺服器數量。
Fusion SDK提供了所有資訊和方法,輕鬆公開它們,以方便與每個提供者的SDK整合。
Back to top