Photon Cloud or Photon Server?
Photon雲端
是一個被完整管理的軟體服務(SaaS)解決方案。
您可以完全專注於您的應用程式客戶端,而我們將負責處理主機端、伺服器操作及縮放等所有事項。
Photon伺服器
是一個內部部署的伺服器應用程式,您可以在您選擇的機器上運行它及以它作為主機端。
完全可客製化,而且授權控制讓您可以自由地設置及設定您自己的多人玩家遊戲後端。
Photon雲端運行在Photon伺服器上。
比較
Photon雲端 | Photon伺服器 | |
---|---|---|
伺服器管理 | 伺服器不再麻煩。 您只需放輕鬆,我們的專家將負責處理伺服器的運行。 |
您獲得針對您的應用程式運行Photon的完整授權。
您運行您自己的伺服器或租用合適的伺服器,並且確保它們可供您的使用者使用。 Photon的記錄及效能計數器提供有關效能及穩定性的所有必要資訊。 |
可縮放性 |
Photon雲端自動縮放以容納您所有的使用者。 您的客戶端應用程式使用我們的SDK,針對高效率的載入平衡工作流程而組建。 |
我們的載入平衡增強在源程式碼中可用。
它是在多個伺服器間縮放的堅實基礎。 您的責任是針對您的顧客來運行正確數量的伺服器。 |
遊戲邏輯 | 有了Photon Realtime、Photon Voice、Photon Chat及PUN,您獲得針對所有多人玩家遊戲類型的周全的解決方案。 各個可用於免費下載的客戶端SDK在源中含有多個範例,以讓您針對同步的及非同步的遊戲及應用程式來使用Photons API快速開始。 | 伺服器的邏輯可以在C#中完整地客製化。 源中提供了多個示範應用程式,並附有免費伺服器SDK,並且為您的應用程式提供了高性能的現成框架。 得益於我們的協定及低級別功能性的抽象,並且新增您可能需要的任何功能。 |
立即開始 | Photon雲端讓您註冊並且立即運行您的應用程式。 不需要設定。 不需要伺服器。 | 下載之後,在5分鐘之內啟動您的Photon伺服器。 Photon非常容易設定,並且在本機和遠端上運行。 |
授權許可 |
在多種訂閱間選擇,選擇匹配您的每月活躍使用者計數的訂閱。 無論您是獨立製作、新創公司或AAA工作室,您將找到一個匹配的方案。 Photon Realtime有一個免費的方案,其針對最多20個CCU。 |
授權許可可以作為一次性購買或訂閱,並且以下載方式來提供。 使用企業授權許可來作為任何數量的伺服器或應用程式的主機端。 Photon伺服器針對最多100個CCU,可用一個免費的授權許可。 |
請參見方案 | 請參見方案 | |
功能 | ||
虛擬應用程式 | ||
名稱伺服器 | ||
已支援產品 | ||
Photon Realtime | ||
PUN | ||
Photon Chat | ||
Photon Voice | ||
Photon Bolt | ||
Photon Quantum | ||
Photon Fusion | ||
驗證提供者 | ||
自訂 | ||
Oculus | ||
Vive | ||
Steam | ||
Xbox | ||
PlayStation | ||
Nintendo |
從v4.0.29.11263開始的重要更改
Photon雲端持續更新修復、強化或加入新功能。
雖然我們試著發佈新的Photon伺服器SDK的版本,來趕上Photon雲端,但是兩者無法總是保持同步。
在這裡,我們列出了從Photon伺服器SDK的v4.0.29.11263版本最新公開發佈以來的, Photon雲端的重要更改。
此外,如果您的目標同時在於Photon雲端及Photon伺服器環境,或是在其間互相切換,這個清單將提供可能破壞您的遊戲的東西。您也可以找到迴避問題的解決方案的建議。
在v4.0.29.11263中缺少的Photon雲端功能
- 當建立房間後,不能更改PlayerTTL及EmptyRoomTTL。它們稍後被新增為廣為人知的房間屬性。
- 不可用「刪除空值屬性」選項(
RoomOptions.DeleteNullProperties
)。帶有空值的屬性將不會在伺服器上被刪除。 - 不可用「廣播屬性更改」選項(
RoomOptions.BroadcastPropsChangeToAll
)。調用設定屬性的客戶端將不會收到屬性更改事件,除非使用了CAS。CAS是一個迴避問題的解決方案,以在Photon雲端及Photon伺服器之間有一致性的行為。 - 在SQL大廳中的取得遊戲清單操作(也稱為「取得自訂房間清單」或「取得房間清單」,請勿與取得房間清單WebRPC或PUN傳統的取得房間清單混淆)不可用。
在v4.0.29.11263中的已知問題
- 如果不是由客戶端或驗證提供者所設定,則伺服器不傳回使用者帳號。該值應該是在伺服器上生成的一個GUID。這可能導致玩家無法加入房間,其錯誤代碼為-2(錯誤訊息:「加入失敗:未設定使用者帳號,checkUserIdOnJoin=true需要一個使用者帳號。」)。作為一個迴避問題的解決方案,如果使用者沒有明確設定,客戶端C# SDK現在發送一個GUID作為使用者帳號。
- 同時,在驗證時,如果驗證提供者沒有設定暱稱,伺服器將傳回一個空值的暱稱,其將覆寫在客戶端上的先前設定的值。作為一個迴避問題的解決方案,您可以在連線後設定一個暱稱。
這個值將用於房間之中,並且在稍後可以被更改(及同步)。 - 伺服器不支援序列化協定版本1.8。如果您嘗試從預設值為1.8的一個客戶端SDK的較新版本來連線到自為主機端的Photon伺服器,則連線將失敗。在C# SDK中,客戶端將從
DisconnectByServerReasonUnknown
中斷連線。一個解決方案是在連線前設定版本為1.6。設定loadBalancingClient.LoadBalancingPeer.SerializationProtocolType
為SerializationProtocol.GpBinaryV16
。在PUN2中,它應該是PhotonNetwork.NetworkingClient.LoadBalancingPeer.SerializationProtocolType
。 - 伺服器允許相同的執行者被多次新增到相同的興趣群,其導致多次接收該執行者發送到該興趣群的相同事件。
- 伺服器不完全支援快速重新加入功能(
ReconnectAndRejoin
),因為它不執行階段權杖。