Fusion 2 Choose a Topology
選擇合適的網路拓撲
Fusion 透過相同的 API 支援三種根本不同的網路拓撲,這些拓撲會影響網路通訊、託管需求、成本以及可用功能。同時也支援無網路連接的單人模式。
開始使用 Fusion 時,第一步是選擇要使用的模式。
Quadrant 為決定哪種模式適合您的應用程式提供了良好的起點。對於大多數類型的遊戲,都有推薦的模式。在Quadrant中,我們按照模式對遊戲類型和熱門遊戲進行了分類,以提供指導。有些遊戲類型適合多種模式,在某些情況下,我們建議使用Quantum而非 Fusion。
Quadrant對比
Quadrant中顯示了四個選項:
- Fusion - 專用伺服器(Dedicated Server)
- Fusion - 用戶端主機(Client Host)
- Fusion - 共用許可權(Shared Authority)
- Quantum
這些選項從以下幾個方面進行對比:
- 建議的遊戲類型:哪些類型的遊戲適合此解決方案?
- 防作弊能力:玩家作弊的難易程度如何?
- 伺服器複雜度:為此解決方案設置線上功能的複雜程度如何?
- 行動裝置適用性:此解決方案在行動遊戲和應用程式中的運行情況如何?
- 成本效益:此解決方案的費用高低如何?
每個項目都有其自身需求,因此了解 Photon 提供的這些選擇和框架之間的差異非常重要。請注意,本文檔僅聚焦於 Photon Fusion,若您想了解更多有關 Photon Quantum 的資訊,可參閱 此處。
建議的遊戲類型
不同的遊戲類型更適合 Fusion 的不同解決方案。
- Fusion - 專用伺服器:由於其更強大的防作弊功能,擁有大量用戶的競技類遊戲在伺服器模式下運行良好。此外,因為伺服器對遊戲世界擁有狀態許可權,需要持久化的遊戲也很適合此解決方案。
- Fusion - 用戶端主機:由於與主機伺服器的連接更直接,大量使用物理效果的遊戲很適合此解決方案。此外,每個遊戲環節玩家數量較少(2-4 人)的遊戲也適合。當開發者優先考慮便利性而非防作弊,且不願意管理專用伺服器時,玩家主機託管的遊戲是理想選擇,這樣能降低整體成本。
- Fusion - 共用:此解決方案適合更休閒的遊戲或玩家眾多的遊戲,尤其是玩家進出頻繁的應用程式,因為這種情況不會中斷遊戲體驗。
請注意,Fusion 的各種解決方案在建議的遊戲類型上存在一定重疊,因此深入了解每種解決方案之間的差異,判斷其是否最適合正在開發的遊戲至關重要。
防作弊能力
作弊玩家若不加以約束,很容易破壞其他玩家的體驗,這是線上遊戲中一個不幸的現實。在防作弊方面,Fusion 的各種解決方案預設具有不同級別的防護:
- Fusion - 專用伺服器:防作弊能力強,因為專用伺服器對遊戲擁有狀態許可權。如果玩家試圖作弊,伺服器可以進行驗證,並阻止或應對試圖作弊的用戶端。在遊戲玩法中使用
NetworkInput和NetworkedProperties時,影響遊戲狀態的作弊行為(如速度外掛或通過記憶體修改變數)是不可能實現的。在設計良好的伺服器模式遊戲中,可能存在的作弊行為只有瞄準外掛(由程式而非用戶提供輸入)或透視外掛(可通過物件關聯設定加以限制)。 - Fusion - 用戶端主機:由於主機玩家同時充當伺服器,對其他用戶端的防作弊保護與上述相同,但主機除外。主機用戶端可以作弊,修改任何數值,並能獲取全部資訊。
- Fusion - 共用:由於玩家對自己控制的物件擁有狀態許可權,如果不採取額外預防措施,就可能發生作弊行為。這包括將任何
NetworkedProperty修改為任意值,或隨時傳送RPCs等。
伺服器複雜度
從這個角度對比 Fusion 的三種解決方案,使用 Photon Fusion 的專用伺服器確實是唯一獨特的解決方案。設置專用伺服器需要在使用者內部管理的伺服器或第三方伺服器託管解決方案上執行遊戲的無頭伺服器版本,這需要更多的設置工作,且運營成本高得多。
行動裝置適用性
具有線上多人功能的行動遊戲很受歡迎,但由於行動裝置的性能有限且使用無線連接,開發這類遊戲存在挑戰。
- Fusion - 共用:行動裝置的推薦模式。由於 Fusion 的性能和速度,共用模式運行良好,因為其連接是指向雲端而非直接連接到其他玩家。共用模式也是唯一不需要運行重新模擬的模式,這在許多情況下降低了 CPU 使用率。
- Fusion - 專用伺服器:由於需要額外的第三方伺服器託管成本,運營費用較高。僅推薦用於高 ARPU(每用戶平均收入)的行動遊戲。
- Fusion - 用戶端主機:除特殊情況外,不建議在行動裝置上使用主機模式。因為其中一名玩家同時充當伺服器,網路連接不佳會使這種解決方案在行動裝置上難以穩定運行。行動遊戲的玩家退出率也最高,當主機退出遊戲時,需要一段時間遷移到新主機,從而中斷遊戲。在行動裝置上,NAT 穿透的成功率低於其他平台(行動網路不支援此功能),這導致許多連接需要通過雲端中轉,從而增加額外延遲。
WebGL構建
我們強烈 推薦在 WebGL 上使用共用模式。
在 WebGL 上使用共用模式比主機 / 伺服器模式提供更好的延遲,因為可以建立與雲端的直接連接。CPU 使用率也低得多,這一點很重要,因為 WebGL 僅在單一執行緒上運行。
不建議使用伺服器和主機模式,且預設是禁用的。
雖然從技術上講,用戶可以在 WebGL 構建中充當伺服器(無論是通過專用伺服器還是用戶端主機拓撲),但由於性能和網路限制,不推薦這樣做。通常,WebGL 在單一執行緒上運行,當頁面不在焦點(後台標籤)時,該執行緒會暫停。這對個別玩家而言沒什麼問題,但暫停一個遊戲環節的伺服器會影響該比賽中的所有玩家。此外,如果 WebGL 構建充當伺服器,它將始終使用中轉連接,因為 WebGL 構建不支援直接連接。
要在 WebGL 上啟用伺服器 / 主機模式,請在NetworkProjectConfig中將「Enable ClientServer Modes in WebGL builds」切換為 true。
成本效益
使用 Photon 解決方案的成本由兩個因素構成:併發用戶數(CCU)和頻寬。所有三種 Fusion 解決方案的 CCU 費用相同。頻寬成本取決於用戶透過網路傳送的資訊量。使用共用模式或帶有中轉伺服器的主機模式時,頻寬使用量是需要考慮的重要因素,不過經過良好最佳化的 Fusion 遊戲應該不會達到免費頻寬限制。使用伺服器模式時,頻寬定價更多取決於第三方伺服器提供商。您可以在此處閱讀有關 Fusion 定價的詳細資訊。
網路拓撲
進一步了解 Fusion 的專用伺服器、用戶端主機和共用許可權網路拓撲
接下來學習什麼?
介紹
Fusion 文檔的開篇是 介紹。
教程
您可以從教程開始學習。專用伺服器和用戶端主機採用相同的編程方法,因此由同一個教程涵蓋:
網路拓撲
進一步了解 Fusion 的專用伺服器、用戶端主機和共用許可權網路拓撲
Back to top