[!NOTE] 虽然 XR-132 侧重于多人游戏,但如果单人游戏访问 XBOX 网络服务,它也可能适用于单人游戏。例如,如果单人游戏使用云存档、成就或其他 XBOX 网络功能,则必须遵守 XR-132 指南。
认证测试用例
132-01 服务访问限制
所需工具
- 主机上的 Fiddler 或 PC 上的 Fiddler
- GDK 开发工具下载包中的 XBOX services Trace Analyzer。它用于查看游戏发出的服务调用,并查找调用模式中的任何违规行为。
测试步骤
使用 Fiddler Classic:- 在启动游戏之前,启动 Fiddler Classic,并确保已将其配置为捕获来自主机或 Windows 10 PC(即相关游戏的运行位置)的网络流量。
- 在 Fiddler Classic 运行并捕获网络流量的情况下,启动游戏并浏览所有区域,包括但不限于以下内容:
- 创建游戏存档,重启主机并加载该游戏存档
- 快速连续更改丰富状态(如果可能)
- 解锁成就
- 向所有排行榜发布成绩,并使用所有筛选器查看所有排行榜
- 查看游戏内好友列表(包括已阻止在线状态的好友),并在页面之间快速切换
- 通过匹配进入所有在线模式,包括无法找到可用会话的情况(如果可能),并产生语音流量
- 访问游戏内商店(如果适用)
- 测试结束后,将 Fiddler 捕获保存到本地目录。
- 在 GDK/XDK 命令提示符中,运行 XblTraceAnalyzer -data filepath -outputdir filepath
- 打开步骤 4 中的输出目录,然后打开“index”文件(如果出现提示,请选择“允许阻止的内容”)。
- 在游戏运行时,运行 xbtrace start xboxliveservices,然后浏览游戏的所有区域,包括但不限于以下内容:
- 创建游戏存档,重启主机并加载该游戏存档
- 快速连续更改丰富状态(如果可能)
- 解锁成就
- 向所有排行榜发布成绩,并使用所有筛选器查看所有排行榜
- 查看游戏内好友列表(包括已阻止在线状态的好友),并在页面之间快速切换
- 通过匹配进入所有在线模式,包括无法找到可用会话的情况(如果可能),并产生语音流量
- 访问游戏内商店(如果适用)
- 测试结束后,运行 xbtrace stop 两次。
- 浏览主机的文件,在 SystemScratch > xbtrace 中可以找到 csv 文件。检查时间戳,确保其记录的是你停止录制的时间。将其复制到本地。
- 在 XDK 命令提示符中,运行 Xbltraceanalyzer -data filepath -outputdir filepath。
- 打开步骤 4 中的输出目录,然后打开“index”文件(如果出现提示,请选择“允许阻止的内容”)。
预期结果
游戏必须确保其对 XBOX 终结点的服务调用低于指定的突发限制和持续限制,并且其 XBOX services Trace Analyzer 报告中不得有任何红色结果。 XBOX services Trace Analyzer 工具会生成一个 report.txt 文件,其中指明发现违规的规则以及这些违规的详细信息。[!Tip] 解读 XBOX services Trace Analyzer 报告通过示例
- 红色 - 表示问题已超出细粒度速率限制生效点的 10 倍。这是认证中的严重问题。
- 黄色 - 表示由于游戏超出了允许调用该服务的频率,该服务正在受到速率限制,但尚未超出在认证中构成严重问题的阈值。游戏应设法解决这些问题。
- 绿色 - 表示游戏调用 XBOX 服务的频率低于速率限制生效的频率。
- 游戏在调用 XBOX 服务时未超出持续限制。
- XBOX services Trace Analyzer 报告仅包含黄色和/或绿色结果。
- 游戏超出持续限制(速率限制生效的限制)的 10 倍。例如,如果细粒度速率限制生效的持续限制设置为 300 秒内 300 次调用,则在 300 秒内达到或超过 3000 次调用的游戏将无法通过。
- XBOX services Trace Analyzer 报告包含一个或多个红色结果。
