> ## 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.

# Multiplayer 概念の概要

> マルチプレイヤー セッション、MPSD、セッション テンプレート、SmartMatch マッチメイキング、Quality of Service (QoS) など、主要な XBOX マルチプレイヤーの用語と概念。

Multiplayer システムには、マルチプレイヤー セッション、Multiplayer Session Directory (MPSD)、SmartMatch マッチメイキング、Quality of Service (QoS) が含まれます。

このトピックでは、XBOX services のドキュメントで頻繁に使用される、いくつかの重要なマルチプレイヤー用語と概念について説明します。
これらをよく理解しておくと、XBOX services マルチプレイヤーがどのように機能するかを理解するのに役立ちます。

## マルチプレイヤー セッション

*マルチプレイヤー セッション* は、XBOX services プレイヤーのグループとそれらに関連付けられたプロパティを表します。
このセッションはタイトルによって作成および維持されます。XBOX services クラウド内に存在する安全な JSON ドキュメントとして表現されます。

セッション ドキュメント自体には、セッションに接続されている XBOX services プレイヤー、利用可能なスポットの数、カスタム メタデータ (セッション自体と各セッション メンバーの両方)、およびゲーム セッションに関するその他の情報が含まれています。

各セッションは *セッション テンプレート* に基づいています。これはゲーム開発者によって定義され、タイトル インスタンスの XBOX services 構成で構成されます。

タイトルはセッションを作成および更新できますが、セッションを直接削除することはできません。
その代わり、すべてのプレイヤーがセッションから削除された後、XBOX services Multiplayer サービスは指定されたタイムアウト後に自動的にセッションを削除します。

タイトルは複数のセッションを使用することを選択できますが、一般的なマルチプレイヤーの実装では、次の 2 つのセッションを使用します。

* **ロビー セッション:** ゲームを通じて (たとえば、複数のラウンド、レベル、マップにわたって) 一緒にいたい友達のグループを表します。

* **ゲーム セッション:** ラウンド、マッチ、レベルなど、ゲームの特定のセッション インスタンスでプレイしている人々を表します。このセッションには、通常はマッチメイキング サービスを介して、複数のロビー セッションから一緒にセッション インスタンスに参加したメンバーが含まれることがあります。

マルチプレイヤー セッションの詳細情報については、[Multiplayer セッションの高度なトピック](/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details) を参照してください。

### シナリオの例

このシナリオの例では、Tereza は友達の Sergio と Alejandra とマルチプレイヤー ゲームをプレイしたいと考えています。

1. Tereza はゲームを開始し、Sergio と Alejandra を自分のゲームに招待します。
2. 彼らが参加した後、Tereza、Sergio、Alejandra は全員ロビー セッションに入ります。
3. このセッションで、彼らは他の人々とオンライン マッチでプレイすることを決めます。
   1. ゲームはゲーム セッションを作成します。XBOX services マッチメイキング サービスを使用して、残りのプレイヤー スロットを他の XBOX services プレイヤーで埋めます。
   2. Ermal と Miguel がマッチしたとして、5 人でラウンドを一緒にプレイします。
4. ラウンドが終了した後、Tereza、Sergio、Alejandra はゲーム セッションを離れますが、依然としてロビー セッションに一緒にいます (Ermal と Miguel はいません)。3 人の友達は別のラウンドをプレイするか、別のゲーム モードに切り替えるかを選択できます。

### セッション メンバー

*セッション メンバー* とは、セッションに参加している XBOX services プレイヤーのことです。

### アービター

*アービター* は、ゲームのセッションの状態を管理するコンソールまたはデバイスです。
たとえば、アービターはより多くのプレイヤーを見つけるためにマッチメイキングにゲーム セッションをアドバタイズする役割を担います。

アービターはタイトルによって設定されます。
アービターとゲームのホストは同じであることがありますが、必須ではありません。

### セッション ホスト

*セッション ホスト* は、ホスト ベース、ピアツーピア ネットワーク アーキテクチャで構築されたタイトルのゲームプレイ シミュレーションを実行するコンソールまたはデバイスです。
このコンソールまたはデバイスは通常アービターと同じですが、必須ではありません。

## Multiplayer Session Directory (MPSD)

XBOX services Multiplayer サービスは、XBOX services クラウドで動作します。このサービスは、複数のクライアントにわたるゲームのマルチプレイヤー システム メタデータを一元化します。
このメタデータを追跡するシステムは、*Multiplayer Session Directory (MPSD)* として知られています。

MPSD は、アクティブなゲーム セッションのライブラリと考えることができます。
ゲームは、タイトルに関連するアクティブなセッションを追加、検索、変更、または削除できます。
MPSD は、セッションの状態を管理し、必要に応じてセッションを更新します。

MPSD を使用すると、タイトルはプレイヤーのグループを接続するために必要な基本情報を共有できます。
これにより、セッション機能が同期され一貫性を保つことが保証されます。
MPSD は、シェルおよび XBOX One (以降) のコンソール OS と連携して、招待の送受信、およびゲーマー カードによる参加を可能にします。

<a id="session-handles" />

### セッション ハンドル

MPSD において、*セッション* はデータの各要素を組み合わせることで一意に識別されます。以下のとおりです。

* タイトルのサービス構成識別子 (SCID)
* セッションを作成するために使用されたセッション テンプレートの名前
* セッションの名前

*セッション ハンドル* は、MPSD に存在する特定のセッションへの参照を含む JSON オブジェクトです。
セッション ハンドルを使用すると、XBOX services メンバーは既存のセッションに参加できます。

各セッション ハンドルには、ハンドルを一意に識別する GUID が含まれています。これによりタイトルは、単一の GUID を使用してセッションを参照できます。

セッション ハンドルは次のとおりです。

#### 招待ハンドル

*招待ハンドル* は、メンバーがゲームに参加するように招待されたときに渡されます。
招待ハンドルには、招待されたメンバーのゲームが正しいセッションに参加できる情報が含まれています。

#### 検索ハンドル

*検索ハンドル* にはセッションに関する追加のメタデータが含まれており、タイトルは選択した条件を満たすセッションを検索できます。

#### アクティビティ ハンドル

*アクティビティ ハンドル* により、メンバーはソーシャル ネットワーク上の他のメンバーがプレイしているものを見ることができます。このハンドルは、友達のゲームに参加するために使用できます。

#### 相関ハンドル

*相関ハンドル* は、セッションのエイリアスとして機能し、ゲームが相関ハンドルの ID のみを使用してセッションを参照できるようにします。

#### 転送ハンドル

*転送ハンドル* は、あるセッションから別のセッションにプレイヤーを移動するために使用されます。

<a id="invites" />

### 招待

XBOX services は、Multiplayer サービスによってサポートされる招待システムを提供します。
このサービスにより、プレイヤーは他のプレイヤーを自分のゲーム セッションに招待できます。
招待されたプレイヤーはゲーム招待を受け取ります。タイトルはこの情報を使用して、既存のセッションおよびマルチプレイヤー エクスペリエンスに参加します。

タイトルは招待のフローと招待を送信できるタイミングを制御します。
招待は、プレイヤーによってシェルを通じて、またはタイトルから直接送信できます。

招待の通知テキストは、招待されたプレイヤーにより多くの情報を提供するためにタイトルによって動的に設定できます。
招待には、プレイヤーには見えず、追加情報を伝達するために使用できる、タイトル用の追加データを含めることもできます。

### ジョイン イン プログレス

招待に加えて、XBOX services は、プレイヤーが友達や他の既知のプレイヤーのアクティブなゲームプレイ セッションに参加するためのシェル オプションも提供します。
これは、アクティブなゲーム セッションへの別のパスを有効にし、MPSD によっても駆動されます。

タイトルは、セッションがいつ参加可能かを制御し、ジョイン イン プログレスに公開するセッションを制御します。

### プロトコル アクティベーション

Tereza が自分のゲームに参加するように Alejandra に招待を送信した場合、Alejandra は自分のデバイスで通知を受け取り、承諾または辞退を選択できます。

Alejandra が招待を承諾すると、OS はゲームがまだ実行されていない場合はゲームを起動しようとします。OS は、ゲームがアクティブ化された理由と追加の詳細情報を含むアクティベーション イベントをトリガーします。(たとえば招待の場合、詳細情報には、メンバーを招待したプレイヤーの ID と、メンバーが招待されたセッションが含まれます。)

このイベントを処理するプロセスは、*プロトコル アクティベーション* として知られています。これは、ゲームが特定の状態に自動的に移行する必要があることを示し、アクティベーション イベント引数で詳細が説明されます。
メンバーがマルチプレイヤー ゲームに参加する場合、セッション ハンドル ID が引数の 1 つとして指定されます。

Alejandra の場合、招待を承諾することにより、(必要に応じて) ゲームが自動的に開始され、彼女は Tereza と同じゲーム セッションに参加できます。これは、Alejandra がさらなるアクションを実行することなく行われます。

プロトコル アクティベーションは、招待の承諾、プロフィール カードを介した別のメンバーのゲームへの参加、またはディープ リンクされた実績の選択によってトリガーできます。

## SmartMatch マッチメイキング

*SmartMatch* は、匿名マッチメイキング用の XBOX services サービスの名前です。
このサービスは、構成可能なマッチ ルール セットに基づいて、同じゲームのプレイヤーをマッチングします。

マッチメイキング サービスは MPSD と密接に連携し、マッチメイキングの入力と出力にセッションを使用します。
マッチメイキングはサービス上で実行されるため、タイトルはマッチメイキング フロー中に他のエクスペリエンス (たとえば、タイトル内シングル プレイヤーなど) を簡単に提供できます。

マッチメイキングに参加したい個人またはグループはマッチ チケット セッションを作成し、次にマッチメイキング サービスに、マッチを設定するための他のプレイヤーを見つけるように要求します。
これにより、一時的な「マッチ チケット」が作成され、一定期間マッチメイキング サービス内 (マッチ ホッパー上) に存在します。

マッチメイキング サービスは、ルール構成、各プレイヤーに対して保存された統計、およびマッチ要求時に提供されたその他の情報に基づいて、一緒にプレイするセッションを選択します。
サービスは、マッチしたすべてのプレイヤーを含むマッチ ターゲット セッションを作成し、プレイヤーのタイトルにマッチを通知します。

ターゲット セッションの準備ができたら、タイトルは QoS チェックを実行して、グループが一緒にプレイできることを確認するか、プレイヤーをセッションに参加させてゲームプレイを開始できます。
QoS プロセスとマッチメイキングされたゲームプレイ中、タイトルは MPSD 内のセッション状態を最新に保ち、セッションへの変更に関する通知を MPSD から受け取ります。
このような変更には、プレイヤーの参加や離脱、およびセッション アービターへの変更が含まれます。

### マッチ チケット セッション

マッチ チケット セッションは、マッチを作成したいプレイヤーのクライアントを表します。
これは通常、一緒にロビーにいるプレイヤーのグループや、タイトル固有の他のプレイヤーのグループ分けに基づいて作成されます。
場合によっては、チケット セッションは既に進行中で、より多くのプレイヤーを探しているゲーム セッションであることもあります。

### マッチ チケット

チケット セッションをマッチメイキングに送信すると、マッチメイキングの試行を追跡するマッチ チケットが作成されます。
チケットには属性を追加できます。たとえば、ゲーム マップやプレイヤー レベルなど。
これらの属性は、チケット セッション内のプレイヤーの属性とともに、マッチを決定するために使用されます。

### ホッパー

*ホッパー* は、マッチ チケットが収集される論理的な場所であり、マッチメイキングの開始時に指定されます。
同じホッパー内のチケットのみをマッチングできます。

タイトルは複数のホッパーを持つことができます。ただし、一度に 1 つのホッパーでのみマッチメイキングを開始できます。
たとえば、あるタイトルはプレイヤー スキルがマッチングの最も重要な項目であるホッパーを 1 つ作成することがあります。
タイトルは、プレイヤーが同じダウンロード可能なコンテンツを購入している場合にのみマッチングされる別のホッパーを使用することがあります。

マッチメイキング用のホッパーは、サービス構成で構成します。

## Quality of Service (QoS)

ゲーマーがマルチプレイヤー ゲームをオンラインでプレイするとき、ゲームの品質は、ゲームをホストしているデバイス間のネットワーク通信の品質に影響されます。
貧弱なネットワークは、遅延や帯域幅の不足により、ラグや接続の切断など、望ましくないゲーム エクスペリエンスをもたらすことがあります。

QoS は、プレイヤー間のオンライン接続の強度 (遅延と帯域幅) を測定して、すべてのプレイヤーが十分なネットワーク接続品質を持つことを保証することを意味します。
これは特に、ネットワーク接続によって良好なエクスペリエンスを保証するためにマッチメイキング中にマッチングされるプレイヤーに重要です。
QoS は、友達が一緒にプレイし、通常は貧弱な接続の影響を受け入れる意思がある招待には、あまり適用されません。

特定の基準に基づいて自動的に QoS を処理するようにセッションを構成できます。また、ゲームは、誰かがセッションに参加するたびに QoS の測定を処理することもできます。


## Related topics

- [Multiplayer の概念](/ja-jp/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts-nav.md)
- [Multiplayer Manager の概念](/ja-jp/services/xbox-services/multiplayer/mpm/concepts/live-mm-concepts-nav.md)
- [Multiplayer Manager の概要](/ja-jp/services/xbox-services/multiplayer/mpm/live-multiplayer-manager-overview.md)
- [Multiplayer Activity (MPA) の概念](/ja-jp/services/xbox-services/multiplayer/mpa/concepts/live-mpa-concepts-nav.md)
- [招待の概要](/ja-jp/services/xbox-services/multiplayer/invites/live-multiplayer-invites-overview.md)
