XblMultiplayerSessionProperties
このセッションに関連付けられているプロパティのセット。 任意のプレイヤーがこれらのプロパティを変更できます。
構文
typedef struct XblMultiplayerSessionProperties {
const char** Keywords;
size_t KeywordCount;
XblMultiplayerSessionRestriction JoinRestriction;
XblMultiplayerSessionRestriction ReadRestriction;
uint32_t* TurnCollection;
size_t TurnCollectionCount;
const char* MatchmakingTargetSessionConstantsJson;
const char* SessionCustomPropertiesJson;
const char* MatchmakingServerConnectionString;
const char** ServerConnectionStringCandidates;
size_t ServerConnectionStringCandidatesCount;
uint32_t* SessionOwnerMemberIds;
size_t SessionOwnerMemberIdsCount;
XblDeviceToken HostDeviceToken;
bool Closed;
bool Locked;
bool AllocateCloudCompute;
bool MatchmakingResubmit;
} XblMultiplayerSessionProperties
メンバー
Keywords
型: const char**
セッションに関連付けられているキーワードのコレクション (オプション、空でも可)。
KeywordCount
型: size_t
キーワードの数。
JoinRestriction
型: XblMultiplayerSessionRestriction
"open" セッションに参加できるユーザーを制限します。 (予約には効果がありません。つまり、"private" および "visible" のセッションには影響しません)。既定値は "none" です。 "local" の場合、ユーザーが持つトークンの DeviceId が既にセッションにいる他のユーザーと一致しており、"active": true となっているときにのみ、そのユーザーは許可されます。 "followed" の場合、(上記の定義の) ローカル ユーザーと、既存の (予約されていない) セッション メンバーによってフォローされているユーザーのみが、予約なしで参加できます。
ReadRestriction
型: XblMultiplayerSessionRestriction
"open" セッションを読み取りできるユーザーを制限します。 (予約には効果がありません。つまり、"private" および "visible" のセッションには影響しません)。既定値は "none" です。 "local" の場合、ユーザーが持つトークンの DeviceId が既にセッションにいる他のユーザーと一致しており、"active": true となっているときにのみ、そのユーザーは許可されます。 "followed" の場合、(直前の定義の) ローカル ユーザーと、既存の (予約されていない) セッション メンバーによってフォローされているユーザーのみが、予約なしで読み取ることができます。 読み取り制限は、可視性が "open" または "visible" のセッションに適用され、招待なしでセッションを読み取ることができるユーザーを判別します。 読み取り制限は参加制限と同様に少なくともアクセス可能にする必要があります。つまり、'joinRestriction' を "followed" に設定するには、'readRestriction' も設定する必要があります。"
TurnCollection
型: uint32_t*
誰のターンであるかを示すセッション MemberIds のコレクション。
TurnCollectionCount
型: size_t
TurnCollection 配列内のエントリの数。
MatchmakingTargetSessionConstantsJson
型: const char*
ターゲット セッションの定数を表す JSON 文字列。
SessionCustomPropertiesJson
型: const char*
セッションのカスタム プロパティを指定する JSON 文字列。 これらはいつでも変更できます。 変更するときは、multiplayer_service::write_session を呼び出して変更をサービスに書き込みます。
MatchmakingServerConnectionString
型: const char*
特定の接続文字列の使用を強制します。 これは、セッションの途中参加のシナリオで有用です。
ServerConnectionStringCandidates
型: const char**
ゲーム サーバーに接続するためにセッションが使用できる接続文字列の順序付きリスト。 一般的に、タイトルはリストの先頭を使用してください。ただし、高度なタイトルでは、(負荷などの条件に基づいて) 他のいずれかを選択するためのカスタム メカニズムを使用することもできます。
ServerConnectionStringCandidatesCount
型: size_t
ServerConnectionStringCandidates 配列内のエントリの数。
SessionOwnerMemberIds
型: uint32_t*
セッションの所有者のセッション MemberIds。
SessionOwnerMemberIdsCount
型: size_t
SessionOwnerMemberIds 配列内のエントリの数。
HostDeviceToken
型: XblDeviceToken
ホストのデバイス トークン。 少なくとも 1 人のメンバーの "deviceToken" と一致する必要があり、一致しない場合、このフィールドは削除されます。 "peerToHostRequirements" が設定され、"host" が設定されている場合、測定ステージは、所定のホストが正しいホストであると想定し、そのホストへのメトリックのみを測定します。
Closed
型: bool
セッションが参加可能かどうかを、セッションの可視性、参加制限、および使用可能領域とは無関係に制御します。 予約には影響しません。 既定値は false です。
Locked
型: bool
true の場合、セッションのメンバーをロックできます。これにより、ユーザーが退出してもセッションに戻ることはできますが、他のユーザーが取って代わることはできません。 既定値は false です。
AllocateCloudCompute
型: bool
クライアントによって true に設定されると、MPSD による Xbox Live エンジンの割り当て試行がトリガーされます。 既定値は false です。
MatchmakingResubmit
型: bool
見つかったマッチがうまくいかず、再送信が必要な場合は true。 マッチがうまくいったことを知らせる場合は false に設定され、マッチメイキング サービスはセッションを解放できます。
要件
ヘッダー: multiplayer_c.h