encounters 属性。
Multiplayer Manager 目前不支持大型会话。你必须使用 2015 多人游戏 API 直接调用多人游戏服务目录 (MPSD)。
大型会话与常规会话的处理略有不同。
- 大型会话包含的信息比常规会话少,但效率更高。
- 大型会话最多支持 10,000 名成员。
- 你无法订阅大型会话。
- 大型会话的成员不会自动加入最近玩家列表。
最近玩家
当 XBOX 玩家与新玩家一起玩多人游戏时,游戏结束后,他们可以在仪表板的最近玩家列表中看到这些玩家。- 如果玩家在游戏中与新玩家有着愉快的体验,他们可能希望再次与他们一起玩或将其添加为好友。
- 如果玩家与一名玩家的体验不佳,他们可能希望在未来避开他们,或在游戏结束后举报不良行为。
设置大型会话
要将会话设置为大型,请在会话模板的 capabilities 部分中添加"large": true。
你可以将 maxMembersCount 值设置为最多 10,000。
以下模板创建一个支持最多 2,000 名玩家的大型会话。
使用大型会话
将大型会话写入 MPSD 时,我们建议你不要超过每秒 10 次写入。 一个典型的 1,000 名玩家的会话可能平均每两分钟为每个玩家写入一次(例如成员加入或离开等更新)。 其他属性不应在大型会话中维护。关联来自同一大型会话的玩家
当你从 MPSD 检索大型会话时,响应不包含成员列表。没有办法获取完整列表。 如果调用者在会话中,则其成员记录是members 集合中的唯一记录,标记为 me(与请求中一样)。
这意味着客户端成员只能更新自己在会话中的条目。他们依靠服务器为其提供一个你指定的公共标识符。XBOX 服务使用此标识符来关联一起玩游戏的玩家,以便更新声誉和最近玩家状态。
有两种方式指示会话中的玩家一起玩了游戏:持久群组和简短相遇。
持久群组
持久群组是命名的玩家群组,他们持续一起玩游戏,可能会有一些玩家加入或离开该群组。群组名称应遵循适用于常规会话的相同命名规则,例如 GUID。 当每个成员加入或离开该群组时,他们应从其自己的groups 属性(字符串数组)中添加或删除该群组名称。
简短相遇
如果两名玩家有短暂的、一次性的相遇(简短相遇),游戏可以使用encounters 属性(而不是 group 属性)指示。
为每次相遇指定一个名称。相遇后,两名(或所有)参与者都将相遇名称写入其自己的 encounters 属性。
groups 和 encounters 使用相同的名称。例如,如果一名玩家与一个名称已添加到 groups 的群组”交易”,则发生相遇的玩家将该群组名称上传到其”encounters”列表中。这会使该个体将该群组的所有成员视为最近玩家,反之亦然。该群组中的玩家无需采取任何操作即可更新群组成员资格。
当玩家是群组成员超过 30 秒时,将被视为一次相遇。
由于相遇被视为一次性事件,encounters 属性始终会立即处理,然后从会话中清除。
encounters 数组永远不会出现在响应中。
相比之下,groups 属性会保留,直到被更改或删除,或者成员离开会话。