> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 在 PC 上排查 XBOX 服务流量问题

> 使用 Fiddler 检查 GDK PC 作品与 XBOX 服务之间的网络流量,并与登录、成就与云存档的预期模式进行比对。

本文说明当你的 Microsoft Game Development Kit(GDK)作品使用了 XBOX 服务但未按预期与其交互时,如何查看 PC 游戏的网络流量。查看流量有助于你确定问题发生的位置。

## 使用 Fiddler 检查网络流量

安装 Fiddler,以查看游戏与 xboxlive.com 之间进出的网络流量。

### 预期网络流量

安装 Fiddler 后,将游戏的网络流量与 XBOX 服务的预期流量进行比较。

#### 登录的预期网络流量

如果游戏会为玩家登录,网络流量中会包含一个到 userpresence.xboxlive.com 的包:

`POST https://userpresence.xboxlive.com/users/xuid(2814616665093727)/devices/current/titles/current HTTP/1.1`

xuid(XXXXXX) 是你已登录测试账户的 XBOX 用户 ID。如果没有出现该包,请尝试以下步骤。

* 确认你在 MicrosoftGame.config 或引擎的 IDE 中设置的值与 Microsoft Partner Center 中该项目的值一致。确保两处使用相同的设置。
* 确认开发 PC 使用的是 Partner Center 中为该项目分配的沙箱。要检查当前沙箱,请打开 GDK Command Prompt,然后运行 `XBLPCSandbox.exe`。如果沙箱与预期不符,在同一窗口中运行 `XBLPCSandbox.exe \<sandbox name>` 进行设置。例如:`XBLPCSandbox.exe XDKS.1`。
* 确认测试账户已登录。要检查,请打开 XBOX 应用,然后确认测试账户已显示。

#### 查询和设置成就的预期网络流量

如果游戏为测试账户请求成就状态信息,网络流量中会包含一个到 achievements.xboxlive.com 的包,类似于以下请求。`GET https://achievements.xboxlive.com/users/xuid(2814616665093727)/achievements?titleId=1794603332&orderBy=title HTTP/1.1`

如果请求成功,该包的响应会列出测试用户在你游戏中的当前成就状态。

如果游戏为测试账户更新一个成就,网络流量中会包含一个到 achievements.xboxlive.com 的包,类似于以下请求。

```text theme={null}
POST https://achievements.xboxlive.com/users/xuid(2814616665093727)/achievements/00000000-0000-0000-0000-00006af77944/update HTTP/1.1
...
{"action":"progressUpdate","serviceConfigId":"00000000-0000-0000-0000-00006af77944","titleId":1794603332,"userId":"2814616665093727","achievements":[{"id":"1","percentComplete":100}]}
```

如果没有出现这些包,或你未得到预期响应,请尝试以下步骤。

* 确认测试账户已登录。要检查,请打开 XBOX 应用,然后确认测试账户已显示。
* 确认你的成就已发布到 Partner Center 的对应沙箱。

有关在 Unreal Engine 游戏中配置成就的更多信息,参见 [Getting started with Unreal Engine](/build/gdk-and-engines/unreal/unreal#achievements)。

#### 云存档的预期网络流量

云存档调用不会立即产生网络流量。相反,它们会促使 `GamingServices` 进程将包发送到 titlestorage.xboxlive.com,遵循下节所示的标准 Connected Storage 请求模式。

```text theme={null}
PUT https://titlestorage.xboxlive.com/connectedstorage/users/xuid(2814616665093727)/scids/00000000-0000-0000-0000-00006AF77944/lock HTTP/1.1
```

要在 Fiddler 中查看来自 `GamingServices` 进程的网络流量,请在具有管理员权限的命令行中使用以下命令将 `winhttp` 重定向到 Fiddler。

```text theme={null}
netsh winhttp set proxy localhost:8888
```

要清除重定向,请使用以下命令。

```text theme={null}
netsh winhttp reset proxy
```


## Related topics

- [排查 XStore 开发问题](/zh-CN/publishing/xstore-commerce/xstore-troubleshooting.md)
- [Windows PC 上的 Fiddler](/zh-CN/build/console-features/networking/tools/fiddler-pc.md)
- [XBOX 服务跟踪分析器 (XblTraceAnalyzer.exe)](/zh-CN/tools/tools-services/live-trace-analyzer.md)
- [在 PC 上处理商店账号不匹配的场景](/zh-CN/publishing/xstore-commerce/xstore-mismatched-accounts.md)
- [可选服务](/zh-CN/build/gdk-and-engines/optional-services.md)
