Skip to main content

マルチプレイヤー セッションの割り当て

PlayFab マルチプレイヤー サーバー 2.0 では、RequestMultiplayerServer API を使用してマルチプレイヤー サーバー アプリケーションのインスタンスを割り当てることができます。 通常、この API は、特定のタイトル用に構成された PlayFab Developer Secret Key を使用して、自身のサービス(マッチメイキング サービスやロビー サービスなど)から呼び出されます。シークレット キーの詳細については、「Secret key management」を参照してください。 プレイヤーを集めてサーバーを割り当てる典型的なパターン:
  1. クライアントがネットワーク QoS 情報を収集します。
  2. クライアントはカスタム マッチメイキング サービスと対話するか、ソーシャル招待で集まります。
  3. カスタム マッチメイキング サービスは、優先順位付きリージョン リストを使用してグループにセッションを割り当てます。
RequestMultiplayerServer にはいくつかの重要なパラメーターがあります:
  • BuildID - 割り当てる特定のサーバー ビルド。
  • SessionID - セッションの識別子。これは呼び出し元が生成する GUID 文字列です。同じ論理セッションに対するこの API の再試行では、同じ識別子を再利用する必要があります。これにより、呼び出し元の再試行動作が不要なサーバーを作成する可能性が軽減されます。
  • SessionCookie - アクティブ化時にゲーム サーバー SDK 経由で割り当てられたセッションに伝達される任意のデータです。このフィールドの典型的な使い方は、ゲーム サーバーがクライアントを認証するために使用する共有キーを伝達することです。データは 4 キロバイト未満でなければなりません
  • PreferredRegions - サーバーの割り当てに使用するリージョンの順序付きリスト。リージョンをランク付けするための主要な要因として、クライアント デバイスから収集したネットワーク QoS 測定値を使用することをお勧めします。
割り当てに成功すると、次の情報が返されます:
ゲーム開発中にゲーム サーバーを簡単に割り当てる方法として、MpsAllocatorSample(こちらで入手可能)を使用できます。

クライアントによる割り当て

マルチプレイヤー サーバーは高価かつ強力です。デフォルトでは、PlayFab Developer Secret Key を使用して、自身の信頼できるサービスからのみマルチプレイヤー サーバーを要求できます。 しかし、プレイヤー デバイスから直接サーバーを割り当てることで、サービス間呼び出しを実装するコストを節約でき、状況によっては便利な場合があります。 クライアントによる割り当てを有効にするには:
  • 左側のメニューから Settings を選択します。
  • API Features タブを選択します。
  • 次に Allow Client to start games オプションを有効にします。
この設定が有効になると、タイトルに関連付けられている任意のプレイヤーのエンティティ トークンを使用して RequestMultiplayerServer を呼び出すことができます。

デプロイされたマルチプレイヤー サーバーのデバッグ

Azure にデプロイされたゲーム サーバーをリモートでデバッグしたい場合があります。Visual Studio では、現在、コンテナー内に Visual Studio Remote Debugging ツールをインストールして構成する必要があります。
以下の手順は、安全でない、認証されていないデバッグを可能にします。
以下の手順は、開発およびテスト用のサーバー ビルドにのみ適用してください。プレイヤーに公開する環境では一般的に避けてください
  1. VS2017 Remote Debugging ツールを取得します:
  1. これらのツールをゲーム サーバー アセット パッケージに含めます。
  2. Game Manager または Entity API でサーバー ビルドを作成する際、ポート 4022 TCP をデバッグ ポートとして構成します。
  3. リモート デバッグを有効にするために、コンテナー内で msvsmon を実行する必要があります。一般的なパターンは、Game Start コマンドとして CMD スクリプトを指定し、コマンドライン引数を使用してゲーム サーバー実行ファイルに加えて msvsmon を起動することです。
  4. msvsmon を次のパラメーターで一度実行します:
  1. 次のフラグを付けて msvsmon を実行します(以下を参照)。
空いていないランダムなポートにバインドされるのではなく、ポートが既に使用されている場合にプロセスの終了コードを処理できるようにするために、ポートを明示的にリストすることをお勧めします。
  1. ゲーム サーバーを割り当てます。
  2. 割り当て呼び出しから返された外部デバッグ ポートを使用して、VS 経由でデバッグを試みます。
最終更新日 2026年8月25日