GameSession (JSON)
GameSession JSON 对象具有以下规范。
成员 | 类型 | 说明 |
---|---|---|
creationTime | DateTime | 会话创建的日期和时间(使用 UTC 时间)。 |
customData | 8 位无符号整数的数组 | 游戏特定会话数据的 1024 字节。 此值对服务器是不透明的。 |
displayName | 字符串 | 游戏会话的显示名称,最长 128 个字符。 此值对服务器是不透明的。 |
hasEnded | 布尔值 | 如果会话已结束为 true,否则为 false。 将此字段设置为 true 会将会话标记为只读,防止其他数据被提交到会话。 |
isClosed | 布尔值 | 如果会话关闭且再没有可以添加的玩家则为 true,否则为 false。 如果此值为 true,请求加入会话将被拒绝。 |
maxPlayers | 32 位有符号整数 | 可同时处于会话中的玩家的最大数。 值范围为 2-16。 一旦会话包含的玩家达到最大数,其他加入会话的请求将被拒绝。 |
playersCanBeRemovedBy | PlayerAcl | 指示被允许从会话中删除其他玩家的玩家的值。 可能的值为 NoOne、Self 和 AnyPlayer。 |
名单 | player 对象的数组 | 会话中玩家的数组。 名单包含当前玩家以及之前在会话中但已离开的玩家。 名单中的玩家顺序永远不会改变。 新玩家将添加到数组的末尾。 |
seatsAvailable | 32 位有符号整数 | 在达到玩家最大数之前仍然可以加入会话的玩家数量。 此值为只读,且始终小于 maxPlayers 字段的值。 |
sessionId | 字符串 | 创建会话时 MPSD 分配的会话 ID。 当访问存储在会话中的信息时,此值通常包含在 URI 中。 |
titleId | 32 位无符号整数 | 创建游戏会话的游戏的 ID。 |
variant | 32 位有符号整数 | 游戏变体。 此值对服务器是不透明的。 |
visibility | VisibilityLevel | 指示会话可见性的值。 可能的值为:PlayersCurrentlyInSession、PlayersEverInSession 和 Everyone。 |
示例 JSON 语法
{
"sessionId": "702e5aaf-e7bd-4a7c-abea-9dd4be10edec",
"titleId": 1297287259,
"variant": 1,
"displayName": "Contoso Cards",
"creationTime": "2011-06-23T17:13:06Z",
"customData": null,
"maxPlayers": 4,
"seatsAvailable": 4,
"isClosed": false,
"hasEnded": false,
"roster": [],
"visibility": "PlayersCurrentlyInSession",
"playersCanBeRemovedBy": "Self",
}