- XBOX One (以降) のコンソール間、またはコンソールとサーバー間の遅延と帯域幅の測定
- ノード間のネットワーク接続が良好かどうかを判断するために結果の測定値を評価
管理された初期化
Multiplayer Session Directory (MPSD) は、管理された初期化 と呼ばれる機能をサポートしています。これを通じて、セッションに関与するクライアント全体でターゲット セッションの初期化プロセスを調整します。 MPSD は、セッションの初期化ステージおよび関連するタイムアウトを自動的に追跡します。MPSD は、必要に応じてクライアント間の接続性も評価します。 管理された初期化は、XblMultiplayerInitializationStage 列挙型で表されます。タイトルでは、MPSD の管理された初期化機能を活用するため、SmartMatch マッチメイキングを使用することを強く推奨します。
管理された初期化のエピソードとステージ
ターゲット セッションは、マッチメイキングがセッションに新しいプレイヤーを追加するたびに、管理された初期化を実行します。 SmartMatch はセッション メンバーをユーザー状態 Reserved として追加します。これは、各メンバーがスロットを占有しているものの、まだセッションに参加していないことを意味します。 新しいプレイヤーの各グループは、新しい初期化エピソードをトリガーします。 初期化が完了すると、各プレイヤーはプロセスに成功するか失敗するかのいずれかになります。 初期化に成功したプレイヤーは、ターゲット セッションを使用してプレイできます。 失敗したプレイヤーは、別のセッションにマッチするために、マッチメイキングに再送信される必要があります。preserveSession パラメーターを Always に設定してセッションがマッチメイキングに送信された場合、セッションの既存のメンバーは、MPSD によって適切にセットアップされていると想定されるため、初期化を実行しません。
各管理された初期化エピソードは、次のステージで構成されます。
- 参加: セッション メンバーがユーザー状態を
ReservedからActiveに移動するために、自分自身をセッションに書き込みます。セキュア デバイス アドレスなどの基本的なデータをアップロードできます。 - 測定: ピアベースのトポロジの場合、セッション メンバーは互いに QoS を測定し、その後、結果をセッションにアップロードします。
- 評価: MPSD は、前の 2 つのステージの結果を評価し、その後、セッションまたはメンバーが正常に初期化されたかどうかを判断します。
初期化のためのターゲット セッションの構成
タイトルは、初期化されるターゲット セッション内の定数を使用して、管理された初期化プロセスを構成できます。 これらの定数は、バージョン 107 のセッション テンプレートの /constants/system の下に設定されます。このテンプレート バージョンを推奨します。 次の 2 種類の構成設定を行うことができます。- 管理された初期化プロセス全体を構成する設定
- QoS 要件を構成する設定
ターゲット セッションの初期化構成で 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: ホストの選択に使用された指標を指定します
