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

# マルチプレイヤーの大規模セッションを有効にする

> 2015 Multiplayer API を使用して、MMO ゲーム、放送、および遭遇のために最大 10,000 メンバーの大規模な MPSD マルチプレイヤー セッションを作成する方法。

このトピックでは、100 メンバーを超えるメンバーを処理できるマルチプレイヤーの*大規模セッション*を作成する方法について説明します。
このシナリオは、MMORPG (大規模多人数同時参加型オンライン ゲーム) や放送 (ほとんどのメンバーが観戦者) で最も一般的です。大規模セッションのサポートは、他のスタイルのゲームにも適用される場合があります。

状況によっては、少人数のプレイヤー グループを扱う場合でも、大規模セッションが便利な場合があります。
複数のプレイヤーを同じセッションに参加させたいが、ゲーム内で遭遇しない限り必ずしも互いの存在を認識する必要がない場合は、大規模セッションの `encounters` プロパティを使用できます。

大規模セッションは現在、[Multiplayer Manager](/services/xbox-services/multiplayer/mpm/live-multiplayer-manager-nav) ではサポートされていません。Multiplayer Service Directory (MPSD) への直接呼び出しには、2015 Multiplayer API を使用する必要があります。

大規模セッションは、通常のセッションとは少し異なる扱いを受けます。

* 大規模セッションには通常のセッションよりも少ない情報が含まれますが、より効率的です。
* 大規模セッションは最大 10,000 メンバーをサポートします。
* 大規模セッションにサブスクライブすることはできません。
* 大規模セッションのメンバーは、最近のプレイヤー リストに自動的に含まれることはありません。

## 最近のプレイヤー

XBOX プレイヤーが新しいプレイヤーとマルチプレイヤー ゲームをプレイした後、ダッシュボードの最近のプレイヤー リストでそれらのプレイヤーを見ることができます。

* プレイヤーがゲーム内で新しいプレイヤーと素晴らしい体験をした場合、そのプレイヤーとまたプレイしたい、またはフレンドとして追加したい場合があります。
* プレイヤーが別のプレイヤーとの体験が悪かった場合、今後そのプレイヤーを避けたい、またはゲーム終了後に悪い行動を報告したい場合があります。

通常のセッションでは、XBOX services は同じセッション内のプレイヤーを最近のプレイヤー リストに自動的に追加します。
ただし、大規模セッションを使用する場合は、最近のプレイヤー リストが適切に投入されるようにするための追加の手順を実行する必要があります。

## 大規模セッションのセットアップ

セッションを大規模に設定するには、セッション テンプレートの capabilities セクションに `"large": true` を追加します。
`maxMembersCount` の値は 10,000 まで設定できます。

以下のテンプレートは、最大 2,000 プレイヤーをサポートする大規模セッションを作成します。

```json theme={null}
{
    "constants": {
        "system": {
            "version": 1,
            "maxMembersCount": 2000,
            "visibility": "open",
            "capabilities": {
                "gameplay": true,
                "large": true
            },
            "timeouts": {
                "inactive": 0,
                "ready": 180000,
                "sessionEmpty": 0
            }
        },
        "custom": { }
    }
}
```

## 大規模セッションを扱う

大規模セッションを MPSD に書き込むときは、1 秒あたり 10 回の書き込みを超えないことをお勧めします。
1,000 プレイヤーの一般的なセッションでは、メンバーの参加や離脱などの更新により、プレイヤーごとに平均して 2 分ごとに書き込みが行われることがあります。

その他のプロパティは、大規模セッションで維持されるべきではありません。

### 同じ大規模セッションからのプレイヤーを関連付ける

MPSD から大規模セッションを取得するとき、応答にはメンバーのリストが含まれません。完全なリストを取得する方法はありません。
呼び出し元がセッションに参加している場合、そのメンバー レコードのみが `members` コレクションに含まれ、リクエスト同様に `me` としてラベル付けされます。

つまり、クライアント メンバーはセッション内の自分自身のエントリしか更新できません。彼らは、指定した共通の識別子を提供するためにサーバーに依存します。XBOX services はこの識別子を使用して一緒にプレイしたプレイヤーを関連付け、評判と最近のプレイヤーの状態を更新します。

セッション内のプレイヤーが一緒にプレイしたことを示す方法には 2 つあります: 永続的なグループと短時間の遭遇です。

#### 永続的なグループ

*永続的なグループ*は、継続的に一緒にプレイするプレイヤーの名前付きグループで、一部のプレイヤーが参加または離脱する可能性があります。グループ名は、GUID など、通常のセッションに適用される命名規則に従う必要があります。

各メンバーがグループに参加または離脱するとき、自分自身の `groups` プロパティ (文字列の配列) にグループ名を追加または削除する必要があります。

```json theme={null}
{
    "members": {
        "me": {
            "properties": {
                "system": {
                    "groups": [ "example-group-name" ]
                }
            }
        }
    }
}
```

#### 短時間の遭遇

2 人のプレイヤーが短時間、一度きりの遭遇 (*短時間の遭遇*) をした場合、ゲームは `group` プロパティの代わりに `encounters` プロパティを使用してこれを示すことができます。

各遭遇に名前を付けます。遭遇後、両方 (またはすべて) の参加者は、遭遇名を自分の `encounters` プロパティに書き込みます。

```json theme={null}
{
    "members": {
        "me": {
            "properties": {
                "system": {
                    "encounters": [ "trade.0c7bbbbf-1e49-40a1-a354-0a9a9e23d26a" ]
                }
            }
        }
    }
}
```

`groups` と `encounters` の両方に同じ名前を使用できます。たとえば、あるプレイヤーが `groups` に名前が追加されているグループと「取引」した場合、遭遇したプレイヤーはそのグループ名を「encounters」リストにアップロードします。これにより、その個人はグループのすべてのメンバーを最近のプレイヤーとして見ることができ、その逆も同様です。グループ内のプレイヤーは、グループのメンバーシップを更新するための操作を行う必要はありません。

プレイヤーが 30 秒間グループのメンバーになると、それは遭遇としてカウントされます。
遭遇は 1 回限りのイベントと見なされるため、`encounters` プロパティは常に即座に処理された後、セッションからクリアされます。

`encounters` 配列は、応答には決して表示されません。
対照的に、`groups` プロパティは変更または削除されるか、メンバーがセッションを離脱するまで残ります。


## Related topics

- [概念](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/index.md)
- [マルチプレイヤー セッションをシャットダウンする (フローチャート)](/ja-jp/services/xbox-services/multiplayer/mpm/concepts/flowcharts/live-mpm-shut-down.md)
- [マルチプレイヤー セッションの詳細トピック](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details.md)
- [サービス間 (S2S) でのマルチプレイヤー セッション管理](/ja-jp/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/s2s-call-patterns/live-mpsd-service-to-service.md)
- [Multiplayer Session Directory (MPSD) の概念](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-concepts-nav.md)
