白拍偷拍制服丝袜_巜人妻被下春药按摩91动漫_中文字幕偷乱视频在线观看_中文有码一区_亚洲男人的天堂婷婷色五月_九九九国产片精品无码_午夜亚洲影院_国产精品麻豆成人AV网_久久久国产精品女同_天堂av无码一区二区三在线播放

此說明適用于PUN V2版本,如希望使用V1 版本,請查看這里

關(guān)于如何從PUN V1轉(zhuǎn)移到V2,可以查閱這篇文檔

光子云區(qū)域

Photon Cloud光子云為您提供全球鏈路,讓全球的低延遲游戲成為可能。

客戶端的初始連接轉(zhuǎn)到Photon名稱服務(wù)器,該服務(wù)器提供可用區(qū)域的列表。 通常,客戶端在啟用“最佳區(qū)域”(Best Region)選擇的情況下進(jìn)行連接,這個選項將檢測具有最低ping的區(qū)域并連接到該區(qū)域(請參見下文)。

每個區(qū)域完全彼此分開,并由一個主服務(wù)器(用于配對)和游戲服務(wù)器(支持房間)組成。

連接到光子云區(qū)域
連接到光子云區(qū)域

可用區(qū)域的完整列表如下。 在您賬號的儀表板中,您可以定義客戶端可以使用的區(qū)域。

 最佳區(qū)域的選擇

PUN和Photon Voice依靠Realtime API層來選擇最佳區(qū)域。

C# Realtime API

Photon Realtime可以檢測出最佳連接區(qū)域,并使您能夠持續(xù)使用該區(qū)域。

為了做到這一點,客戶端總是在連接時從名稱服務(wù)器(Name Server)上獲取可用區(qū)域的列表。這是用來獲取最新的區(qū)域列表,并檢查之前保存的最佳區(qū)域(如果有的話)是否仍然可用。

ping服務(wù)器后,結(jié)果被總結(jié)為一個字符串,應(yīng)保存在設(shè)備上供以后使用。該字符串包括當(dāng)前的最佳區(qū)域、其ping值和當(dāng)前的區(qū)域列表。

如果沒有以前的結(jié)果,所有區(qū)域都會被ping,這需要多花一些時間。如果有以前的結(jié)果,客戶端將檢查。

  • 1. 區(qū)域列表是否改變(包括 “以前保存的最佳區(qū)域 “仍然可用的情況)。
  • 2. 如果ping返回值不再是可接受的(>=1.5倍于先前保存的參考值的速度)。

如果這兩種情況發(fā)生,則所有地區(qū)都會被ping,并挑選出一個新的結(jié)果。

這種方式與控制面板中的服務(wù)器端區(qū)域過濾器配合得良好。它使你能夠根據(jù)需要改變玩家可用的地區(qū)列表。

要訪問地區(qū)列表或覆蓋以前的結(jié)果,請參考區(qū)域相關(guān)API。

PUN

當(dāng)你使用PhotonNetwork.ConnectUsingSettings()時,”最佳區(qū)域 “選擇是默認(rèn)進(jìn)行的。

除了自動將結(jié)果保存在玩家的首選項中,此工作流程與實時API中的相同。

最佳區(qū)域是 “粘性 “的。這意味著客戶端通常會在較長的時間內(nèi)使用一個區(qū)域。在隨后的啟動中,它將再次ping這個區(qū)域。PUN使用Unity的PlayerPrefs自動存儲最佳區(qū)域的摘要。

為了方便和調(diào)試的需要,當(dāng)前的 “最佳區(qū)域 “和它的ping值被暴露在Unity編輯器的PhotonServerSettings中。然而,這只對Unity編輯器的Play模式有效,所以與Unity Editor運行在同一臺機(jī)器上的的Build可能會有不同的最佳區(qū)域。

最佳區(qū)域的考量

“最佳區(qū)域 “選項并不是決定性的。由于小的變化或完全相同的ping值,有時它可能是 “隨機(jī) “的。

理論上說,你可能遇到:

  • 從同一臺設(shè)備上對多個區(qū)域有完全相同的ping值。所以最佳區(qū)域結(jié)果是隨機(jī)的,就算網(wǎng)絡(luò)情況未改變,但連接到了不同的區(qū)域。
  • 連接到同一網(wǎng)絡(luò)的不同設(shè)備(或同一設(shè)備的不同次重試)對同一地區(qū)產(chǎn)生了不同的ping值。

例如,在 “us “和 “usw”(或 “ru “和 “rue”)的情況下,你可以利用在線區(qū)域白名單來選擇你想要的區(qū)域并放棄其他區(qū)域,或者直接連接到一個明確的區(qū)域。

開發(fā)區(qū)域(Development Region)

從PUN v2.17開始,增加了一個新的功能,叫做 “開發(fā)區(qū)域”。這是PhotonServerSettings中的一個新設(shè)置。有了這個設(shè)置,所有的開發(fā)構(gòu)建(Builds)將使用相同的區(qū)域,避免了 “最佳區(qū)域 “選擇帶來的初始匹配問題。當(dāng)PhotonServerSettings被創(chuàng)建,并且當(dāng)Unity Editor中的(PlayMode)首次運行中“Dev Region”被設(shè)置,”開發(fā)構(gòu)建 “會自動啟用。

當(dāng)你使用PhotonNetwork.ConnectUsingSettings()進(jìn)行連接時,”開發(fā)區(qū)域 “只在Unity Editor和 “開發(fā)(Development)”構(gòu)建中被使用。你也可以通過刪除該值,在Unity編輯器和 “Development Build “中禁用”Dev Region”。

所以為了避免開發(fā)階段的最佳區(qū)域選擇問題,請確保更新到最新的PUN 2版本。在Unity編輯器中運行一次(進(jìn)入PlayMode并連接)。你可以通過任何一個演示場景中這樣做。這個來自Unity編輯器的第一次連接將設(shè)置 “開發(fā)區(qū)域”,此設(shè)置可以從PhotonServerSettings檢查器中看到。一旦完成,你就可以從設(shè)備上進(jìn)行構(gòu)建(Build)和測試,只需運行一次,就可以保留設(shè)置進(jìn)行新的構(gòu)建。

同時,你會注意到 “Development Build “現(xiàn)在已經(jīng)在Build Settings中啟用,建議在開發(fā)期間保持這個選項。這樣,所有的客戶端(Unity編輯器和構(gòu)建Builds)將連接到同一個 “開發(fā)區(qū)域”。

請留意在進(jìn)入生產(chǎn)階段之前,不要忘記禁用開發(fā)構(gòu)建。

注意:如果一個客戶端從開發(fā)構(gòu)建或從Unity編輯器連接,另一個從非開發(fā)構(gòu)建連接,他們可能連接到兩個不同的區(qū)域

可用區(qū)域

Photon Cloud在多個國家及地區(qū)都有服務(wù)器,分布在全球多個托管中心。

每個Photon Cloud區(qū)域由“region token”標(biāo)識。

要連接到特定區(qū)域,請在AppSettings下PhotonServerSettings中,將其代碼設(shè)置為“Fixed Region”。 如果要使用PhotonNetwork.ConnectToRegion,則需要手動配置網(wǎng)絡(luò)客戶端(主要是AppId和AppVersion),在這種情況下將不使用PhotonServerSettings。

區(qū)域標(biāo)記(或代碼)的字符串不區(qū)分大小寫。 比如:“ EU”或“ eu”都被接受并且指的是同一歐洲地區(qū)。

可用區(qū)域和標(biāo)記列表:

區(qū)域位置Token
亞洲Singaporeasia
澳大利亞Melbourneau
加拿大,東Montrealcae
中國1 Shanghaicn
歐洲Amsterdameu
印度Chennaiin
日本Tokyojp
俄羅斯Moscowru
俄羅斯,東Khabarovskrue
南非Johannesburgza
南美Sao Paulosa
韓國Seoulkr
土耳其Istanbultr
美國,東Washington D.C.us
美國,西San Joséusw
1:中國區(qū)域需要單獨的AppId和訂閱。

儀表板區(qū)域過濾

您可以運行情況下直接從儀表板(Dashboard)過濾每個應(yīng)用程序的可用Photon Cloud區(qū)域列表。

過濾光子云區(qū)域
過濾光子云區(qū)域

轉(zhuǎn)到儀表板,然后單擊“管理”選定的應(yīng)用程序,然后單擊“編輯”。 您將會看到一個輸入字段,您可以在其中輸入白名單區(qū)域列表,如下所示:

  • 允許的列表應(yīng)該是由分號分隔的區(qū)域令牌的字符串。 例如“eu; us”。
  • 區(qū)域令牌不區(qū)分大小寫,并在此文上方所定義。
  • 未定義或無法識別的區(qū)域標(biāo)記將從列表中被忽略。
  • 空(“”)或格式不正確的字符串(例如“;;;”)表示空列表。
  • 空列表意味著所有可用區(qū)域都是允許的。

一旦確認(rèn)并保存,操作GetRegions將只返回已過濾的區(qū)域列表。 因此,客戶端應(yīng)該從列表中選擇。 請注意考慮儀表板更新可能需要10分鐘或以上。

怎樣選擇一個區(qū)域

一般來說,如果連接到光子云某個地區(qū),當(dāng)?shù)貐^(qū)域的用戶擁有最低的延時。

但是如果你有來自世界各地的用戶呢?

你可以:

  • a) 讓游戲客戶端對不同的光子云區(qū)域進(jìn)行ping,并預(yù)先選擇一個有最佳ping返回的區(qū)域,請使用本文所提到的方法。
  • b) 將客戶端的構(gòu)建(Builds)分配給一個地區(qū),讓不同地區(qū)的用戶連接到不同的光子云地區(qū),或:
  • c) 讓用戶自行在你的游戲界面中選擇一個匹配的區(qū)域。

另外,如果你的游戲可以接受較高的延遲,你可以讓所有用戶連接到同一個區(qū)域,例如任何 “非實時”類型游戲。

所有的Photon Cloud應(yīng)用程序都可以在所有可用的地區(qū)工作,不需要任何額外的費用。但不同區(qū)域可能價格不同,國內(nèi)區(qū)域的價格請查看這里

通過Photon Cloud的儀表盤,您可以監(jiān)控您的游戲在各個地區(qū)的使用情況。如果要升級或降級您的訂閱計劃,請聯(lián)系我們

使用中國地區(qū)

首先,您需要一個不同與其他區(qū)域的appID,然后通過我們的在線表單提交您的信息,以便我們可以為您的AppID解鎖國內(nèi)區(qū)域。

其次,國內(nèi)區(qū)域的appid將無法直接從儀表盤(dashboard)中進(jìn)行進(jìn)行直接的進(jìn)行付費升級,如果您需要升級您的國內(nèi)區(qū)域AppID,請通過聯(lián)系我們頁面聯(lián)系客服為您處理。

為了穩(wěn)定和可靠的鏈接,名稱服務(wù)器(NameServer)架設(shè)在本地,否則連接很可能無法穩(wěn)定。 國內(nèi)的NameServer是“ns.photonengine.cn”。

與來自中國大陸以外的客戶端通訊很可能不會產(chǎn)生好的結(jié)果。 此外,從光子服務(wù)器連接到中國大陸以外的服務(wù)器(例如,自定義身份驗證,WebHooks,WebRPC)可能并不可靠。

重要提示:在目前階段,您通過信息中心對應(yīng)用進(jìn)行的更改不會自動反映在中國的應(yīng)用緩存中。如果您有更新請求,請通過電子郵件通知我們。

同樣出于法律原因,您需要為中國單獨構(gòu)建AppId,我們建議使用單獨的AppId。 例如,使用條件編譯(您選擇的)來根據(jù)根據(jù)條件更改您所需要的AppId和Photon NameServer。

按照這些說明為中國市場打造特別版本:

PUN V2

使用 PhotonServerSettings

使用代碼

void ConnectToChina()
{
    PhotonNetwork.PhotonServerSettings.AppSettings.FixedRegion = "cn";
    PhotonNetwork.PhotonServerSettings.AppSettings.UseNameServer = true;
    PhotonNetwork.PhotonServerSettings.AppSettings.AppIdRealtime = "ChinaPUNAppId"; // 替換為您自己的國內(nèi)區(qū)appID
    PhotonNetwork.PhotonServerSettings.AppSettings.Server = "ns.photonengine.cn";
    PhotonNetwork.ConnectUsingSettings();
}

PUN V1

PUN Classic(也叫PUN1)是PUN的最初和第一個主要版本。它現(xiàn)在已經(jīng)被PUN2所取代,PUN2經(jīng)過了重構(gòu)和增強(qiáng)。我們強(qiáng)烈建議用PUN2開始新的項目,如果可能的話,按照我們的 “遷移說明”將現(xiàn)有項目從PUN1遷移到PUN2。PUN Classic將在未來幾個月內(nèi)得到維護(hù)。我們將修復(fù)重要的錯誤并支持新的Unity版本,但新的功能將只添加到PUN2。

設(shè)置區(qū)域

ConnectToBestCloudServer(string gameVersion) 將你的客戶端連接到ping值最低的主服務(wù)器。ping所有光子云主服務(wù)器的結(jié)果會保存在PlayerPrefs中。

使用OverrideBestCloudServer(CloudRegionCode region)來明確設(shè)置另一個區(qū)域為 “最佳 “區(qū)域。

你可以在編輯PhotonServerSettings的過程中設(shè)置該區(qū)域。連接到一個區(qū)域就像調(diào)用PhotonNetwork.ConnectUsingSettings()一樣容易。

關(guān)于使用PUN的其他設(shè)置信息,請參考初始設(shè)置文檔。

可用區(qū)域

要在客戶端的 “連接”方法中傳遞區(qū)域令牌,請調(diào)用PhotonNetwork.ConnectToRegionMaster(regionCode, gameVersion)

區(qū)域選項請參閱區(qū)域列表

儀表板區(qū)域過濾

請參閱上文

同時請參考如何選擇區(qū)域,選擇國內(nèi)區(qū)域

PUN Classic

  • 將AppId設(shè)置為已解鎖中國地區(qū)的應(yīng)用程序。如果你想使用同一個項目并有不同的構(gòu)建(Builds),你可以這樣做:
void Awake()
{
//  請根據(jù)實際情況進(jìn)行修改
#if CHINA
    PhotonNetwork.PhotonServerSettings.AppID = "ChinaPUNAppId"; // TODO: replace with your own AppId
#else
    PhotonNetwork.PhotonServerSettings.AppID = "nonChinaPUNAppId"; // TODO: replace with your own AppId
#endif
}
  • 打開 “NetworkingPeer.cs”文件,設(shè)置NameServerHost為 “ns.photonengine.cn”。
// 請根據(jù)實際情況進(jìn)行修改
#if CHINA
    public const string NameServerHost = "ns.photonengine.cn";
#else
    public const string NameServerHost = "ns.exitgames.com";
#endif
  • 更新CloudRegionCodeCloudRegionFlag枚舉,增加新的 “CN”(或 “cn”)區(qū)域標(biāo)記,如下所示:
public enum CloudRegionCode
{
    // ...
// 請根據(jù)實際情況進(jìn)行修改
#if CHINA
    ///<summary>Chinese Mainland, Guang Dong area, cn</summary>
    cn = 13,
#endif
};
[Flags]
public enum CloudRegionFlag
{
    // ...
// 請根據(jù)實際情況進(jìn)行修改
#if CHINA
    cn = 1 << 12,
#endif
};
  • 使用PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion)連接到中國區(qū)域。
// 請根據(jù)實際情況進(jìn)行修改
#if CHINA
    PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion);
#else
    // 請根據(jù)實際情況進(jìn)行修改
#endif

如需了解光子中國區(qū)云服務(wù),請查看國內(nèi)光子云介紹