XR-064:可加入的游戏会话和在线游戏 *

版本 1.2, 2021/3/1

在 Xbox 主机上,提供可加入的游戏会话的游戏必须通过 Xbox shell 界面实现可加入性。

提供通过 Xbox 登录的电脑设备提供具有 Xbox 控制台的跨平台会话者的游戏还必须通过"游戏栏"体验启用联接。

详细信息

如果用户处于某个可加入多人游戏或合作体验中,则游戏必须启用平台加入。 可加入的多人游戏体验是玩家可以有意在一起玩游戏的一种游戏体验。 示例包括但不限于直接加入另一个玩家、发送和接收邀请、私人大厅和受密码保护的体验。 如果某一用户不再处于支持加入的体验中,则该用户不得以可供加入的形式出现。

当某一用户加入一个游戏会话、但出于任何原因该用户不再可加入该体验中时,该游戏可以选择:

  • 要求用户等待,直到有下一次加入的机会。
  • 向用户提供一个明确的消息,说明加入失败的原因。

对于使用多人游戏活动功能播发可加入性的游戏,必须在整个可加入的活动中将玩家计数、限制和 groupId 保持最新。 这使得该平台能够在“完全”或“受限”状态下帮助控制可加入性,并且可以将玩家分组到同一个可加入的活动中。

有关使用 GDK 管理游戏会话的信息,请阅读多人游戏概述

实现指南和最佳做法

鼓励拥有自己的多人游戏实现的游戏使用多人游戏活动功能来播发某个活动的可加入性和邀请。 请参阅有关设置活动并使其玩家计数、可加入性状态等保持最新的文档。

强烈鼓励没有自己的多人游戏系统的游戏使用 2015 多人游戏 API 流,并且必须利用活动句柄以便在 Xbox shell 界面中正确播发可加入性。 有关正确设置和清除活动句柄的信息,请参阅 XDK 文档。

另请参见 Xbox One 多人游戏 2015 开发者流程图,该流程图可在游戏开发者网络上供 Xbox 主机开发者下载,或者可在论坛上供基于 Windows 10 的 Xbox 开发者下载。

其他资源

认证测试案例

064-01 从游戏外部加入游戏会话

配置:2 个 Xbox Live 档案

  • 设备 1 档案 A – 具有档案 B 的好友
  • 设备 2 档案 B – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,创建一个可加入的游戏会话。
  2. 使用未在该游戏上运行的档案 B 通过 Xbox shell 接口访问好友列表,并且确认档案 A 作为可加入列出。
  • 一些游戏可能只支持私人多人游戏会话,因此对于档案 B 不显示为可加入,在这种情况下请跳转到步骤 [6]。
  1. 档案 B 加入档案 A 的游戏。
  2. 确认这两个档案一起放置于游戏体验中。
  3. 在游戏处于挂起状态时,使用档案 B 重复步骤 [1] - [4]。
  • 等待至少 30 秒,使游戏完全挂起,并且使挂起中断任何 HTTP 请求。
  1. 重复步骤 [1]–[5],但此时档案 B 不是通过好友列表来加入,而是让档案 A 通过系统 shell 向档案 B 发送一个游戏邀请并确保档案 B 可以收到、接受并加入档案 A。

预期结果
用户 B 必须能够加入用户 A 的游戏并且一起进入游戏体验之中。 对于仅支持私人多人游戏会话、因此对档案 B 不显示为可加入的游戏,允许加入档案 A 的唯一机制是邀请。对于只支持通过匹配(例如排名匹配)加入会话的多人游戏会话,可以不支持通过 Xbox shell 接口加入。 对于支持跨平台多人游戏的游戏,用户必须能够在 Xbox One 主机和电脑之间加入。

通过示例

  1. 这两个档案一起放置于游戏体验中。
  2. 用户 B 能够加入用户 A 的游戏并且一起进入游戏体验之中。
  3. 用户 A 在好友列表中不显示为可通过 Xbox shell 接口加入,因为游戏仅支持私人多人游戏会话,但用户 A 可以通过系统 shell 向用户 B 发送游戏邀请。
  4. 用户 A 在参与仅支持通过匹配(例如排名匹配)加入的会话时,不显示为可加入并且无法通过 Xbox shell 接口发送游戏邀请。

失败示例

  1. 用户 B 无法成功加入用户 A 的游戏并且未处于游戏体验之中。
  2. 用户 A 在好友列表中不显示为可通过 Xbox shell 接口加入,因为游戏仅支持私人多人游戏会话,且用户 A 无法通过系统 shell 向用户 B 发送游戏邀请。

064-02 从相同游戏加入游戏会话

配置:2 个 Xbox Live 档案

  • 设备 1 档案 A – 具有档案 B 的好友
  • 设备 2 档案 B – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,启动游戏并在该游戏内创建一个可加入游戏会话。
  2. 使用档案 B,启动相同的游戏,然后在该游戏内进入一些某些体验。
  3. 使用档案 B,通过 Xbox shell 接口访问好友列表并选择加入档案 A 的游戏。
  • 一些游戏可能只支持私人多人游戏会话,因此对于档案 B 不显示为可加入,在这种情况下请跳转到步骤 [5]。
  1. 确认这两个档案一起放置于游戏体验中。
  2. 重复步骤 [1]–[4],但此时档案 B 不是使用 Xbox shell 接口通过好友列表来加入,而是让档案 A 通过系统 shell 向档案 B 发送一个游戏邀请并确保档案 B 可以收到、接受并加入档案 A。

预期结果
用户 B 必须能够加入用户 A 的游戏并且一起进入游戏体验之中。 对于仅支持私人多人游戏会话、因此对档案 B 不显示为可加入的游戏,允许加入档案 A 的唯一机制是邀请。对于只支持通过匹配(例如排名匹配)加入会话的多人游戏会话,可以不支持通过 Xbox shell 接口加入。 对于支持跨平台多人游戏的游戏,用户必须能够在 Xbox One 主机和电脑之间加入。

通过示例

  1. 这两个档案一起放置于游戏体验中。
  2. 用户 B 能够加入用户 A 的游戏并且一起进入游戏体验之中。
  3. 用户 A 在好友列表中不显示为可通过 Xbox shell 接口加入,因为游戏仅支持私人多人游戏会话,但用户 A 可以通过系统 shell 向用户 B 发送游戏邀请。
  4. 用户 A 在参与仅支持通过匹配(例如排名匹配)加入的会话时,不显示为可加入并且无法通过 Xbox shell 接口发送游戏邀请。

失败示例

  1. 用户 B 无法成功加入用户 A 的游戏并且未处于游戏体验之中。
  2. 用户 A 在好友列表中不显示为可通过 Xbox shell 接口加入,因为游戏仅支持私人多人游戏会话,且用户 A 无法通过系统 shell 向用户 B 发送游戏邀请。

064-05 不可加入游戏

配置: 3 个 Xbox Live 档案,分别登录到不同设备

  • 设备 1 档案 A – 具有档案 B 和 C 的好友
  • 设备 2 档案 B – 具有档案 A 的好友
  • 设备 3 档案 C – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,启动游戏并创建一个可加入游戏会话。
  2. 使用档案 A,邀请档案 B 和 C 加入到游戏中。
  3. 使用档案 A,进入一个游戏会话,以便在 A 加入后仅有一个剩余时隙。
  4. 使用档案 B,接受邀请。
  5. 确认档案 A 和 B 正在一起玩游戏。
  6. 使用档案 C,接受邀请并尝试加入该游戏会话。

预期结果
要求档案 C 在下一次加入机会前等待,或者向档案 C 提供一条消息,指出未能加入游戏会话的原因。

通过示例

  1. 要求档案 C 等待,直到有下一次加入的机会。
  2. 向档案 C 提供一条消息,指出未能加入游戏会话的原因。

失败示例

  1. 未要求档案 C 在下一次加入机会前等待,并且未向档案 C 提供指出未能加入的原因的消息。

更改历史记录

日期 文档版本 更改说明
2020 年 5 月 1 日 7.1 更新为在 Xbox 主机上启用跨平台游戏后,需要在非主机设备上集成