XR-132:服务访问限制 *
版本 1.0, 2020/3/1
在调用 Xbox 网络服务时超出了基于游戏和用户的限制或者未遵循 Xbox 网络服务重试政策的游戏可能会受到速率限制,这可能会导致服务中断或弃用。 未能遵守指定的限制可能会阻止游戏发布,并且与已发布游戏相关的生产内问题可能导致 Xbox 网络服务在删除游戏前一直挂起。
认证测试用例
132-01 服务访问限制
所需工具:
- 对于 Windows 10、Xbox Series X|S 或任何基于 GDK 的游戏,为 Fiddler Classic
- 对于基于 Xbox One XDK 的游戏,为 Fiddler Classic 或r XblTraceAnalyzer.exe(来自 XDK)
- Xbox 服务 Trace Analyzer,用于分析来自XblTraceAnalyzer.exe和/或 Fiddler 的输出文件
测试步骤
使用 Fiddler Classic:
- 在启动游戏之前,请先启动 Fiddler Classic,并确保将其配置为从主机或 Windows 10 电脑(无论该游戏从何处运行)捕获网络流量。
- 在 Fiddler Classic 运行并捕获网络流量的情况下,启动游戏并继续遍历所有区域,包括但不限于:
- 创建一个游戏存档、重新启动主机并且加载该游戏存档
- 连续快速地更改丰富显示状态(如果可能)
- 解锁和查看成就
- 发布到所有排行榜并使用所有筛选器查看所有排行榜
- 查看游戏内好友列表(包括状态为“已阻止”的好友)并且在页面之间快速移动
- 赢得并查看英雄数据
- 匹配到所有在线模式中,包括找不到可用会话(如果可能)和生成语音流量
- 创建、保存和共享一个游戏剪辑
- 访问游戏内商店(如果适用)
- 测试结束后,将 Fiddler 捕获保存到本地目录。
- 在 GDK/XDK 命令提示符下,运行XblTraceAnalyzer -data filepath -outputdir filepath
- 在步骤 4 中打开输出目录,并且打开“index”文件(如果系统提示,则选择“允许阻止的内容”)。
使用xbtrace.exe
请注意,xbtrace.exe在游戏启动之前无法启动,但应该会尽快启动,以便捕获启动过程中游戏调用的所有 Xbox 服务。 因此,捕获游戏流量的首选方法是 Fiddler Classic,因为它可以在启动游戏之前启动。
- 在游戏正在运行的情况下,运行 xbtrace start xboxliveservices 并且继续在游戏的所有区域中导航,包括但不限于以下操作:
- 创建一个游戏存档、重新启动主机并且加载该游戏存档
- 连续快速地更改丰富显示状态(如果可能)
- 解锁和查看成就
- 发布到所有排行榜并使用所有筛选器查看所有排行榜
- 查看游戏内好友列表(包括状态为“已阻止”的好友)并且在页面之间快速移动
- 赢得并查看英雄数据
- 匹配到所有在线模式中,包括找不到可用会话(如果可能)和生成语音流量
- 创建、保存和共享一个游戏剪辑
- 访问游戏内商店(如果适用)
- 在测试完毕后,运行 xbtrace stop 两次。
- 浏览主机文件,并且在 SystemScratch > xbtrace 中,你将找到该 csv 文件。 查看时间戳,以便确保其记录了您停止录制的时间。 在本地复制它。
- 在 XDK 命令提示符下,运行Xbltraceanalyzer -data filepath -outputdir filepath。
- 在步骤 4 中打开输出目录,并且打开“index”文件(如果系统提示,则选择“允许阻止的内容”)。
预期结果
游戏在其 Trace Analyzer 输出结果中未显示任何严重警告。 游戏必须确保将其对 Xbox 终结点的服务调用保持在指定突发值和维持限制之下。通过示例
- 在调用 Xbox 服务时该游戏未超出维持限制。
失败示例
- 该游戏超出维持限制(速率限制在其生效的限制)达 10 倍。 例如,如果精细速率限制生效时的维持限制设置为 300 秒内 300 个调用,则达到或高于 300 秒内 3000 个调用的游戏将失败。
132-02 游戏事件限制
测试步骤
- 安装该游戏并且在游戏正在运行的情况下,继续在游戏的所有区域中导航,包括但不限于以下方面:
- 创建一个游戏存档、重新启动主机并且加载该游戏存档
- 连续快速地更改丰富显示状态(如果可能)
- 解锁和查看成就
- 发布到所有排行榜并使用所有筛选器查看所有排行榜
- 查看游戏内好友列表(包括状态为“已阻止”的好友)并且在页面之间快速移动
- 赢得并查看英雄数据
- 匹配到所有在线模式中,包括找不到可用会话(如果可能)和生成语音流量
- 创建、保存和共享一个游戏剪辑
- 访问游戏内商店(如果适用)
- 在测试期间,观察游戏以查看游戏事件限制系统 toast 是否出现。
预期结果
游戏不得触发游戏事件限制系统 toast。通过示例
- 该游戏未触发游戏事件限制系统 toast。
失败示例
- 该游戏触发游戏事件限制系统 toast。