> ## 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.

# XR-074 與 XBOX 及合作夥伴服務的連線中斷

> XR-074 與 XBOX 及合作夥伴服務的連線中斷

版本 2.0，11/1/2025

遊戲必須妥善處理與 XBOX 及合作夥伴服務連線的錯誤。發生失敗後嘗試重試對 XBOX 服務的要求時，遊戲必須遵守 XBOX 所設定的重試原則。服務無法使用時，遊戲必須適當地管理對使用者顯示的訊息。如果合作夥伴服務無法使用，遊戲不得表示 XBOX network 發生問題。如果網路服務變慢或間歇性可用，遊戲不得當機或停止回應。

## 其他資訊

遊戲應根據自身網路作業的效能做出反應，和/或使用 **Windows.XBOX.Networking** 網路品質 API 來判斷目前的網路狀況。遊戲也應透過傳輸較少資料、選擇適當的使用者角色或運用雲端服務來適度降級。

### 處理非 XBOX 服務的問題

遊戲遇到合作夥伴服務的問題 (例如非暫時性逾時、網路 API 錯誤，或影響使用者體驗的服務設定遺失) 時，應提醒使用者無法使用的特定功能或服務。遊戲應妥善地失敗並回到安全狀態，讓使用者進行疑難排解，或回到使用者可以手動重試的狀態。

使用者易懂的訊息範例如下：

> 「很抱歉，*非 Microsoft 服務\_目前無法使用。請稍後再試。如需詳細資訊，請連絡\_非 Microsoft 支援連絡資訊*。」

### 處理 XBOX 服務的問題

如果與 XBOX 服務的連線中斷，某些功能可能會無法使用。在這類情況下，遊戲應使用清楚且使用者易懂的訊息告知使用者。

如果服務無法使用，遊戲可以重試其要求，但只能在 XBOX 允許的參數範圍內進行。如需 XBOX 主機遊戲之服務復原能力的詳細資訊，包括必要的 HTTP 重試和輪詢間隔邏輯，以及個別服務的使用者互動指引，請參閱[遊戲的服務中斷復原能力](/zh-TW/services/xbox-services/develop/best-practices/live-best-practices-calling-xbl)

### 需要 XBOX 連線

為 XBOX 主機開發時，大部分功能都需要連線至網際網路 (尤其是 XBOX) 的遊戲，可能會想在其 AppX 資訊清單中加入布林值旗標 `RequireXboxLive`。這會在 XBOX 無法使用時阻止遊戲在 XBOX 主機上啟動，並在連線中斷時暫停遊戲，接著終止遊戲。

如需使用 GDK 進行網路功能的相關資訊，請參閱[網路功能章節](/zh-TW/build/console-features/networking/gc-networking-toc)。

## 認證測試案例

### 074-01 與 XBOX 服務的 WAN 連線中斷

**測試步驟**

1. 登入 XBOX 設定檔。
2. 在執行下列動作時，中斷 WAN 網路連線。如果您使用乙太網路交換器/集線器，請從網路裝置拔除上行纜線。如果裝置是透過 Wifi 連線，請從無線存取點連線拔除上行纜線：
   * 建立新的存檔點
   * 載入存檔點
   * 到達自動存檔點
   * 列舉已儲存遊戲的清單
   * 搜尋並加入線上工作階段
   * 嘗試建立線上工作階段
   * 檢視排行榜 (如果適用)
   * 離線遊玩

**預期結果**<br />如果主機無法連線至 XBOX 服務，遊戲應以使用者易懂的錯誤訊息回應。

**通過範例**

1. 遊戲顯示錯誤訊息，指出與 XBOX 服務的網路連線已中斷。
2. 在遊玩不需要 XBOX 服務的本機遊戲模式時，遊戲不會顯示錯誤訊息。
3. AppX 資訊清單中包含 `RequireXboxLive` 的遊戲，在連線中斷時會暫停，然後終止。

**失敗範例**

1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
2. 遊戲進入沒有回應或不穩定的狀態。

### 074-02 直接中斷連線

**測試步驟**

1. 啟動遊戲並登入 XBOX 設定檔。
2. 在遊戲中執行下列動作時，從裝置拔除網路線，或關閉 WAP 或無線路由器的電源：
   * 建立新的存檔點。
   * 載入存檔點。
   * 到達自動存檔點。
   * 列舉已儲存遊戲的清單。
   * 搜尋並加入線上工作階段。
   * 嘗試建立線上工作階段。
   * 檢視排行榜 (如果適用)。
   * 離線遊玩。

**預期結果**<br />如果裝置與 XBOX 服務的連線中斷，遊戲應以使用者易懂的錯誤訊息回應。

**通過範例**

1. 遊戲在線上遊戲模式中顯示使用者易懂的訊息。
2. 遊戲在離線遊戲模式中不會中斷遊戲過程。
3. AppX 資訊清單中包含 `RequireXboxLive` 的遊戲，在連線中斷時會暫停，然後終止。

**失敗範例**

1. 在離線遊戲模式中顯示錯誤訊息。
2. 遊戲進入沒有回應或不穩定的狀態。
3. 網路離線後，使用者仍能檢視線上功能表或檢視已緩衝的媒體。

### 074-03 暫停期間與 XBOX 服務的連線中斷

在零售版主機上，遊戲會在下列情況下暫停：

* 當電源模式設為「立即開機」時關閉主機，使主機進入連線待命狀態。
* 當遊戲失去焦點達十分鐘時。例如，啟動「設定」等應用程式並讓其保持焦點十分鐘。

就此測試案例而言，應在步驟 3 驗證這兩種方法。

**測試步驟**

1. 在主機電源模式設為「立即開機」的情況下，登入 XBOX 設定檔。
2. 啟動遊戲並進入遊戲過程。
3. 在遊戲中的各個時間點暫停遊戲。
4. 繼續遊戲，並確認遊戲妥善處理連線中斷。
5. 在整個遊戲過程中重複步驟 3-4。

**預期結果**<br />如果主機在暫停後無法連線至 XBOX 服務，遊戲必須成功繼續、妥善處理該情況，並在適當時以使用者易懂的錯誤訊息回應。

**通過範例**

1. 在線上 XBOX 多人工作階段期間，遊戲顯示錯誤訊息，指出與 XBOX 服務的網路連線已中斷。
2. 在遊玩不需要 XBOX 服務的本機遊戲模式時，遊戲不會顯示錯誤訊息。

**失敗範例**

1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
2. 遊戲進入沒有回應或不穩定的狀態。
3. 遊戲在繼續後顯示誤導或不正確的錯誤訊息。

### 074-04 暫停期間重新連線至 XBOX 服務

在零售版主機上，遊戲會在下列情況下暫停：

* 當電源模式設為「立即開機」時關閉主機，使主機進入連線待命狀態。
* 當遊戲失去焦點達十分鐘時。例如，啟動「設定」等應用程式並讓其保持焦點十分鐘。

就此測試案例而言，應在步驟 3 驗證這兩種方法。

**測試步驟**

1. 在主機電源模式設為「立即開機」的情況下，登入 XBOX 設定檔，並確保主機位於首頁。
2. 在沒有連線至 XBOX 但保留本機網路連線的情況下，啟動遊戲。
   * 如果使用乙太網路交換器/集線器，請從網路裝置拔除上行纜線。
   * 如果裝置是透過 Wifi 連線，請從無線存取點拔除上行纜線。
3. 在遊戲中的各個時間點暫停遊戲。
4. 重新連接上行纜線，並等待主機重新連線至 XBOX 服務。
5. 繼續遊戲，並確認遊戲妥善處理重新連線。
6. 在整個遊戲過程中重複步驟 2-5。

**預期結果**<br />如果主機在暫停後無法連線至 XBOX 服務，遊戲必須成功繼續、妥善處理該情況，並在適當時以使用者易懂的錯誤訊息回應。

**通過範例**

1. 使用者能夠繼續遊戲，並在不中斷的情況下完成離線的 XBOX 遊戲工作階段。
2. 遊戲保持穩定且不會當機。

**失敗範例**

1. 使用者無法完成非線上的 XBOX 遊戲工作階段。
2. 遊戲進入沒有回應或不穩定的狀態。
3. 遊戲在繼續後顯示誤導或不正確的錯誤訊息。

### 074-07 動態連線中斷

**所需工具：**

* [XBOX Multiplayer Analysis Tool (XMAT) 文件](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/README.md)和[最新的 XMAT 版本](https://github.com/microsoft/xbox-multiplayer-analysis-tool/releases)。

**設定 XMAT 以封鎖合作夥伴服務**

如需安裝、擷取設定和指令碼撰寫的指示，請參閱[使用 XBOX Multiplayer Analysis Tool 檢查和修改網路流量](/zh-TW/tools/tools-services/live-xbox-multiplayer-analysis-tool)。

1. 以系統管理員身分啟動 XMAT，並為受測裝置新增 **Web Proxy** 擷取。
   * 在 XBOX 開發主機上，選取 **Enable XBOX Proxy**，並等待主機重新啟動。
   * 在 Windows 上，選取 **Start Capture**。
2. 在 XMAT 擷取期間，啟動遊戲並瀏覽所有功能表、完成一場多人工作階段、載入每個遊戲模式，並瀏覽遊戲的所有區域，包括：
   * 功能表。
   * 排行榜。
   * 伺服器 (建立一個伺服器並加入其他人的伺服器)。
   * 朋友清單。
   * 遊戲內商店。
   * 限時活動。
3. 使用 **Host** 篩選器，找出一般遊戲過程中所連線的合作夥伴服務主機。封鎖所選主機之前，請確認這些主機不屬於 Microsoft、XBOX 或 PlayFab。
4. 開啟 **Script Editor**，選取 **SSL Connection Request** 事件，並建立指令碼，針對每個合作夥伴服務主機將 `Params.Continue` 設為 `false`。
5. 啟用指令碼，並確認指令碼編譯成功。接著停用指令碼，讓合作夥伴服務在測試開始時保持可用。讓 XMAT 擷取持續執行。

**測試步驟**

1. 在停用 XMAT 封鎖指令碼的情況下，登入 XBOX 設定檔並啟動遊戲。
2. 瀏覽至使用合作夥伴託管服務的遊戲功能，並確認該功能可用。
3. 在不關閉遊戲的情況下，啟用 XMAT 封鎖指令碼。
4. 繼續進行遊戲，並操作所有適用的區域，包括：
   * 功能表
   * 排行榜
   * 伺服器 (建立一個伺服器並加入其他人的伺服器)
   * 朋友清單
   * 遊戲內商店
   * 限時活動
5. 確認遊戲不會顯示指出 XBOX network 發生問題的錯誤訊息。

**預期結果**<br />遊戲妥善處理與非 Microsoft 服務的連線中斷。

**通過範例**

1. 與合作夥伴託管服務的連線中斷時，遊戲不會停止回應或當機。

**失敗範例**

1. 顯示的訊息暗示 Microsoft 服務發生問題。
2. 顯示不具描述性的錯誤訊息。
3. 遊戲當機、變得不穩定，或導致主機重新開機。

### 074-08 啟動前的停機

**所需工具：**

* GDK/XDK 中的 *xbstress.exe*
* 適用於 Windows 的 [XBOX Multiplayer Analysis Tool (XMAT)](/zh-TW/tools/tools-services/live-xbox-multiplayer-analysis-tool)。

**測試步驟**

1. 在主機上，使用下列命令，以 *xbstress.exe* 為非 Microsoft 流量建立中斷的網路通道：

`xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]`

2. 使用下列命令啟動網路模擬：`xbstress simulate network=channels`。
3. 如果在 Windows 上進行測試，請在啟動遊戲之前，設定 XMAT Web Proxy 擷取，並啟用封鎖適用合作夥伴服務主機的指令碼。
4. 登入 XBOX 設定檔。
5. 啟動遊戲。
6. 存取非 Microsoft 線上功能。

**預期結果**<br />遊戲應提供使用者易懂的錯誤訊息，指出連線至非 Microsoft 服務時發生問題，並應提供重試連線的機會。

**通過範例**

1. 與合作夥伴託管服務的連線中斷時，遊戲不會停止回應或當機。

**失敗範例**

1. 顯示的錯誤暗示 Microsoft 服務發生問題。
2. 顯示不具描述性的錯誤訊息。
3. 遊戲當機、變得不穩定，或導致主機重新開機。


## Related topics

- [XR-045 XBOX 網路與帳戶權限](/zh-TW/publishing/certification/xr/xr-045.md)
- [XR074 與 XBOX 及合作夥伴服務的連線中斷](/zh-TW/publishing/certification/fma/xr-074.md)
- [XBOX 遊戲的 XBOX 需求](/zh-TW/publishing/certification/xbox-requirements.md)
- [XBOX 主機遊戲的認證測試 XBOX 需求](/zh-TW/publishing/certification/console-cert-tested-requirements.md)
- [XBOX 需求與原則支援內容](/zh-TW/publishing/certification/xr/overview.md)
