セッション テンプレートの定数
このトピックでは、セッション テンプレート バージョン 107 に基づいて、マルチプレイヤー セッション テンプレートの定義済み要素について説明します。 これらの要素は、マルチプレイヤー セッションの設定を定義します。
目次
- system
- capabilities
- metrics
- memberInitialization
- peerToPeerRequirements
- peerToHostRequirements
- measurementServerAddresses
- cloudComputePackage (非推奨)
- arbitration (非推奨)
- broadcastViewerTitleIds
- ownershipPolicies
system
システム定数 | 説明 | 有効な値 | 既定値 |
---|---|---|---|
version |
セッション テンプレートのバージョン。 | 1 から n | なし |
maxMembersCount |
マルチプレイヤー アクティビティでサポートされるセッション メンバー スロットの合計数。 | 通常のセッションの場合は 1 から 100、大規模なセッションの場合は 101 以上 | 100 |
visibility |
他のユーザーによるセッションの表示または参加が可能かどうかを示すセッションの可視性の状態。 | "プライベート"、"可視"、"開く" | "開く" |
inviteProtocol |
この定数を "ゲーム" に設定すると、招待されたユーザーはセッションに招待されたときに通知を受け取ることができます。 | "ゲーム", "tournamentgame", "チャット", "gameparty" | なし |
reservedRemovalTimeout |
メンバー予約のタイムアウト (ミリ秒単位)。 値が 0 の場合は、即時タイムアウトを示します。null の値は無限と見なされます。 |
0 から n、null |
30000 |
inactiveRemovalTimeout |
メンバーが非アクティブと見なされるタイムアウト (ミリ秒単位)。 値が 0 の場合は、即時タイムアウトを示します。null の値は無限と見なされます。 |
0 から n、null |
0 |
readyRemovalTimeout |
メンバーが準備完了と見なされるタイムアウト (ミリ秒単位)。 値が 0 の場合は、即時タイムアウトを示します。null の値は無限と見なされます。 |
0 から n、null |
180000 |
sessionEmptyTimeout |
空のセッションのタイムアウト (ミリ秒単位)。 値が 0 の場合は、即時タイムアウトを示します。null の値は無限と見なされます。 |
0 から n、null |
0 |
capabilities |
セッションの機能を指定します。 詳細については、このトピックで後述する機能セクションを参照してください。 | 該当なし | 該当なし |
metrics |
セッションのメンバーが満たす必要のある、遅延や帯域幅速度などの、タイトルで定義されているサービス品質要件 (QoS) のセットを指定します。 詳細については、このトピックで後述するメトリック セクションを参照してください。 | 該当なし | 該当なし |
memberInitialization |
新しいメンバーがセッションの参加するときに適用されるタイムアウトと初期化の要件を指定します。 詳細については、このトピックで後述するmemberInitialization セクションを参照してください。 |
該当なし | 該当なし |
peerToPeerRequirements |
ピアツーピア メッシュ接続のネットワーク QoS 要件を指定します。 詳細については、このトピックで後述する peerToPeerRequirements セクションを参照してください。 | 該当なし | 該当なし |
peerToHostRequirements |
ピアツーホスト接続のネットワーク QoS 要件を指定します。 詳細については、このトピックで後述する peerToHostRequirements セクションを参照してください。 | 該当なし | 該当なし |
measurementServerAddresses |
QoS 測定の決定に使用される可能性のあるデータセンターのコレクションを指定します。 詳細については、このトピックで後述する measurementServerAddresses セクションを参照してください。 | 該当なし | 該当なし |
cloudComputePackage (非推奨) |
割り当てる Xbox Live エンジン クラウド パッケージのプロパティを指定します。 詳細については、このトピックで後述する cloudComputePackage セクションを参照してください。 | 該当なし | 該当なし |
arbitration (非推奨) |
トーナメントで判定結果を送信するためのメンバーのタイムアウトを指定します。 詳細については、このトピックで後述する判定 (非推奨) セクションを参照してください。 | 該当なし | 該当なし |
broadcastViewerTitleIds |
セッションの読み取りアクセス権を常に持つ必要があるタイトル ID のリストを指定します。 詳細については、このトピックで後述する broadcastViewerTitleIds セクションを参照してください。 | 該当なし | 該当なし |
ownershipPolicies |
セッションの所有権に関連するポリシーを指定します。 詳細については、このトピックで後述する ownershipPolicies セクションを参照してください。 | 該当なし | 該当なし |
capabilities
機能は、必要に応じてセッション テンプレートに設定されるブール値です。
機能が必要でない場合は、タイトルが動的なセッション機能を必要としない限り、テンプレートに空の capabilities
プロパティをセットして、セッション作成時に機能が指定されないようにする必要があります。
機能 | 説明 | 有効な値 | 既定値 |
---|---|---|---|
connectivity |
セッションがピア接続をサポートするかどうかを示します。 この値が false の場合、セッションはメトリックを有効にできず、セッション メンバーは secureDeviceAddress を設定できません。 この機能は大きなセッションには設定できません。 |
true , false |
false |
suppressPresenceActivityCheck |
true の場合、プレゼンス チェックを無効にします。 |
true , false |
false |
gameplay |
ロビーやマッチメイキングなどのセットアップ時間やメニュー時間ではなく、セッションが実際のゲームプレイを表しているかどうかを示します。
true の場合、セッションはゲームプレイ モードです。 |
true , false |
false |
large |
セッションが大規模なセッション (100 メンバーより多い) かどうかを示します。 マルチプレイヤー マネージャーでは大規模なセッションの使用はサポートされていません。 |
true , false |
false |
connectionRequiredForActiveMembers |
メンバーがアクティブになるために接続が必要かどうかを示します。 |
true , false |
false |
cloudCompute (非推奨) |
クライアントにより、セッションの代わりにクラウド コンピューティング インスタンスが割り当てられるよう要求することが可能です。 Xbox Live エンジンがサービスとして利用できなくなったため、非推奨になりました。 |
true , false |
false |
autoPopulateServerCandidates |
serverMeasurements から serverConnectionStringCandidates を自動的に計算して設定します。 この機能は大きなセッションには設定できません。 |
true , false |
false |
userAuthorizationStyle |
セッションが強力なタイトル識別なしでプラットフォームからの呼び出しをサポートするかどうかを示します。 この機能は大きなセッションには設定できません。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": {
"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
},
metrics
metrics
プロパティが指定されていない場合は、QoS 要件を満たすために必要な値が既定で設定されます。
metrics
プロパティを指定する場合は、QoS 要件を満たすために十分な値にする必要があります。
この要素は、セッションに connectivity
機能が設定されている場合にのみ有効です。
メトリック | 説明 | 有効な値 | 既定値 |
---|---|---|---|
latency |
セッション テンプレートで latencyMaximum が指定されているかどうかを示します |
true , false |
この説明をご覧ください。 |
bandwidthDown |
セッション テンプレートで bandwidthDownMinimum が指定されているかどうかを示します |
true , false |
この説明をご覧ください。 |
bandwidthUp |
セッション テンプレートで bandwidthUpMinimum が指定されているかどうかを示します |
true , false |
この説明をご覧ください。 |
custom |
セッション テンプレートでカスタム メトリックが指定されているかどうかを示します |
true , false |
この説明をご覧ください。 |
例: メトリック
"metrics": {
"latency": true,
"bandwidthDown": true,
"bandwidthUp": true,
"custom": true
},
memberInitialization
memberInitialization
プロパティが設定されている場合、セッションでは、セッションが作成された後、または新しいメンバーがセッションに参加した後、クライアント システムまたはタイトルで初期化が実行されるものと想定されます。
タイムアウトおよび初期化ステージは、セッションによって自動的に追跡されます。これには、メトリックが設定されている場合の QoS 測定が含まれます。
これらのタイムアウトは、initializationEpisode
が設定されているメンバーのセッションの予約および準備完了タイムアウトをオーバーライドします。
memberInitialization
は、大規模なセッションでは指定できません。
要素 | 説明 | 有効な値 | 既定値 |
---|---|---|---|
joinTimeout |
メンバーがセッションに参加するまでに使用できるミリ秒数を示します。 参加に失敗したユーザーの予約は削除されます。 注: 既定の時間は通常のタイトル実行には十分ですが、マルチプレイヤー セッション ディレクトリ (MPSD) フローでタイトルがデバッグ中である場合には参加タイムアウトになる可能性があります。 デバッグ中に、セッションのこの既定値をオーバーライドし、値を増やします。 |
0 から n | 10000 |
measurementTimeout |
セッション メンバーが測定値をアップロードするまでに使用できるミリ秒数を示します。 測定値のアップロードに失敗したメンバーには、失敗理由として "タイムアウト" が設定されます。 | 0 から n | 30000 |
evaluationTimeout |
外部評価が測定値をアップロードするまでに使用できるミリ秒数を示します。 | 0 から n | 5000 |
externalEvaluation |
true の場合は、QoS の測定値に基づいて参加するメンバーの評価をタイトル コードが実行することを示します。 マルチプレイヤー サービスはどのような QoS ロジックも実行せず、初期化ステージを進める責任はタイトルにあります。 通常、タイトルはこれを行う必要はありません。 |
true , false |
false |
membersNeededToStart |
エピソード 0 の初期化の場合にのみ、セッションを開始するために必要なメンバーの数。 | 1 - maxMembersCount |
1 |
例: memberInitialization
"memberInitialization": {
"joinTimeout": 10000,
"measurementTimeout": 30000,
"evaluationTimeout": 5000,
"externalEvaluation": false,
"membersNeededToStart": 1
},
peerToPeerRequirements
ピアツーピア ネットワーク要件 | 説明 | 既定値 |
---|---|---|
latencyMaximum |
2 つのクライアント間の最大遅延 (ミリ秒単位) | 250 |
bandwidthMinimum |
2 つのクライアント間の最小帯域幅 (kbps 単位) | 10000 |
例: peerToPeerRequirements
"peerToPeerRequirements": {
"latencyMaximum": 250,
"bandwidthMinimum": 10000
},
peerToHostRequirements
ピアツーホスト ネットワーク要件 | 説明 | 有効な値 | 既定値 |
---|---|---|---|
latencyMaximum |
ピアからホストへの接続の最大遅延 (ミリ秒単位) | 250 | |
bandwidthDownMinimum |
ホストからピアに送信される情報の最小帯域幅 (kbps 単位) | 100000 | |
bandwidthUpMinimum |
ピアからホストに送信される情報の最小帯域幅 (kbps 単位) | 1,000 | |
hostSelectionMetric |
ホストを選択するのにどのメトリックが使用されるかを示します。 | "bandwidthup"、"bandwidthdown"、"帯域幅"、および "待機時間" | "待機時間" |
例: peerToHostRequirements
"peerToHostRequirements": {
"latencyMaximum": 250,
"bandwidthDownMinimum": 100000,
"bandwidthUpMinimum": 1000,
"hostSelectionMetric": "bandwidthup"
},
measurementServerAddresses
評価する必要のある潜在的サーバー接続文字列のセット。
接続文字列は小文字にする必要があります。
measurementServerAddresses
は、大規模なセッションでは指定できません。
接続文字列は次の形式で定義されます。
"<server name>": { "secureDeviceAddress": <device address> }
ここで、デバイス アドレスは、サーバーの base-64 でエンコードされたセキュア デバイス アドレスです。
例: measurementServerAddresses
"measurementServerAddresses": {
"server farm a": {
"secureDeviceAddress": "r5Y="
},
"datacenter b": {
"secureDeviceAddress": "rwY="
}
},
cloudComputePackage (非推奨)
Xbox Live エンジン サービスが利用できなくなり、廃止されたため、このプロパティは非推奨になりました。 割り当てるクラウド コンピューティング パッケージのプロパティを指定します。
cloudCompute
機能が設定されている必要があります。
プロパティ | 説明 |
---|---|
titleId |
割り当てるクラウド コンピューティング パッケージのタイトル ID を示します |
gsiSet |
割り当てるクラウド コンピューティング パッケージのグローバル セキュリティ インフラストラクチャ (GSI) セットを示します |
variant |
割り当てるクラウド コンピューティング パッケージのバリアントを示します |
例: cloudComputePackage
"cloudComputePackage": {
"titleId": "4567",
"gsiSet": "128ce92a-45d0-4319-8a7e-bd8e940114ec",
"variant": "30ebca60-d96e-4629-930b-6957aa6bfbfa"
},
arbitration (非推奨)
Xbox Live エンジン サービスが利用できなくなり、廃止されたため、このプロパティは非推奨になりました。 判定プロセスのタイムアウトを指定します。
arbitration
機能が設定されている必要があります。
判定の開始時刻は、セッションの /servers/arbitration/constants/system/startTime 要素で定義されています。
タイムアウト | 説明 | 有効な値 | 既定値 |
---|---|---|---|
forfeitTimeout |
判定開始時刻からの時間を示します (ミリ秒単位)。 | 0 から n | 60000 |
arbitrationTimeout |
判定結果がタイムアウトするまでの判定開始時刻からの時間を示します (ミリ秒単位)。この値を forfeitTimeout の値より小さくすることはできません。 |
0 から n | 300000 |
例: 判定
"arbitration": {
"forfeitTimeout": 60000,
"arbitrationTimeout": 300000
},
broadcastViewerTitleIds
ブロードキャスト セッションの読み取りアクセス権を常に持つ必要があるタイトルのタイトル ID の配列を指定します。
例: broadcastViewerTitleIds
"broadcastViewerTitleIds" : ["34567", "8910"],
ownershipPolicies
最後の所有者がセッションを離れたときのセッションの処理方法を指定します。
hasOwners
機能が設定されている必要があります。
所有権ポリシー | 説明 | 有効な値 | 既定値 |
---|---|---|---|
migration |
最後のオーナーがセッションを離れたときの動作を示します。 移行ポリシーが "endsession" に設定されている場合、セッションは期限切れになります。 移行ポリシーが "oldest" に設定されている場合、参加時刻が最も古いメンバーがセッションの新しい所有者になります。 | "oldest"、"endsession" | "endsession" |
allowNonOwnerInviteHandles |
所有者ではないセッション メンバーに対する招待動作を示します。 既定では、所有者以外はセッションに対する招待を送信できません。 |
true , false |
false |
nonOwnerModifiableSystemProperties |
機能 hasOwners が true に設定されているセッションで、オーナー以外が変更できるシステム プロパティ名のリスト。 |
システムプロパティ名一覧 | 該当なし |
例: ownershipPolicies
"ownershipPolicies": {
"migration": "oldest",
"allowNonOwnerInviteHandles": true,
"nonOwnerModifiableSystemProperties": ["joinRestriction", "closed"]
}