GameSession (JSON)
表示多人游戏会话的游戏数据的 JSON 对象。 GameSession JSON 对象具有以下规范。| 成员 | 类型 | 说明 |
|---|---|---|
| creationTime | DateTime | 创建会话的日期和时间,采用 UTC。 |
| customData | 8 位无符号整数数组 | 1024 字节的特定于游戏的会话数据。此值对服务器是不透明的。 |
| displayName | string | 游戏会话的显示名称,最大长度为 128 个字符。此值对服务器是不透明的。 |
| hasEnded | 布尔值 | 如果会话已结束,则为 True;否则为 false。将此字段设置为 true 会将游戏会话标记为只读,阻止向该会话进一步提交数据。 |
| isClosed | 布尔值 | 如果会话已关闭且无法再加入更多玩家,则为 True;否则为 false。如果此值为 true,加入会话的请求将被拒绝。 |
| maxPlayers | 32 位有符号整数 | 会话中可同时容纳的最大玩家数。取值范围为 2-16。一旦会话包含最大玩家数,进一步的加入请求将被拒绝。 |
| playersCanBeRemovedBy | PlayerAcl | 表示允许从会话中移除其他玩家的玩家的值。可能的值为 NoOne、Self 和 AnyPlayer。 |
| roster | player 对象数组 | 会话中玩家的数组。名单中包含当前玩家和之前在会话中但已离开的玩家。名单中玩家的顺序永远不会变化。新玩家添加到数组末尾。 |
| seatsAvailable | 32 位有符号整数 | 在达到最大玩家数之前,还可加入会话的玩家数。此值为只读,始终小于 maxPlayers 字段的值。 |
| sessionId | string | 创建会话时由 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",
}
