Skip to main content
このトピックでは、タイトルが、ターゲット セッションにマッチしたときに、十分な数のプレイヤーが参加しており、接続できることを確認する方法について説明します。 プレイヤーのグループは、SmartMatch マッチメイキングによってターゲット セッションにマッチされます。タイトルは、必要な場合にプレイヤー同士が正常に接続できるように十分な数のプレイヤーが参加していることを確認する手順を実行する必要があります。このプロセスは ターゲット セッションの初期化 として知られています。 ピアツーピアのネットワーク トポロジを使用するゲームの場合、ターゲット セッションの初期化の重要な側面はサービス品質 (QoS) の測定と評価です。 関連する操作は次のとおりです。
  • XBOX One (以降) のコンソール間、またはコンソールとサーバー間の遅延と帯域幅の測定
  • ノード間のネットワーク接続が良好かどうかを判断するために結果の測定値を評価
次のフローチャートは、ターゲット セッションの初期化と QoS 操作を実装する方法を示しています。

管理された初期化

Multiplayer Session Directory (MPSD) は、管理された初期化 と呼ばれる機能をサポートしています。これを通じて、セッションに関与するクライアント全体でターゲット セッションの初期化プロセスを調整します。 MPSD は、セッションの初期化ステージおよび関連するタイムアウトを自動的に追跡します。MPSD は、必要に応じてクライアント間の接続性も評価します。 管理された初期化は、XblMultiplayerInitializationStage 列挙型で表されます。
タイトルでは、MPSD の管理された初期化機能を活用するため、SmartMatch マッチメイキングを使用することを強く推奨します。

管理された初期化のエピソードとステージ

ターゲット セッションは、マッチメイキングがセッションに新しいプレイヤーを追加するたびに、管理された初期化を実行します。 SmartMatch はセッション メンバーをユーザー状態 Reserved として追加します。これは、各メンバーがスロットを占有しているものの、まだセッションに参加していないことを意味します。 新しいプレイヤーの各グループは、新しい初期化エピソードをトリガーします。 初期化が完了すると、各プレイヤーはプロセスに成功するか失敗するかのいずれかになります。 初期化に成功したプレイヤーは、ターゲット セッションを使用してプレイできます。 失敗したプレイヤーは、別のセッションにマッチするために、マッチメイキングに再送信される必要があります。 preserveSession パラメーターを Always に設定してセッションがマッチメイキングに送信された場合、セッションの既存のメンバーは、MPSD によって適切にセットアップされていると想定されるため、初期化を実行しません。 各管理された初期化エピソードは、次のステージで構成されます。
  • 参加: セッション メンバーがユーザー状態を Reserved から Active に移動するために、自分自身をセッションに書き込みます。セキュア デバイス アドレスなどの基本的なデータをアップロードできます。
  • 測定: ピアベースのトポロジの場合、セッション メンバーは互いに QoS を測定し、その後、結果をセッションにアップロードします。
  • 評価: MPSD は、前の 2 つのステージの結果を評価し、その後、セッションまたはメンバーが正常に初期化されたかどうかを判断します。
タイトル コードは、参加および測定フェーズを通じて各プレイヤー (したがってセッション) を進めるためにセッションを操作します。 その後、タイトルは、評価ステージが成功または失敗した後に、プレイを開始するか、マッチメイキングに戻ることができます。

初期化のためのターゲット セッションの構成

タイトルは、初期化されるターゲット セッション内の定数を使用して、管理された初期化プロセスを構成できます。 これらの定数は、バージョン 107 のセッション テンプレートの /constants/system の下に設定されます。このテンプレート バージョンを推奨します。 次の 2 種類の構成設定を行うことができます。
  • 管理された初期化プロセス全体を構成する設定
  • QoS 要件を構成する設定
一般的なタイトル シナリオのセッション テンプレートの例については、マルチプレイヤー セッション テンプレート および Multiplayer Session Directory の概要 を参照してください。
ターゲット セッションの初期化構成で QoS 要件が定義されていない場合、初期化中の測定ステージはスキップされます。

管理された初期化全体の構成

管理された初期化を全体的に制御するには、次のフィールドを設定します。 管理された初期化を制御するために設定するフィールドは、/constants/system/memberInitialization オブジェクトの一部です。
  • joinTimeout: 初期化エピソード開始後、MPSD が各メンバーの参加を待機する時間を指定します。既定値は 10 秒です。
  • measurementTimeout: 測定ステージの開始後、MPSD が各メンバーの QoS 測定結果のアップロードを待機する時間を指定します。既定値は 30,000 秒です。
  • membersNeededToStart: 最初の初期化エピソードが成功するために初期化に成功しなければならないメンバー数を指定します。既定値は 1 です。
このしきい値が満たされない場合、すべてのメンバーが初期化に失敗します。

QoS 要件の構成

QoS は、タイトルがピアツーピアまたはピアツーホストのトポロジを使用する場合にのみ、初期化中に必要になります。 各トポロジは、/constants/system/ の下のトポロジ固有の定数にマップされます。

ピアツーピア トポロジの QoS 要件の構成

タイトルがピアツーピア トポロジの QoS 要件を設定することはまれです。これらの設定は非常に制限的であり、厳密なネットワーク アドレス変換 (NAT) を持つプレイヤーに問題を引き起こします。
peerToPeerRequirements オブジェクトでピアツーピア トポロジの QoS 要件を設定できます。 すべてのクライアントは、他のすべてのクライアントに接続できる必要があります。 peerToPeerRequirements オブジェクトには、次の関連フィールドがあります。
  • latencyMaximum: 任意の 2 つのクライアント間の最大遅延を指定します
  • bandwidthMinimum: 任意の 2 つのクライアント間の最小帯域幅を指定します

ピアツーホスト トポロジの QoS 要件の構成

peerToHostRequirements オブジェクトで、ピアツーホスト トポロジの QoS 要件を設定できます。 すべてのクライアントは、単一の共通のホストに接続できる必要があります。 このオブジェクトが構成されて初期化に成功した場合、MPSD は、ホスト候補 として知られる、潜在的なホストであるクライアントの初期リストを作成します。 次のフィールドを設定します。
  • latencyMaximum: 各ピアとホスト間の最大遅延を指定します
  • bandwidthDownMinimum: 各ピアとホスト間の最小ダウンストリーム帯域幅を指定します
  • bandwidthUpMinimum: 各ピアとホスト間の最小アップストリーム帯域幅を指定します
  • hostSelectionMetric: ホストの選択に使用された指標を指定します

関連項目

マルチプレイヤー セッション テンプレート Multiplayer Session Directory の概要
最終更新日 2026年8月25日