次の方法で共有


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

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

目次

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 に設定すると、readRestrictionjoinRestriction のセッション規定値が 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 セッションを検索ハンドルのターゲット セッションにできることを示します。 userAuthorizationStylesearchable の機能が設定されている場合は、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 機能 hasOwnerstrue に設定されているセッションで、オーナー以外が変更できるシステム プロパティ名のリスト。 システムプロパティ名一覧 該当なし

例: ownershipPolicies

"ownershipPolicies": {
     "migration": "oldest",
     "allowNonOwnerInviteHandles": true,
     "nonOwnerModifiableSystemProperties": ["joinRestriction", "closed"] 
}

このトピックの先頭に戻る。