Skip to main content

XR-074:与 XBOX 和合作伙伴服务的连接丢失 *

版本 2.0,2025/11/1 游戏必须优雅地处理与 XBOX 和合作伙伴服务的连接错误。在失败发生后尝试重试对 XBOX 服务的请求时,游戏必须遵守 XBOX 设置的重试政策。游戏必须在服务不可用时适当地管理向用户传达消息。如果合作伙伴服务不可用,游戏不得指示 XBOX 网络存在问题。当网络服务变慢或间歇性可用时,游戏不得崩溃或挂起。

更多信息

游戏应对自己的网络操作性能作出反应,和/或使用 Windows.Xbox.Networking 网络质量 API 确定当前网络状况。它们还应通过传输更少的数据、选择适当的用户角色或利用云服务优雅地降级。

处理非 XBOX 服务的问题

遇到合作伙伴服务问题(如非瞬态超时、网络 API 错误或缺少影响用户体验的服务配置)的游戏应向用户提示不可用的特定功能或服务。游戏应在用户排除故障时优雅地降级到安全状态,或降级到用户可以手动重试的状态。 用户友好消息的示例:
“抱歉,非 Microsoft 服务 目前不可用。请稍后再试。有关更多信息,请联系 非 Microsoft 支持联系信息。“

处理 XBOX 服务的问题

如果与 XBOX 服务的连接丢失,某些功能可能变得不可用。在这种情况下,游戏应使用清晰、用户友好的消息向用户传达此信息。 如果服务不可用,游戏可以重试其请求,但只能在 XBOX 允许的参数内这样做。有关 XBOX 控制台游戏的服务弹性的更多信息,包括所需的 HTTP 重试和退避逻辑,以及各个服务的用户交互指南,请参阅 GDK 中的”游戏的服务中断弹性”文档。

要求 XBOX 连接

在为 XBOX 控制台开发时,大部分功能都需要连接到互联网(尤其是 XBOX)的游戏可能希望在其 AppX 清单中包含布尔标志 RequireXboxLive。这将阻止游戏在 XBOX 不可用时在 XBOX 控制台上启动,并且如果连接丢失,它将挂起并随后终止游戏。 有关使用 GDK 的网络的信息,请阅读 GDK 文档的”网络”部分。

认证测试用例

074-01 与 XBOX 服务的 WAN 断开连接

测试步骤
  1. 登录 XBOX 配置文件。
  2. 执行以下操作时,断开 WAN 网络。如果使用以太网交换机/集线器,请从网络设备断开上行电缆。如果设备通过 Wi-Fi 连接,请从无线接入点连接断开上行电缆:
    • 创建新的存档点
    • 加载存档点
    • 到达自动存档点
    • 枚举已保存游戏列表
    • 搜索并加入在线会话
    • 尝试创建在线会话
    • 查看排行榜(如适用)
    • 离线游戏
预期结果 如果控制台无法到达 XBOX 服务,则游戏应以用户友好的错误消息作出响应。 通过示例
  1. 游戏显示错误消息,指示与 XBOX 服务的网络连接丢失。
  2. 玩不需要 XBOX 服务的本地游戏模式时,游戏不显示错误消息。
  3. 在 AppX 清单中带有 RequireXboxLive 的游戏在连接丢失时挂起并随后终止。
失败示例
  1. 用户无法完成非在线 XBOX 游戏会话。
  2. 游戏进入无响应或不稳定状态。

074-02 直接断开连接

测试步骤
  1. 启动游戏并登录 XBOX 配置文件。
  2. 在游戏中执行以下操作时,拔掉设备的网络电缆,或关闭 WAP 或无线路由器:
    • 创建新的存档点。
    • 加载存档点。
    • 到达自动存档点。
    • 枚举已保存游戏列表。
    • 搜索并加入在线会话。
    • 尝试创建在线会话。
    • 查看排行榜(如适用)。
    • 离线游戏。
预期结果 如果设备失去与 XBOX 服务的连接,则游戏应以用户友好的错误消息作出响应。 通过示例
  1. 处于在线游戏模式时,游戏显示用户友好的消息。
  2. 离线游戏模式期间,游戏不中断游戏。
  3. 在 AppX 清单中带有 RequireXboxLive 的游戏在连接丢失时挂起并随后终止。
失败示例
  1. 离线游戏模式期间显示错误消息。
  2. 游戏进入无响应或不稳定状态。
  3. 网络离线后,用户仍能查看在线菜单或查看缓冲的媒体。

074-03 挂起时与 XBOX 服务的断开连接

在零售控制台上,游戏在以下情况下将被挂起:
  • 当控制台通过将电源模式设置为即时启用并关闭而进入连接待机时。
  • 当游戏失去焦点十分钟时。例如,启动应用程序(如”设置”)并将其保持焦点十分钟。
出于此测试用例的目的,应在步骤 3 中验证两种方法。 测试步骤
  1. 在控制台电源模式设置为即时启用的情况下登录 XBOX 配置文件。
  2. 启动游戏并进入游戏过程。
  3. 在游戏过程中的不同时刻,挂起游戏。
  4. 恢复游戏并验证游戏优雅地处理断开连接。
  5. 在整个游戏过程中重复步骤 3-4。
预期结果 如果控制台在挂起后无法到达 XBOX 服务,游戏必须成功恢复,优雅地处理该情况,并在适当情况下以用户友好的错误消息响应。 通过示例
  1. 在在线 XBOX 多人游戏会话期间,游戏显示错误消息,指示与 XBOX 服务的网络连接丢失。
  2. 玩不需要 XBOX 服务的本地游戏模式时,游戏不显示错误消息。
失败示例
  1. 用户无法完成非在线 XBOX 游戏会话。
  2. 游戏进入无响应或不稳定状态。
  3. 恢复后游戏显示误导性或错误的错误消息。

074-04 挂起期间的 XBOX 服务重新连接

在零售控制台上,游戏在以下情况下将被挂起:
  • 当控制台通过将电源模式设置为即时启用并关闭而进入连接待机时。
  • 当游戏失去焦点十分钟时。例如,启动应用程序(如”设置”)并将其保持焦点十分钟。
出于此测试用例的目的,应在步骤 3 中验证两种方法。 测试步骤
  1. 在控制台电源模式设置为即时启用的情况下登录 XBOX 配置文件,并确保控制台设置为主机。
  2. 在没有连接到 XBOX 但保持本地网络连接的情况下,启动游戏。
    • 如果使用以太网交换机/集线器,请从网络设备断开上行电缆。
    • 如果设备通过 Wi-Fi 连接,请从无线接入点断开上行电缆。
  3. 在游戏过程中的不同时刻,挂起游戏。
  4. 重新连接上行电缆,并等待控制台重新连接到 XBOX 服务。
  5. 恢复游戏并验证游戏优雅地处理重新连接。
  6. 在整个游戏过程中重复步骤 2-5。
预期结果 如果控制台在挂起后无法到达 XBOX 服务,游戏必须成功恢复,优雅地处理该情况,并在适当情况下以用户友好的错误消息响应。 通过示例
  1. 用户能够恢复游戏并无中断地完成离线 XBOX 游戏会话。
  2. 游戏保持稳定,不会崩溃。
失败示例
  1. 用户无法完成非在线 XBOX 游戏会话。
  2. 游戏进入无响应或不稳定状态。
  3. 恢复后游戏显示误导性或错误的错误消息。

074-05 持续低带宽

所需工具
  • 来自 GDK/XDK 的 xbstress.exe
配置 网络模拟由命令行压力工具 xbstress.exe 控制。此工具配置各种控制台压力测试,包括网络模拟。出于网络目的,xbstress.exe 控制 XBOX 设备上的专用驱动程序,该驱动程序丢弃数据包、注入延迟并限制吞吐量。xbstress.exe 具有三个预配置的模拟配置文件,可让您轻松模拟重要的网络场景:最小、平均和优秀。最小配置文件对应此 XR。 测试步骤
  1. 使用最小配置文件,将连接限制到 XBOX 设备的最低操作要求。
  2. 执行与游戏相关的在线操作,包括但不限于:
    • 浏览所有菜单。
    • 玩在线游戏会话。
预期结果 当用户的互联网连接降至 192 Kbps 以下时,游戏不得崩溃或导致用户数据丢失。 通过示例
  1. 显示用户友好的消息,指示由于低带宽可能对在线游戏产生影响。
  2. 游戏不崩溃,也不导致用户数据丢失。
失败示例
  1. 游戏崩溃或导致用户数据丢失。

074-06 可变低带宽

所需工具
  • 来自 GDK/XDK 的 xbstress.exe
配置 网络模拟由命令行压力工具 xbstress.exe 控制。此工具配置各种控制台压力测试,包括网络模拟。出于网络目的,xbstress.exe 控制 XBOX 设备上的专用驱动程序,该驱动程序丢弃数据包、注入延迟并限制吞吐量。xbstress.exe 具有三个预配置的模拟配置文件,可让您轻松模拟重要的网络场景:最小、平均和优秀。最小配置文件对应此 XR。 测试步骤
  1. xbstress.exe 中禁用所有网络限制。
  2. 执行与游戏相关的在线操作,包括但不限于:
    • 浏览所有菜单。
    • 玩在线游戏会话。
  3. 执行步骤 2 时,启用 xbstress 最小配置文件。
预期结果 当用户的互联网连接降至 192 Kbps 以下时,游戏不得崩溃或导致用户数据丢失。 通过示例
  1. 显示用户友好的消息,指示由于低带宽可能对在线游戏产生影响。
  2. 游戏不崩溃,也不导致用户数据丢失。
失败示例
  1. 游戏崩溃或导致用户数据丢失。

074-07 动态连接丢失

所需工具
  • 带有内容阻止插件的 Fiddler Classic。
使用内容阻止插件配置 Fiddler Classic 以阻止合作伙伴服务
  • 在控制台上,设置 Fiddler 以调试 Web 服务调用。
  • 在 PC 上,设置 Fiddler 以调试 Web 服务调用。
  • 为 Fiddler 安装内容阻止插件。
  • 在 Fiddler 中,选择菜单 ContentBlock 和”Enabled”。
配置阻止列表的步骤:
  1. 运行 Fiddler 后,启动游戏并浏览所有菜单,完成多人游戏会话,加载到每个游戏模式,并浏览游戏的所有区域,包括但不限于:
    • 菜单
    • 排行榜
    • 服务器(创建一个并加入他人的)
    • 好友列表
    • 游戏内商店
    • 限时活动 这确保游戏在正常游戏过程中连接到所有主机。
  2. 在 Fiddler 中,识别哪些主机是非 Microsoft 服务:
    • 按主机排序会话列表,并查找不包含以下任何内容的主机:microsoft, msft, xboxlive, xboxservices, live, PlayFabApi, msn, bing
  3. 在 Fiddler 中,将非 Microsoft 主机添加到阻止列表:
    • 右键单击非 Microsoft 主机,然后选择”阻止此主机”。
    • 对所有其他非 Microsoft 主机重复此操作。
您不必多次阻止同一主机。要编辑阻止列表,请选择 ContentBlock 菜单和”Edit Blocked Hosts…”。现在所有非 Microsoft 主机都已添加到阻止列表,请继续运行测试用例。
测试步骤
  1. 登录 XBOX 配置文件并启动游戏。
  2. 完成多人游戏会话,加载到每个游戏模式,并浏览游戏的所有区域,包括但不限于:
    • 菜单
    • 排行榜
    • 服务器(创建一个并加入他人的)
    • 好友列表
    • 游戏内商店
    • 限时活动
  3. 验证游戏不显示指示 XBOX 网络问题的错误消息。
预期结果 游戏优雅地处理与非 Microsoft 服务的断开连接。 通过示例
  1. 与合作伙伴托管服务的连接丢失时,游戏不挂起或崩溃。
失败示例
  1. 显示的消息暗示 Microsoft 服务存在问题。
  2. 显示非描述性错误消息。
  3. 游戏崩溃、变得不稳定或导致控制台重启。

074-08 启动前停机时间

所需工具
  • 来自 GDK/XDK 的 xbstress.exe
  • 对于 Windows 10,使用 Fiddler Classic。
测试步骤
  1. 在控制台上,使用命令为非 Microsoft 流量在 xbstress.exe 中创建断开的网络通道:xbstress set channel=0 network=broken addresses=[分号分隔的地址列表]
  2. 使用命令启动网络模拟:xbstress simulate network=channels
  3. 如果在 Windows 10 上测试,使用 Fiddler 模拟停机时间。
  4. 登录 XBOX 配置文件。
  5. 启动游戏。
  6. 访问非 Microsoft 在线功能。
预期结果 游戏应提供用户友好的错误消息,指示访问非 Microsoft 服务时存在问题,并应提供重试连接的机会。 通过示例
  1. 与合作伙伴托管服务的连接丢失时,游戏不挂起或崩溃。
失败示例
  1. 显示的错误暗示 Microsoft 服务存在问题。
  2. 显示非描述性错误消息。
  3. 游戏崩溃、变得不稳定或导致控制台重启。
最后修改于 2026年8月24日