多人游戏会话
多人游戏会话表示一组 XBOX 服务玩家以及与它们相关联的属性。 会话由游戏创建和维护。它以驻留在 XBOX 服务云中的安全 JSON 文档形式表示。 会话文档本身包含有关连接到该会话的 XBOX 服务玩家的信息、可用位置的数量、自定义元数据(对于会话以及每个会话成员)以及其他与游戏会话相关的信息。 每个会话都基于会话模板。会话模板由游戏开发者定义,并在游戏实例的 XBOX 服务配置中进行配置。 游戏可以创建和更新会话,但不能直接删除会话。 相反,在从会话中移除所有玩家之后,XBOX 服务多人游戏服务会在指定的超时时间后自动删除该会话。 游戏可以选择使用多个会话,但典型的多人游戏实现使用以下两种会话。- 大厅会话: 表示一组希望在整个游戏过程中保持在一起的朋友;例如,跨多个回合、级别和地图。
- 游戏会话: 表示在特定游戏会话实例中玩游戏的人员,例如一个回合、比赛或关卡。此会话可以包含来自多个大厅会话的成员,这些成员通常通过匹配服务一起加入该会话实例。
示例场景
在此示例场景中,Tereza 想要与她的朋友 Sergio 和 Alejandra 一起玩多人游戏。- Tereza 启动一个游戏,然后邀请 Sergio 和 Alejandra 加入她的游戏。
- 加入后,Tereza、Sergio 和 Alejandra 都进入了一个大厅会话。
- 在该会话中,他们决定与其他人进行在线对战。
- 游戏创建一个游戏会话。它使用 XBOX 服务匹配服务,用其他 XBOX 服务玩家填充剩余的玩家位置。
- 假设 Ermal 和 Miguel 与他们匹配,五人一起进行了一轮游戏。
- 该轮结束后,Tereza、Sergio 和 Alejandra 离开游戏会话,但仍一起停留在大厅会话中(没有 Ermal 和 Miguel)。这三位朋友可以选择再玩一轮,或切换到不同的游戏模式。
会话成员
会话成员是作为会话一部分的 XBOX 服务玩家。仲裁者
仲裁者是管理游戏会话状态的控制台或设备。 例如,仲裁者将负责向匹配服务通告游戏会话以寻找更多玩家。 仲裁者由游戏设置。 仲裁者和游戏主机可以是同一个,但这不是必需的。会话主机
会话主机是运行基于主机的对等网络架构中游戏模拟的控制台或设备。 此控制台或设备通常与仲裁者相同,但这不是必需的。多人游戏会话目录 (MPSD)
XBOX 服务多人游戏服务在 XBOX 服务云中运行。该服务集中管理跨多个客户端的游戏多人游戏系统元数据。 跟踪此元数据的系统称为多人游戏会话目录 (MPSD)。 你可以将 MPSD 视为活动游戏会话的库。 你的游戏可以添加、搜索、修改或删除与你的游戏相关的活动会话。 MPSD 还管理会话状态,并在必要时更新会话。 MPSD 允许游戏共享连接一组玩家所需的基本信息。 它确保会话功能保持同步和一致。 MPSD 与 XBOX One(或更高版本)控制台的外壳和操作系统协调,以发送/接受邀请并通过玩家卡加入。会话句柄
会话在 MPSD 中通过组合以下数据片段进行唯一标识:- 游戏的服务配置标识符 (SCID)
- 用于创建会话的会话模板的名称
- 会话的名称
