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

# セッションテンプレートの定数

> XBOX マルチプレイヤーセッションを構成する、事前定義された MPSD セッションテンプレート定数 (system、capabilities、metrics、memberInitialization、QoS) のリファレンス。

<a id="top" />

このトピックでは、セッションテンプレートバージョン 107 に基づいて、マルチプレイヤーセッションテンプレートの事前定義された要素について説明します。これらの要素は、マルチプレイヤーセッションの設定を定義します。

**目次**

* [system](#system)
* [capabilities](#capabilities)
* [metrics](#metrics)
* [memberInitialization](#memberinitialization)
* [peerToPeerRequirements](#peertopeerrequirements)
* [peerToHostRequirements](#peertohostrequirements)
* [measurementServerAddresses](#measurementserveraddresses)
* [cloudComputePackage (非推奨)](#cloudcomputepackage)
* [arbitration (非推奨)](#arbitration)
* [broadcastViewerTitleIds](#broadcastviewertitleids)
* [ownershipPolicies](#ownershippolicies)

<a id="system" />

## system

| System 定数                    | 説明                                                                                                                                           | 有効な値                                       | デフォルト値 |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | ------ |
| `version`                    | セッションテンプレートのバージョン。                                                                                                                           | 1 - n                                      | なし     |
| `maxMembersCount`            | マルチプレイヤーアクティビティでサポートされるセッションメンバースロットの総数。                                                                                                     | 通常のセッションでは 1 - 100、大規模セッションでは 101+         | 100    |
| `visibility`                 | セッションの可視性状態。他のユーザーがセッションを表示または参加できるかどうかを示します。                                                                                                | "private"、"visible"、"open"                 | "open" |
| `inviteProtocol`             | この定数を "game" に設定すると、招待者はセッションに招待されたときに通知を受け取ることができます。                                                                                        | "game"、"tournamentgame"、"chat"、"gameparty" | なし     |
| `reservedRemovalTimeout`     | メンバー予約のタイムアウト (ミリ秒単位)。値 0 は即時タイムアウトを示します。値 `null` は無限とみなされます。                                                                                | 0 - n、`null`                               | 30000  |
| `inactiveRemovalTimeout`     | メンバーが非アクティブとみなされるまでのタイムアウト (ミリ秒単位)。値 0 は即時タイムアウトを示します。値 `null` は無限とみなされます。                                                                   | 0 - n、`null`                               | 0      |
| `readyRemovalTimeout`        | メンバーが Ready 状態とみなされるまでのタイムアウト (ミリ秒単位)。値 0 は即時タイムアウトを示します。値 `null` は無限とみなされます。                                                                | 0 - n、`null`                               | 180000 |
| `sessionEmptyTimeout`        | 空セッションのタイムアウト (ミリ秒単位)。値 0 は即時タイムアウトを示します。値 `null` は無限とみなされます。                                                                                | 0 - n、`null`                               | 0      |
| `capabilities`               | セッションの機能を指定します。詳細については、このトピックの後半にある [capabilities](#capabilities) セクションを参照してください。                                                            | 該当なし                                       | 該当なし   |
| `metrics`                    | セッションのメンバーが満たさなければならない、遅延や帯域幅速度などのタイトル定義の Quality of Service (QoS) 要件のセットを指定します。詳細については、このトピックの後半にある [metrics](#metrics) セクションを参照してください。     | 該当なし                                       | 該当なし   |
| `memberInitialization`       | 新しいメンバーがセッションに参加する際に適用されるタイムアウトと初期化要件を指定します。詳細については、このトピックの後半にある [`memberInitialization`](#memberinitialization) セクションを参照してください。             | 該当なし                                       | 該当なし   |
| `peerToPeerRequirements`     | ピアツーピアメッシュ接続のネットワーク QoS 要件を指定します。詳細については、このトピックの後半にある [peerToPeerRequirements](#peertopeerrequirements) セクションを参照してください。                      | 該当なし                                       | 該当なし   |
| `peerToHostRequirements`     | ピアツーホスト接続のネットワーク QoS 要件を指定します。詳細については、このトピックの後半にある [peerToHostRequirements](#peertohostrequirements) セクションを参照してください。                         | 該当なし                                       | 該当なし   |
| `measurementServerAddresses` | QoS 測定を決定するために使用される可能性のあるデータセンターのコレクションを指定します。詳細については、このトピックの後半にある [measurementServerAddresses](#measurementserveraddresses) セクションを参照してください。 | 該当なし                                       | 該当なし   |
| `cloudComputePackage` (非推奨)  | 割り当てる XBOX Live Compute クラウドパッケージのプロパティを指定します。詳細については、このトピックの後半にある [cloudComputePackage](#cloudcomputepackage) セクションを参照してください。               | 該当なし                                       | 該当なし   |
| `arbitration` (非推奨)          | トーナメントでメンバーが arbitration 結果を送信するためのタイムアウトを指定します。詳細については、このトピックの後半にある [arbitration (非推奨)](#arbitration) セクションを参照してください。                       | 該当なし                                       | 該当なし   |
| `broadcastViewerTitleIds`    | セッションに常に読み取りアクセス権を持つべきタイトル ID のリストを指定します。詳細については、このトピックの後半にある [broadcastViewerTitleIds](#broadcastviewertitleids) セクションを参照してください。            | 該当なし                                       | 該当なし   |
| `ownershipPolicies`          | セッションの所有権に関するポリシーを指定します。詳細については、このトピックの後半にある [ownershipPolicies](#ownershippolicies) セクションを参照してください。                                         | 該当なし                                       | 該当なし   |

[このトピックの先頭に戻る。](#top)

<a id="capabilities" />

## capabilities

Capabilities は、セッションテンプレートで任意に設定されるブール値です。
機能が必要ない場合は、タイトルが動的セッション機能を必要としない限り、セッション作成時に機能が指定されるのを防ぐために、テンプレートで空の `capabilities` プロパティを設定する必要があります。

| Capability                           | 説明                                                                                                                                    | 有効な値           | デフォルト値  |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------- |
| `connectivity`                       | セッションがピア接続をサポートするかどうかを示します。この値が `false` の場合、セッションでメトリックを有効にすることはできず、セッションメンバーは `secureDeviceAddress` を設定できません。この機能は大規模セッションでは設定できません。 | `true`、`false` | `false` |
| `suppressPresenceActivityCheck`      | `true` の場合、プレゼンスチェックを無効にします。                                                                                                          | `true`、`false` | `false` |
| `gameplay`                           | セッションが、ロビーやマッチメーキングなどのセットアップやメニュー時間ではなく、実際のゲームプレイを表すかどうかを示します。`true` の場合、セッションはゲームプレイモードです。                                           | `true`、`false` | `false` |
| `large`                              | セッションが大規模セッション (100 メンバー超) かどうかを示します。大規模セッションは Multiplayer Manager での使用はサポートされていません。                                                  | `true`、`false` | `false` |
| `connectionRequiredForActiveMembers` | メンバーがアクティブになるために接続が必要かどうかを示します。                                                                                                       | `true`、`false` | `false` |
| `cloudCompute` (非推奨)                 | クライアントが、セッションに代わってクラウド コンピュート インスタンスの割り当てを要求できるようにします。XBOX Live Compute はサービスとして利用できなくなったため、非推奨です。                                    | `true`、`false` | `false` |
| `autoPopulateServerCandidates`       | `serverMeasurements` から `serverConnectionStringCandidates` を自動的に計算して設定します。この機能は大規模セッションでは設定できません。                                     | `true`、`false` | `false` |
| `userAuthorizationStyle`             | 強力なタイトル ID を持たないプラットフォームからの呼び出しをセッションがサポートするかどうかを示します。この機能は大規模セッションでは設定できません。                                                         |                |         |

`userAuthorizationStyle` 機能を `true` に設定すると、`readRestriction` と `joinRestriction` のセッションデフォルトが `none` ではなく `local` になります。これは、タイトルがゲームセッションに参加するために検索ハンドルまたは転送ハンドルを使用する必要があることを意味します。 | `true`、`false` | `false`
`crossPlay` | セッションが Windows PC、XBOX One、または XBOX Series デバイス間のクロスプレイをサポートすることを示します。 | `true`、`false` | `true`
`broadcast` | セッションがブロードキャストを表すことを示します。セッションの名前はブロードキャスターの xuid である必要があります。`large` 機能が必要です。 | `true`、`false` | `false`
`team` | セッションがトーナメントチームを表すことを示します。この機能は `large` または `gameplay` セッションでは設定できません。 | `true`、`false` | `false`
`arbitration` | セッションが、`arbitration` サーバーエントリを追加するサービスプリンシパルによって作成される必要があることを示します。`gameplay` が必要ですが、`large` セッションでは設定できません。 | `true`、`false` | `false`
`hasOwners` | セッションが特定のメンバーがオーナーであることに基づくセキュリティポリシーを持つことを示します。 | `true`、`false` | `false`
`searchable` | セッションが検索ハンドルのターゲットセッションになり得ることを示します。`userAuthorizationStyle` と `searchable` の機能が設定されている場合、`hasOwners` も設定されている必要があります。 | `true`、`false` | `false`

#### 例: capabilities

```json theme={null}
"capabilities": {
    "connectivity": true,  
    "suppressPresenceActivityCheck": true,
    "gameplay": true,
    "large": true,
    "connectionRequiredForActiveMembers": true,
    "cloudCompute": true,
    "autoPopulateServerCandidates": true,
    "userAuthorizationStyle": true,
    "crossPlay": true,  
    "broadcast": true,  
    "team": true,
    "arbitration": true,
    "hasOwners": true,
    "searchable": true  
},
```

[このトピックの先頭に戻る。](#top)

<a id="metrics" />

## metrics

`metrics` プロパティが指定されていない場合、QoS 要件を満たすために必要な値がデフォルトとして使用されます。

`metrics` プロパティが指定されている場合、値は QoS 要件を満たすのに十分でなければなりません。

この要素は、セッションに `connectivity` 機能が設定されている場合のみ有効です。

| Metric          | 説明                                                    | 有効な値           | デフォルト値         |
| --------------- | ----------------------------------------------------- | -------------- | -------------- |
| `latency`       | セッションテンプレートで `latencyMaximum` が指定されているかどうかを示します       | `true`、`false` | この説明を参照してください。 |
| `bandwidthDown` | セッションテンプレートで `bandwidthDownMinimum` が指定されているかどうかを示します | `true`、`false` | この説明を参照してください。 |
| `bandwidthUp`   | セッションテンプレートで `bandwidthUpMinimum` が指定されているかどうかを示します   | `true`、`false` | この説明を参照してください。 |
| `custom`        | セッションテンプレートでカスタムメトリックが指定されているかどうかを示します                | `true`、`false` | この説明を参照してください。 |

#### 例: metrics

```json theme={null}
"metrics": {
    "latency": true,
    "bandwidthDown": true,
    "bandwidthUp": true,
    "custom": true
},
```

[このトピックの先頭に戻る。](#top)

<a id="memberinitialization" />

## memberInitialization

`memberInitialization` プロパティが設定されている場合、セッションはクライアントシステムまたはタイトルが、セッションの作成後または新しいメンバーがセッションに参加した後に初期化を実行することを期待します。

タイムアウトと初期化ステージは、メトリックが設定されている場合は QoS 測定を含めて、セッションによって自動的に追跡されます。
これらのタイムアウトは、`initializationEpisode` が設定されているメンバーのセッションの予約タイムアウトと Ready タイムアウトをオーバーライドします。

`memberInitialization` は、大規模セッションでは指定できません。

| 要素            | 説明                                                        | 有効な値 | デフォルト値 |
| ------------- | --------------------------------------------------------- | ---- | ------ |
| `joinTimeout` | メンバーがセッションに参加するまでの時間 (ミリ秒単位) を示します。参加に失敗したユーザーの予約は削除されます。 |      |        |

**注意:** デフォルト時間は通常のタイトル実行では十分ですが、Multiplayer Session Directory (MPSD) フロー中にタイトルをデバッグしている場合は、参加タイムアウトが発生する可能性があります。デバッグ中は、セッションのこのデフォルト値をオーバーライドして増やしてください。| 0 - n | 10000
`measurementTimeout` | セッションメンバーが測定値をアップロードするまでの時間 (ミリ秒単位) を示します。測定値のアップロードに失敗したメンバーは、失敗理由「timeout」でマークされます。  | 0 - n | 30000
`evaluationTimeout` | 外部評価が測定値をアップロードするまでの時間 (ミリ秒単位) を示します。 | 0 - n | 5000
`externalEvaluation` | `true` の場合、タイトルコードが QoS 測定に基づいて誰が参加できるかの評価を実行することを示します。マルチプレイヤーサービスは QoS ロジックを実行せず、タイトルが初期化ステージを進める責任を負います。タイトルは通常これを必要としません。 | `true`、`false` | `false`
`membersNeededToStart` | 初期化エピソード 0 のみでセッションを開始するために必要なメンバー数。 | 1 - `maxMembersCount` | 1

#### 例: memberInitialization

```json theme={null}
"memberInitialization": {
    "joinTimeout": 10000,
    "measurementTimeout": 30000,
    "evaluationTimeout": 5000,
    "externalEvaluation": false,
    "membersNeededToStart": 1
},
```

[このトピックの先頭に戻る。](#top)

<a id="peertopeerrequirements" />

## peerToPeerRequirements

| ピアツーピアネットワーク要件     | 説明                              | デフォルト値 |
| ------------------ | ------------------------------- | ------ |
| `latencyMaximum`   | 任意の 2 つのクライアント間の最大遅延 (ミリ秒単位)    | 250    |
| `bandwidthMinimum` | 任意の 2 つのクライアント間の最小帯域幅 (キロビット/秒) | 10000  |

#### 例: peerToPeerRequirements

```json theme={null}
"peerToPeerRequirements": {
    "latencyMaximum": 250,
    "bandwidthMinimum": 10000
},
```

[このトピックの先頭に戻る。](#top)

<a id="peertohostrequirements" />

## peerToHostRequirements

| ピアツーホストネットワーク要件        | 説明                              | 有効な値                                                | デフォルト値    |
| ---------------------- | ------------------------------- | --------------------------------------------------- | --------- |
| `latencyMaximum`       | ピアツーホスト接続の最大遅延 (ミリ秒単位)          |                                                     | 250       |
| `bandwidthDownMinimum` | ホストからピアに送信される情報の最小帯域幅 (キロビット/秒) |                                                     | 100000    |
| `bandwidthUpMinimum`   | ピアからホストに送信される情報の最小帯域幅 (キロビット/秒) |                                                     | 1000      |
| `hostSelectionMetric`  | ホストを選択するために使用されるメトリックを示します      | "bandwidthup"、"bandwidthdown"、"bandwidth"、"latency" | "latency" |

#### 例: peerToHostRequirements

```json theme={null}
"peerToHostRequirements": {
    "latencyMaximum": 250,
    "bandwidthDownMinimum": 100000,
    "bandwidthUpMinimum": 1000,
    "hostSelectionMetric": "bandwidthup"
},
```

[このトピックの先頭に戻る。](#top)

<a id="measurementserveraddresses" />

## measurementServerAddresses

評価する可能性のあるサーバー接続文字列のセット。
接続文字列は小文字である必要があります。
`measurementServerAddresses` は、大規模セッションでは指定できません。

接続文字列は、次の形式で定義されます。

`"<server name>": { "secureDeviceAddress": <device address> }`

ここで、デバイスアドレスはサーバーの base-64 エンコードされたセキュアデバイスアドレスです。

#### 例: measurementServerAddresses

```json theme={null}
"measurementServerAddresses": {
    "server farm a": {
        "secureDeviceAddress": "r5Y="
    },
    "datacenter b": {
        "secureDeviceAddress": "rwY="
    }
},
```

[このトピックの先頭に戻る。](#top)

<a id="cloudcomputepackage" />

## cloudComputePackage (非推奨)

XBOX Live Compute サービスは利用できなくなり、廃止されたため、このプロパティは非推奨です。
割り当てるクラウド コンピュート パッケージのプロパティを指定します。

`cloudCompute` 機能が設定されている必要があります。

| プロパティ     | 説明                                                                    |
| --------- | --------------------------------------------------------------------- |
| `titleId` | 割り当てるクラウド コンピュート パッケージのタイトル ID を示します                                  |
| `gsiSet`  | 割り当てるクラウド コンピュート パッケージの Global Security Infrastructure (GSI) セットを示します |
| `variant` | 割り当てるクラウド コンピュート パッケージのバリアントを示します                                     |

#### 例: cloudComputePackage

```json theme={null}
"cloudComputePackage": {
    "titleId": "4567",
    "gsiSet": "128ce92a-45d0-4319-8a7e-bd8e940114ec",
    "variant": "30ebca60-d96e-4629-930b-6957aa6bfbfa"
},
```

[このトピックの先頭に戻る。](#top)

<a id="arbitration" />

## arbitration (非推奨)

XBOX Live Compute サービスは利用できなくなり、廃止されたため、このプロパティは非推奨です。
arbitration プロセスのタイムアウトを指定します。

`arbitration` 機能が設定されている必要があります。

arbitration 開始時間は、セッションの */servers/arbitration/constants/system/startTime* 要素で定義されます。

| タイムアウト               | 説明                                                                                              | 有効な値  | デフォルト値 |
| -------------------- | ----------------------------------------------------------------------------------------------- | ----- | ------ |
| `forfeitTimeout`     | arbitration 開始時間からの時間 (ミリ秒単位) を示します。                                                            | 0 - n | 60000  |
| `arbitrationTimeout` | arbitration 開始時間から arbitration 結果がタイムアウトするまでの時間 (ミリ秒単位) を示します。この値は `forfeitTimeout` 値未満にはできません。 | 0 - n | 300000 |

#### 例: arbitration

```json theme={null}
"arbitration": {
    "forfeitTimeout": 60000,
    "arbitrationTimeout": 300000
},
```

[このトピックの先頭に戻る。](#top)

<a id="broadcastviewertitleids" />

## broadcastViewerTitleIds

ブロードキャストセッションに常に読み取りアクセス権を持つべきタイトルのタイトル ID の配列を指定します。

#### 例: broadcastViewerTitleIds

```json theme={null}
"broadcastViewerTitleIds" : ["34567", "8910"],
```

[このトピックの先頭に戻る。](#top)

<a id="ownershippolicies" />

## ownershipPolicies

最後のオーナーがセッションから離脱した際のセッションの処理方法を指定します。
`hasOwners` 機能が設定されている必要があります。

| 所有権ポリシー                              | 説明                                                                                                                                                    | 有効な値                  | デフォルト値       |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ------------ |
| `migration`                          | 最後のオーナーがセッションから離脱したときに何が起こるかを示します。移行ポリシーが "endsession" に設定されている場合、セッションは有効期限切れになります。移行ポリシーが "oldest" に設定されている場合、参加時刻が最も古いメンバーがセッションの新しいオーナーとして選択されます。 | "oldest"、"endsession" | "endsession" |
| `allowNonOwnerInviteHandles`         | オーナーではないセッションメンバーの招待動作を示します。デフォルトでは、非オーナーはセッションの招待を送信できません。                                                                                           | `true`、`false`        | `false`      |
| `nonOwnerModifiableSystemProperties` | `hasOwners` 機能が `true` に設定されているセッションで非オーナーが変更できるシステムプロパティ名のリスト。                                                                                       | システムプロパティ名のリスト        | 該当なし         |

#### 例: ownershipPolicies

```json theme={null}
"ownershipPolicies": {
     "migration": "oldest",
     "allowNonOwnerInviteHandles": true,
     "nonOwnerModifiableSystemProperties": ["joinRestriction", "closed"] 
}
```

[このトピックの先頭に戻る。](#top)


## Related topics

- [マルチプレイヤーセッションのステータスコード](/ja-jp/services/xbox-services/multiplayer/mpsd/how-to/live-mpsd-status-codes.md)
- [マルチプレイヤーセッションテンプレート](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-session-templates.md)
- [マルチプレイヤー セッションの詳細トピック](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details.md)
- [Multiplayer サービスの構成](/ja-jp/services/xbox-services/multiplayer/concepts/live-configure-the-multiplayer-service.md)
- [マルチプレイヤーの FAQ とトラブルシューティング](/ja-jp/services/xbox-services/multiplayer/mpsd/concepts/live-multiplayer-2015-faq.md)
