Regions
Photon Cloud為您提供全球連接,讓您在世界各地進行低延遲遊戲。
客戶端的初始連接會進入Photon名稱伺服器,該伺服器提供可用區域的列表。
每個地區都是完全獨立的,由一個主伺服器(用於匹配)和遊戲伺服器(主持房間)組成。
下面是可用區域的完整列表。
在介面上,您可以定義哪些區域對客戶可用。
可用地區
Photon Cloud在多個地區都有伺服器,分布在世界各地的多個主持中心。
每個Photon Cloud區域都由一個”區域令牌”來標識。
區域標記(或代碼)的字符串是不區分大小寫的。例子:"EU”或”eu”都可以接受,並且指的是同一個歐洲地區。
區域 | 託管在 | 令牌 |
---|---|---|
亞洲 | 新加坡 | asia |
澳大利亞 | 墨爾本 | au |
中國大陸1(查看說明) | 上海 | cn |
歐洲 | 阿姆斯特丹 | eu |
印度 | 欽奈 | in |
香港 | 香港 | hk |
日本 | 東京 | jp |
South Africa | Johannesburg | za |
南美洲 | 聖保羅 | sa |
韓國 | 首爾 | kr |
Turkey | Istanbul | tr |
United Arab Emirates | Dubai | uae |
美國東部 | 華盛頓特區 | us |
美國西部 | 聖何塞 | usw |
USA, South Central | Dallas | ussc |
介面區域過濾
您可以直接從介面上過濾每個應用程式的可用Photon Cloud區域列表。
進入介面,然後點擊所選應用程式的”管理",再點擊”編輯"。
您會發現一個輸入字段,您可以在那裡輸入白名單區域的列表,如下所示:
- 允許的列表應該是一個由分號分隔的地區標記的字符串,例如”eu;us"。
- 地區標記不區分大小寫,並被定義為這裡。
- 未定義或未識別的區域標記將從列表中被忽略。
- 空("")或畸形的字符串(如";;;")表示空列表。
- 空列表意味著所有可用的區域都被允許。
一旦您確認並保存,NameServer將只返回過濾後的區域列表。
因此,客戶應該從該列表中選擇。
考慮到介面的更新可能需要10分鐘。
如何選擇一個地區
美國的用戶如果連接到Photon Cloud美國地區,則延遲最低。簡單。
但是,如果您的用戶來自世界各地,怎麼辦?
您可以
- **a)**讓遊戲客戶端在不同的Photon Cloud地區進行ping,並預先選擇一個有最佳ping的地區,請閱讀我們的how-to
- **b)**將客戶端的構建與地區挂鉤,因此來自不同地區的用戶連接到不同的Photon Cloud地區,或者
- **c)**讓用戶在您的遊戲界面中選擇一個匹配的區域。
另外,您也可以**d)**讓所有用戶連接到同一個區域,如果較高的延遲對您的遊戲來說是可以接受的,例如任何”非實時”遊戲。
所有的Photon Cloud應用程式都可以在所有可用的地區工作,不需要任何額外的費用。
見定價。
Photon Cloud的介面可以讓您監控您的遊戲在各個地區的使用情況,並輕鬆升級或降級您的訂閱計劃。
進入您的介面。
如何以最低的延遲啟動您的遊戲
連接到最近的主伺服器
使用通用的區域主伺服器地址直接連接到主伺服器的做法已被廢棄。 相反的,請使用您所使用的SDK所提供的方法來連接到區域主伺服器!
如果您知道您的客戶端要連接的最近的區域,您可以只通過區域來連接它。
C#
loadBalancingClient.ConnectToRegionMaster("us")
*對於其他平台,請從SDKs列表*鏈接到相應的SDK和API。
SDK會從名稱伺服器中為您獲取請求區域的主伺服器地址(圖中1為“連接到Photon Cloud區域”),然後自動將您連接到所選區域中的主伺服器上(圖中2為“連接到Photon Cloud區域”)。
如何在執行時選擇一個地區
如果您想在執行時選擇地區-例如向玩家顯示可用的地區列表並讓他們選擇-您需要先連接到名稱伺服器。
然後您可以向名稱伺服器查詢當前可用的地區主伺服器地址列表(圖中1為“連接到Photon Cloud區域”)。
雖然我們寫的是”名稱伺服器",但名稱伺服器在地理上對可用區域進行了負載平衡。 這使得請求主伺服器地址的時間盡可能的縮短。
C#客戶端SDKs
C#
loadBalancingClient.ConnectToNameServer()
連接成功後,您會得到可用區域的列表。
C#
loadBalancingClient.OpGetRegions()
有了主伺服器的列表,您現在可以ping所有的伺服器,以找出連接到最低延遲遊戲的最佳區域,或者讓您的玩家選擇一個區域。
當您的客戶端確定了區域後,連接到該區域的主伺服器(圖中2為“連接到Photon Cloud區域”)。
C#
loadBalancingClient.ConnectToRegionMaster("us")
最後,為您的遊戲加入或創建一個房間(圖中3為”客戶端連接到Photon Cloud")。
使用中國大陸地區
Photon名稱伺服器必須是中國本地的,否則防火牆可能會阻止流量。
中國的Photon名稱伺服器是”ns.photonengine.cn"。
與中國大陸以外的客戶連接,很可能不會產生好的結果。
另外,從Photon伺服器連接到中國大陸以外的伺服器(如自定義認証、WebHooks、WebRPCs)可能不可靠。
另外,出於法律原因,您需要為中國單獨構建一個應用程式,我們建議使用一個單獨的AppId。
例如,使用一個編譯條件(由您選擇)來改變AppId和Photon名稱伺服器,取決於構建。
請按照您的客戶端SDK的說明,為中國市場制作一個特殊的版本。