PUN Classic (v1)、PUN 2、Boltはメンテナンスモードとなっております。Unity2022についてはPUN 2でサポートいたしますが、新機能が追加されることはありません。お客様のPUNプロジェクトおよびBoltプロジェクトが停止することはなく、将来にわたってパフォーマンス性能が落ちることはありません。 今後の新しいプロジェクトについては、Photon FusionまたはQuantumへ切り替えていただくようよろしくお願いいたします。

リージョン

Photon Cloudを利用すれば、世界中で低レイテンシーのゲームを実行するためのグローバルな接続が可能になります。 これは、様々なリージョンのサーバーをホスティングすることで実現されています。

利用可能なリージョンは、プロジェクトのライフタイムを通じて変更される可能性があるため、クライアントはPhoton ネームサーバーから最新のリージョンリストを取得します。

各リージョンは他のリージョンから完全に分離しており、リージョンはマスターサーバー(マッチメイキング用)とゲームサーバー(ルームのホスティング)から成ります。

Photon Cloud Regions' Connect Flows
Photon Cloudリージョンへの接続

利用可能なリージョンは製品ごとに異なります(Fusion、Quantum、Chat等)。 リージョン許可リストを使用すれば、クライアントがどのリージョンを利用可能かさらに定義することができます。

この製品のリージョンリストを以下に示します。

目次

PUNでリージョンをセットアップ

ConnectToBestCloudServer(string gameVersion) クライアントを、最低pingのマスターサーバーに接続します。 すべてのPhoton Cloudマスターサーバーへのping送信の結果は、PlayerPrefに保存されます。

明示的に別のリージョンを「ベスト」として設定するにはOverrideBestCloudServer(CloudRegionCode region) を使用してください。

リージョンをPhotonServerSettingsアセット編集の一部としてセットアップできます。 リージョンへの接続は、PhotonNetwork.ConnectUsingSettings()を呼び出せば簡単におこなえます。

PUNを使用した追加セットアップは、初期設定ドキュメントを参照してください。

Photon Cloud Regions' Connect Flows
Photon Cloudリージョンへの接続

利用可能なリージョン

Photon Cloudは、複数の地域にサーバーがあり、世界中の複数のホスティングセンターに分散しています。

Photon Cloudの各リージョンは、「リージョントークン」で認識されます。

リージョントークンをクライアントの"Connect"メソッドで渡すには、PhotonNetwork.ConnectToRegionMaster(regionCode, gameVersion)を呼び出します。

利用可能なリージョンとトークンのリスト:

リージョントークン(またはコード)の文字列では、大文字と小文字が区別されません。:「EU」または「eu」のどちらも許容され、どちらも同じヨーロッパリージョンを指します。
リージョンホスティングされている場所トークン
Asiaシンガポールasia
Australiaメルボルンau
Canada, Eastモントリオールcae
中国本土1 (手順を参照してください)上海cn
ヨーロッパアムステルダムeu
インドチェンナイin
日本東京jp
南アフリカヨハネスブルグza
南米サンパウロsa
韓国ソウルkr
トルコイスタンブールtr
アメリカ(東)ワシントンD.C.us
アメリカ(西)サンノゼusw
アメリカ(南中部)ダラスussc
1:中国本土では、個別のAppIdとプランが必要です。

ダッシュボードでのリージョンのフィルタリング

アプリケーションごとに利用可能なPhoton Cloudのリージョンのリストを、ダッシュボードからすぐにフィルタリングできます。

Photon Cloud: Regions Allowlist
Photon Cloudリージョンのフィルタリング

ダッシュボードを開き、該当のアプリケーションの「管理」をクリックしてから、「編集」をクリックします。 許可されたリージョンのリストを入力できる、入力フィールドが以下のように表示されます:

  • セミコロンで区切られたリージョントークン(例:「eu;us」)の文字列のみが、許可リストとして許可されます。
  • リージョントークンは大文字・小文字が区別され、こちらで定義されます。
  • 定義されていない、または認識されていないリージョントークンはリストから無視されます。
  • 空 (「」) または不正な形式の文字列(例 「;;;」)は空のリストを意味します。
  • 空のリストとは、利用可能なすべてのリージョンが許可されていることを意味します。

確認して保存すると、それ以降はネームサーバーはフィルタリングされたリージョンのリストのみを返します。 このため、クライアントはそのリストから選択する必要があります。 ダッシュボードの更新が反映されるには、最大で10分間かかる点を考慮してください。

リージョンの選択方法

アメリカにいるユーザーはPhoton Cloud USリージョンに接続すると、最低レイテンシーとなります。非常に明快です。

では、世界中 にユーザーがいる場合はどうでしょうか?

以下のいずれかを選択できます。

  • a) ゲームクライアントに様々なPhoton Cloudリージョンへpingを送信させ、最適なpingをあらかじめ選択する。 手順を参照してください。
  • b) リージョンにひもづくクライアントビルドを配信し、様々なリージョンのユーザーが他のPhoton Cloudリージョンに接続できるようにする。 または
  • c) ゲームのUI内で、マッチングするリージョンをユーザーに選択させる。

もしくは、 d) ゲームプレイで高レイテンシーが許容可能な場合には、すべてのユーザーに同一リージョンに接続させる(例:それほどリアルタイムでないゲームの場合)。

Photon Cloudアプリケーションは、追加料金なしですべての利用可能なリージョンで稼動します。 価格設定を参照してください。

Photon Cloudのダッシュボードでは、各リージョンでのゲームの利用状況をモニタリングでき、また簡単に購入プランのアップグレードまたはダウングレードを実行できます。 ダッシュボードに進む場合はこちらをクリックしてください。

ベストリージョンの検討

「ベストリージョン」オプションは、決定的なものではありません。 リージョンにあまり差がない場合や、まったく同じping計算がされた場合には、「ランダム」になる可能性があります。

理論上は以下の設定が可能です:

  • 同一デバイスから、複数リージョンに対してまったく同じpingを設定します。同じネットワークに接続したクライアント上で異なるリージョンに接続する場合には、ランダムになります。
  • 同じネットワークに接続した異なるデバイス上(または同じデバイス上で異なる試行を実行する)で、同じリージョンに対して異なるping値を設定します。

たとえば、「us」と「usw」(または「ru」と「rue」)の場合、オンラインリージョンの許可リストを使用してリージョンを選択するか、または明示的にリージョンに接続します。

デバッグをおこなうには、ロギングレベルを「情報」に設定し、「現在のベストリージョン」をクリアしてください(PUNの場合:PhotonNetwork.BestRegionSummaryInPreferences = null)。詳細を参照するか、またはメールでログを送信してください。

中国本土のリージョンを使用

まず、Photonアプリケーション用に中国本土リージョンへのアクセスをリクエストする必要があります。弊社宛にメールでご連絡ください。お客様のAppID用に解除します。
弊社のウェブサイトから、中国本土地域で使用される有償プランに申し込むことはできません。 有償プランの見積については、メールでご連絡ください。

ファイアウォールによってトラフィックがブロックされる可能性があるため、中国ローカルのPhotonネームサーバーを使用する必要があります。 中国のPhotonネームサーバーは「ns.photonengine.cn」 です。

中国本土外からクライアントに接続しても、良い結果は得られません。 また、Photonサーバーから中国本土外のサーバーへの接続(たとえば、カスタム認証、Webhook、WebRPCなどで)は信頼性が高くありません。

重要: ダッシュボードでアプリケーションに変更を加えた場合、現段階では中国のアプリケーションのキャッシュに自動的に反映されません。 アップデートをご希望の場合には、弊社宛にメールでご連絡ください。

また、法的な理由から中国向けには個別のビルドが必要となります。弊社は各ビルドに個別のAppIDを使用することを推奨しています。 たとえば、ビルドごとに(任意の)コンパイル条件を使用してAppIDやPhotonネームサーバーを変更します。

中国マーケット用に特別なビルドを作成するには、お使いのクライアントSDKの手順を参照してください。

PUN Classic

  1. 中国リージョンが解除されたアプリケーションにAppIDを設定します。 同一プロジェクト内で、複数のビルドが有る場合には以下を参照してください:
        void Awake()
     {
     // TODO: replace compile condition with your own
     #if CHINA
         PhotonNetwork.PhotonServerSettings.AppID = "ChinaPUNAppId"; // TODO: replace with your own AppId
     #else
         PhotonNetwork.PhotonServerSettings.AppID = "nonChinaPUNAppId"; // TODO: replace with your own AppId
     #endif
     }
  2. 「NetworkingPeer.cs」ファイルを開き、「ns.photonengine.cn」にNameServerHostを設定してください:
    // TODO: replace compile condition with your own
    #if CHINA
        public const string NameServerHost = "ns.photonengine.cn";
    #else
        public const string NameServerHost = "ns.exitgames.com";
    #endif
  1. CloudRegionCodeCloudRegionFlagのenumを更新し、新たな「CN」(または「cn」)リージョントークンを以下のように追加してください:
    public enum CloudRegionCode
    {
        // ...
    // TODO: replace compile condition with your own
    #if CHINA
        ///<summary>Chinese Mainland, Guang Dong area, cn</summary>
        cn = 13,
    #endif
    };
    [Flags]
    public enum CloudRegionFlag
    {
        // ...
    // TODO: replace compile condition with your own
    #if CHINA
        cn = 1 << 12,
    #endif
    };
  1. PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion)を使用して、中国本土リージョンに接続してください。
        // TODO: replace compile condition with your own
        #if CHINA
            PhotonNetwork.ConnectToRegion(CloudRegionCode.cn, gameVersion);
        #else
            // TODO: connect to any other region
        #endif

ドキュメントのトップへ戻る