> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ターゲット セッションの初期化と QoS

> XBOX 上の SmartMatch に対するターゲット セッションの初期化。管理された初期化ステージと、ゲームプレイ前のピア間のサービス品質チェックを含みます。

このトピックでは、タイトルが、ターゲット セッションにマッチしたときに、十分な数のプレイヤーが参加しており、接続できることを確認する方法について説明します。

プレイヤーのグループは、SmartMatch マッチメイキングによってターゲット セッションにマッチされます。タイトルは、必要な場合にプレイヤー同士が正常に接続できるように十分な数のプレイヤーが参加していることを確認する手順を実行する必要があります。このプロセスは *ターゲット セッションの初期化* として知られています。

ピアツーピアのネットワーク トポロジを使用するゲームの場合、ターゲット セッションの初期化の重要な側面はサービス品質 (QoS) の測定と評価です。
関連する操作は次のとおりです。

* XBOX One (以降) のコンソール間、またはコンソールとサーバー間の遅延と帯域幅の測定
* ノード間のネットワーク接続が良好かどうかを判断するために結果の測定値を評価

次のフローチャートは、ターゲット セッションの初期化と QoS 操作を実装する方法を示しています。

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Multiplayer_2015_Matchmaking_QoS.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=d581bf4774ce705effe9420a8246f98a" alt="ターゲット セッションの初期化と QoS 操作の実装方法を示すマッチメイキング QoS フローチャートの画像" width="1339" height="1090" data-path="images/gdk/services/Multiplayer_2015_Matchmaking_QoS.png" />

## 管理された初期化

Multiplayer Session Directory (MPSD) は、*管理された初期化* と呼ばれる機能をサポートしています。これを通じて、セッションに関与するクライアント全体でターゲット セッションの初期化プロセスを調整します。
MPSD は、セッションの初期化ステージおよび関連するタイムアウトを自動的に追跡します。MPSD は、必要に応じてクライアント間の接続性も評価します。
管理された初期化は、[XblMultiplayerInitializationStage](/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayerinitializationstage) 列挙型で表されます。

<Note>タイトルでは、MPSD の管理された初期化機能を活用するため、SmartMatch マッチメイキングを使用することを強く推奨します。</Note>

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

ターゲット セッションは、マッチメイキングがセッションに新しいプレイヤーを追加するたびに、管理された初期化を実行します。
SmartMatch はセッション メンバーをユーザー状態 Reserved として追加します。これは、各メンバーがスロットを占有しているものの、まだセッションに参加していないことを意味します。
新しいプレイヤーの各グループは、新しい初期化エピソードをトリガーします。

初期化が完了すると、各プレイヤーはプロセスに成功するか失敗するかのいずれかになります。
初期化に成功したプレイヤーは、ターゲット セッションを使用してプレイできます。
失敗したプレイヤーは、別のセッションにマッチするために、マッチメイキングに再送信される必要があります。

`preserveSession` パラメーターを `Always` に設定してセッションがマッチメイキングに送信された場合、セッションの既存のメンバーは、MPSD によって適切にセットアップされていると想定されるため、初期化を実行しません。

各管理された初期化エピソードは、次のステージで構成されます。

* **参加:** セッション メンバーがユーザー状態を `Reserved` から `Active` に移動するために、自分自身をセッションに書き込みます。セキュア デバイス アドレスなどの基本的なデータをアップロードできます。
* **測定:** ピアベースのトポロジの場合、セッション メンバーは互いに QoS を測定し、その後、結果をセッションにアップロードします。
* **評価:** MPSD は、前の 2 つのステージの結果を評価し、その後、セッションまたはメンバーが正常に初期化されたかどうかを判断します。

タイトル コードは、参加および測定フェーズを通じて各プレイヤー (したがってセッション) を進めるためにセッションを操作します。
その後、タイトルは、評価ステージが成功または失敗した後に、プレイを開始するか、マッチメイキングに戻ることができます。

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

タイトルは、初期化されるターゲット セッション内の定数を使用して、管理された初期化プロセスを構成できます。
これらの定数は、バージョン 107 のセッション テンプレートの */constants/system* の下に設定されます。このテンプレート バージョンを推奨します。

次の 2 種類の構成設定を行うことができます。

* 管理された初期化プロセス全体を構成する設定

* QoS 要件を構成する設定

一般的なタイトル シナリオのセッション テンプレートの例については、[マルチプレイヤー セッション テンプレート](/services/xbox-services/multiplayer/mpsd/concepts/live-session-templates) および [Multiplayer Session Directory の概要](/services/xbox-services/multiplayer/mpsd/live-mpsd-overview) を参照してください。

<Note>ターゲット セッションの初期化構成で QoS 要件が定義されていない場合、初期化中の測定ステージはスキップされます。</Note>

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

管理された初期化を全体的に制御するには、次のフィールドを設定します。

管理された初期化を制御するために設定するフィールドは、`/constants/system/memberInitialization` オブジェクトの一部です。

* `joinTimeout`: 初期化エピソード開始後、MPSD が各メンバーの参加を待機する時間を指定します。既定値は 10 秒です。

* `measurementTimeout`: 測定ステージの開始後、MPSD が各メンバーの QoS 測定結果のアップロードを待機する時間を指定します。既定値は 30,000 秒です。

* `membersNeededToStart`: 最初の初期化エピソードが成功するために初期化に成功しなければならないメンバー数を指定します。既定値は 1 です。

<Note>このしきい値が満たされない場合、すべてのメンバーが初期化に失敗します。</Note>

### QoS 要件の構成

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

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

<Note>タイトルがピアツーピア トポロジの QoS 要件を設定することはまれです。これらの設定は非常に制限的であり、厳密なネットワーク アドレス変換 (NAT) を持つプレイヤーに問題を引き起こします。</Note>

`peerToPeerRequirements` オブジェクトでピアツーピア トポロジの QoS 要件を設定できます。
すべてのクライアントは、他のすべてのクライアントに接続できる必要があります。

`peerToPeerRequirements` オブジェクトには、次の関連フィールドがあります。

* `latencyMaximum`: 任意の 2 つのクライアント間の最大遅延を指定します

* `bandwidthMinimum`: 任意の 2 つのクライアント間の最小帯域幅を指定します

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

`peerToHostRequirements` オブジェクトで、ピアツーホスト トポロジの QoS 要件を設定できます。
すべてのクライアントは、単一の共通のホストに接続できる必要があります。
このオブジェクトが構成されて初期化に成功した場合、MPSD は、*ホスト候補* として知られる、潜在的なホストであるクライアントの初期リストを作成します。

次のフィールドを設定します。

* `latencyMaximum`: 各ピアとホスト間の最大遅延を指定します

* `bandwidthDownMinimum`: 各ピアとホスト間の最小ダウンストリーム帯域幅を指定します

* `bandwidthUpMinimum`: 各ピアとホスト間の最小アップストリーム帯域幅を指定します

* `hostSelectionMetric`: ホストの選択に使用された指標を指定します

## 関連項目

[マルチプレイヤー セッション テンプレート](/services/xbox-services/multiplayer/mpsd/concepts/live-session-templates)

[Multiplayer Session Directory の概要](/services/xbox-services/multiplayer/mpsd/live-mpsd-overview)


## Related topics

- [XblMultiplayerMeasurementFailure](/ja-jp/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayermeasurementfailure.md)
- [XblMultiplayerMetrics](/ja-jp/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayermetrics.md)
- [XblMultiplayerPeerToHostRequirements](/ja-jp/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayerpeertohostrequirements.md)
- [XblMultiplayerInitializationStage](/ja-jp/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayerinitializationstage.md)
- [マッチメイキングの概要](/ja-jp/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview.md)
