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

# 直接呼叫多人遊戲服務簡介

> 直接呼叫 2015 多人遊戲 API 和 MPSD (而非使用多人遊戲管理員) 的簡介，包括工作階段、邀請和 SmartMatch。

<Note>
  本主題涵蓋多人遊戲 API 的直接使用方式。如需使用 Microsoft Game Development Kit (GDK) 開發遊戲時多人遊戲功能的概觀，請參閱下列主題。

  * [多人遊戲概觀 (NDA 主題)](/zh-TW/services/xbox-services/multiplayer/overviews/multiplayer-intro)
  * [XBOX 和 PC 多人遊戲設計指引 (NDA 主題)](/zh-TW/services/xbox-services/multiplayer/overviews/multiplayer-design-guidance-xbox-pc-gdk)
  * [跨平台多人遊戲設計指引 (NDA 主題)](/zh-TW/services/xbox-services/multiplayer/overviews/multiplayer-design-guidance-cross-platform)
</Note>

## 關於多人遊戲系統

2015 多人遊戲最佳化了多人遊戲工作階段目錄 (MPSD) 和遊戲工作階段的直接使用。它為單一遊戲或玩家的多個並行工作階段提供更好的支援，並更新了 XBOX 服務 API (XSAPI)，讓遊戲能夠：

* 宣傳玩家目前的活動和加入可用性。
* 傳送工作階段邀請，以及玩家可見的 (遊戲指定的) 內容字串。
* 透過遊戲程式碼探索和加入工作階段。
* 維護與 MPSD 的 Web 通訊端連線，以便接收工作階段變更的簡短通知 (提醒)；例如，反映變更事件訂閱和連線狀態變更的更新。MPSD 也會使用 Web 通訊端連線來快速偵測用戶端中斷連線並採取動作。
* 使用 SmartMatch 配對。

## 多人遊戲元件、介面和架構

### 2015 多人遊戲的元件

多人遊戲是由多個元件組成的系統。2015 多人遊戲具有足夠的彈性，可與專用伺服器和外部配對系統等其他元件搭配運作。

#### 多人遊戲工作階段目錄

MPSD 是保存工作階段集合的服務。*工作階段*定義為位於雲端、代表一群正在玩遊戲之人員的安全文件。

如需詳細資訊，請參閱[多人遊戲工作階段目錄 (MPSD)](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-nav)。

#### 多人遊戲用戶端 API

REST 功能可以在您遊戲的直接呼叫中使用，但建議您透過 XSAPI 存取 MPSD。如需詳細資訊，請參閱[呼叫 MPSD](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#calling-mpsd)。

#### XBOX 派對系統

在 2015 多人遊戲中，XBOX 派對系統只支援聊天派對作為外部實體。遊戲可以與派對系統互動，以探索聊天派對的成員資格。如需詳細資訊，請參閱本主題稍後的[2015 多人遊戲支援的派對](#parties-supported-by-2015-multiplayer)。

派對系統現在直接透過 MPSD 工作階段支援遊戲，而不是使用遊戲派對。由遊戲決定如何使用工作階段來啟用成員互動、在有空位時將玩家拉入遊戲，以及在等待期間讓玩家保持參與等作業。

### 2015 多人遊戲介面

2015 多人遊戲使用數個與其他 XBOX 元件的介面。

#### XBOX 安全通訊端

2015 多人遊戲支援使用 XBOX 安全通訊端和 Winsock 在裝置之間進行低階網路通訊。網路功能使用網際網路通訊協定安全性 (IPSec)，讓遊戲可以提供安全的裝置關聯。

#### XBOX 服務即時活動服務

2015 多人遊戲使用即時活動 (RTA) 服務，讓遊戲可以訂閱 MPSD 工作階段變更並自動偵測用戶端中斷連線。如需詳細資訊，請參閱[即時活動 (RTA) 服務](/zh-TW/services/xbox-services/fundamentals/rta/live-rta-nav)。

#### XBOX 服務 SmartMatch 配對服務

SmartMatch 配對服務會根據玩家偏好設定和資料，以及配對期間提供的資訊來組成玩家群組。如需詳細資訊，請參閱[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)。

#### XBOX 服務信譽服務

信譽服務會管理有關信譽的玩家統計資料，並啟用以信譽篩選的配對。2015 多人遊戲透過 SmartMatch 配對使用信譽服務。如需詳細資訊，請參閱[信譽](/zh-TW/services/xbox-services/community/reputation/live-reputation-nav)。

### 典型的 2015 多人遊戲架構

本節介紹最典型的 2015 多人遊戲架構。

#### 點對點架構

在點對點架構中，遊戲使用 MPSD 和 SmartMatch 配對來探索對等位址。然後，遊戲使用這些位址透過 XBOX 安全通訊端連接對等，如下圖所示。如需詳細資訊，請參閱 [Windows 通訊端簡介](/zh-TW/build/console-features/networking/game-mesh/winsock-intro-networking)。

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Mult2015ArchPeer.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=7ddc938f62adc92a9703ecfd74a3bc7b" alt="顯示點對點架構的圖表" width="742" height="241" data-path="images/gdk/services/Mult2015ArchPeer.png" />

#### 用戶端/伺服器架構

在用戶端/伺服器架構中，遊戲使用 MPSD 和 SmartMatch 配對來探索專用伺服器位址。然後，遊戲使用這些位址透過 XBOX 安全通訊端連線至專用伺服器，如下圖所示。如需詳細資訊，請參閱 [Windows 通訊端簡介](/zh-TW/build/console-features/networking/game-mesh/winsock-intro-networking)。

<img src="https://mintcdn.com/microsoft-4404708b/gzrdvT5kpqAXKEQt/images/gdk/services/Mult2015ArchClientServer.png?fit=max&auto=format&n=gzrdvT5kpqAXKEQt&q=85&s=ad1bfe552f2f3203ee2bd57a5fa8e974" alt="顯示用戶端/伺服器架構的圖表" width="742" height="241" data-path="images/gdk/services/Mult2015ArchClientServer.png" />

<Note>
  Azure PlayFab 伺服器的執行個體可以是用戶端/伺服器架構中的伺服器。如需詳細資訊，請參閱[多人遊戲伺服器](https://learn.microsoft.com/gaming/playfab/features/multiplayer/servers/)。
</Note>

<a id="parties-supported-by-2015-multiplayer" />

## 2015 多人遊戲支援的派對

適用於 XBOX One (或更新版本) 的 2015 多人遊戲不會將「遊戲派對」公開為系統層級的建構。不過，它確實像 2014 多人遊戲一樣，在系統層級支援「聊天派對」。透過使用 MPSD 工作階段，您的遊戲仍然可以提供類似於使用遊戲派對的玩家體驗。

### 聊天派對

*聊天派對*是一群正在互相聊天的人員，由玩家透過 XBOX One Party 應用程式管理。玩家可以在遊戲工作階段中遊玩時或執行其他主機活動時加入聊天派對。不過，聊天派對中的玩家與這些玩家的其他活動之間沒有任何關聯。

聊天派對是由 `PartyChat` 類別公開的，它可讓遊戲檢查聊天派對的狀態。例如，遊戲可以使用 `PartyChat.GetPartyChatViewAsync` 方法列舉聊天派對的成員。

### 實作類似遊戲派對的功能

在 2014 多人遊戲中，遊戲派對有數個用途。它允許遊戲：

* 宣傳玩家目前的活動和加入可用性。
* 傳送工作階段邀請。
* 探索和加入工作階段。
* 接收對派對中註冊之工作階段特定變更的通知。
* 使用 SmartMatch 配對。
* 讓一群人在多個遊戲工作階段之間保持在一起。

2015 多人遊戲直接透過 MPSD 工作階段支援所有這些功能。

## 多人遊戲術語

| 詞彙 | 描述 |
| - | - |
| 作用中玩家 | 在工作階段中設定為 Active 狀態的玩家。當玩家參與遊戲時，遊戲會將玩家設定為此狀態。如需詳細資訊，請參閱「多人遊戲工作階段進階主題」中的[工作階段使用者狀態](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-user-states)一節。 |
| 仲裁者 | 遊戲工作階段中管理遊戲之 MPSD 工作階段狀態的單一主機，例如向配對宣傳遊戲工作階段以尋找更多玩家。仲裁者由遊戲設定。仲裁者不一定是遊戲的主機。如需詳細資訊，請參閱「多人遊戲工作階段進階主題」中的[工作階段仲裁者](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-arbiter)一節。 |
| 安排的遊戲 | 只透過一位玩家邀請其他玩家加入而建立的遊戲類型，不涉及任何配對。 |
| 聊天派對 | 一群正在一起聊天的人員。這些人員可能從事相同的活動，也可能從事不同的活動，例如遊戲、音樂或應用程式。如需詳細資訊，請參閱本主題稍早的[2015 多人遊戲支援的派對](#parties-supported-by-2015-multiplayer)。 |
| 遊戲邀請 | 加入遊戲工作階段的邀請。 |
| 遊戲工作階段 | 玩家實際一起遊玩的工作階段。所有多人遊戲案例 (例如配對或加入大廳) 最終都會進入遊戲工作階段。工作階段通常會宣傳為玩家目前的活動以啟用加入。它也用於建立最近的玩家清單。如需詳細資訊，請參閱[多人遊戲工作階段進階主題](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details)。 |
| 遊戲工作階段主機 | 對於建置在以主機為基礎之點對點網路架構上的遊戲，執行遊戲模擬的主機。此主機通常與仲裁者相同，但不一定要相同。 |
| 控制代碼 (或工作階段控制代碼) | 對 MPSD 工作階段的參考，具有與其相關聯的額外狀態和行為。如需詳細資訊，請參閱「多人遊戲工作階段目錄概觀」中的[工作階段的 MPSD 控制代碼](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-handles-to-sessions)一節。 |
| 非作用中玩家 | 在工作階段中設定為 Inactive 狀態的玩家。當遊戲暫停或遊戲所定義的其他非作用中狀態時，遊戲會將玩家設定為此狀態。在某些情況下，MPSD 也可能將玩家設定為非作用中，但這主要是遊戲的責任。如需詳細資訊，請參閱「多人遊戲工作階段進階主題」中的[工作階段使用者狀態](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details#session-user-states)一節。 |
| 漏斗 | 以邏輯驅動的比賽票證集合。遊戲可以有多個漏斗，但只有同一漏斗內的票證才能配對。例如，遊戲可能會建立一個以玩家技能為最重要配對項目的漏斗。它可能會使用另一個只有在玩家購買了相同可下載內容時才會配對的漏斗。如需漏斗在 SmartMatch 工作流程中所處位置的詳細資訊，請參閱[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview) |
| 中途加入 | 在遊戲開始後加入另一位玩家之遊戲的概念。玩家可以透過好友的玩家卡加入好友的遊戲。然後，遊戲可以在適當的時間將這些玩家移入遊戲工作階段。 |
| 大廳工作階段 | 適用於正在等待加入遊戲工作階段之受邀玩家的協助程式工作階段。如需詳細資訊，請參閱[多人遊戲工作階段進階主題](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details)。 |
| 比賽目標工作階段 | 在 SmartMatch 配對期間設定以代表比賽的比賽工作階段。如需詳細資訊，請參閱[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)。 |
| 比賽票證工作階段 | 在 SmartMatch 配對期間設定的初步比賽工作階段。如需詳細資訊，請參閱[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)。 |
| MPSD 工作階段 | 位於 XBOX 服務雲端內之 MPSD 中的安全文件。它包含在 XBOX One (或更新版本) 上執行遊戲時可能連線的一群玩家，以及有關玩家及其遊戲的中繼資料。如需詳細資訊，請參閱[多人遊戲工作階段進階主題](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details)。 |
| 多人遊戲工作階段目錄 (MPSD) | 在雲端中運作的服務，多人遊戲系統使用它來儲存和擷取工作階段。如需詳細資訊，請參閱[多人遊戲工作階段目錄 (MPSD)](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-nav)。 |
| Party 應用程式 | XBOX One (或更新版本) 系統貼齊應用程式，可讓玩家檢視和管理其派對。 |
| 伺服器工作階段 | 由 PlayFab 多人遊戲伺服器等伺服器建立的遊戲工作階段。請參閱[多人遊戲工作階段進階主題](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details)。 |
| 提醒 (Shoulder tap) | MPSD 向遊戲發出的通知，指出服務上發生了可能值得注意的變更。提醒是快速的提示，通常比一般通知提供的資訊更少。如需詳細資訊，請參閱「多人遊戲工作階段目錄概觀」中的[MPSD 變更通知處理和中斷連線偵測](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-change-notification-handling-and-disconnect-detection)一節。 |
| SmartMatch 配對 | XBOX One (或更新版本) 遊戲可用的 XBOX 服務配對功能，由配對服務實作。使用 MPSD 和配對，遊戲會提出配對要求，並在稍後收到已找到配對群組的通知。如需詳細資訊，請參閱[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)。 |

## 2015 多人遊戲的新功能

<Warning>
  如果您的遊戲使用 2015 多人遊戲，請勿使用 2014 多人遊戲中與派對相關的類別。將 2015 多人遊戲功能與派對相關類別混合使用會導致不一致的行為，絕不應嘗試。
</Warning>

### 2015 多人遊戲的新概念

#### 與 MPSD 的 Web 通訊端連線

MPSD 現在可讓遊戲維護 Web 通訊端連線。這些連線可讓用戶端在工作階段變更時接收通知。

如需詳細資訊，請參閱「多人遊戲工作階段目錄概觀」中的[MPSD 變更通知處理和中斷連線偵測](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-change-notification-handling-and-disconnect-detection)一節。

#### MPSD 工作階段控制代碼

2015 多人遊戲新增了對 MPSD 工作階段控制代碼的支援，這是可以包含具類型資料的工作階段參考。如需詳細資訊，請參閱：

* 「多人遊戲概念概觀」中的[工作階段控制代碼](/zh-TW/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts#session-handles)一節。
* 「多人遊戲工作階段目錄概觀」中的[工作階段的 MPSD 控制代碼](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-overview#mpsd-handles-to-sessions)一節。

## XBOX 360 與 XBOX One MPSD 工作階段功能之間的差異

| 功能 | XBOX 360 | XBOX One |
| - | - | - |
| **取得遊戲工作階段資訊** | `XSessionGetDetails`、`XSessionSearchByID`，或由遊戲進行追蹤。 | 遊戲向 MPSD 要求工作階段資訊。 |
| **移轉主機** | 需要時，遊戲呼叫 `XSessionMigrateHost`。 | 視移轉的原因而定，遊戲可能會為工作階段指派新的主機，或建立新的 MPSD 工作階段。 |
| **多個玩家工作階段** | 一次處理多個工作階段很棘手；例如 `XNetReplaceKey` 與 `XNetUnregisterKey`。 | 以服務為基礎的工作階段讓一個工作階段的管理更簡潔，並簡化多個工作階段的處理。 |
| **登出和中斷連線** | 遊戲必須使用 `XCloseHandle` 或 `XSessionDelete` 以不同方式處理中斷連線和登出。 | MPSD 簡化了登出和中斷連線的處理。逾時是在遊戲設定中設定的。 |
| **配對** | 配對查詢是以用戶端為基礎的。 | 配對是以服務為基礎的，可在遊戲內提供更好的比賽品質和更輕鬆的背景配對。 |

### 工作階段

在 XBOX 360 上，工作階段代表遊戲的一個執行個體。玩家會在配對服務中搜尋工作階段，並在工作階段結束時回報統計資料。

對於 XBOX 360 之後的所有目標平台 (包括 Windows PC)，工作階段更為通用，代表一群玩家。

XBOX 用戶端之間的任何網路連線都需要工作階段，工作階段會保存應在工作階段中所有玩家之間共用的資訊。此資訊的一些範例包括工作階段中允許的玩家數目、工作階段中每部主機的安全位址，以及自訂遊戲資料。

### XBOX 配對

在 XBOX 360 上，遊戲透過指定屬性結構描述和一組搜尋這些屬性的查詢來執行配對。在執行階段，遊戲會選擇裝載工作階段或搜尋工作階段。

對於所有較新的 XBOX 用戶端 (例如 XBOX One (及更新版本) 和 Windows PC)，配對是以伺服器為基礎的。玩家和遊戲不再決定要裝載還是搜尋。相反地，每個預先組成的玩家群組都會建立一個「票證」工作階段，並將該工作階段提交至配對服務。

服務接著會尋找其他工作階段，並將群組合併以形成新的「目標」工作階段。用戶端會收到配對的通知，並在開始遊戲之前執行服務品質 (QoS) 測量，以驗證與其他工作階段成員的連線。

## 另請參閱

[多人遊戲工作階段目錄 (MPSD)](/zh-TW/services/xbox-services/multiplayer/mpsd/live-mpsd-nav)
[配對概觀](/zh-TW/services/xbox-services/multiplayer/matchmaking/live-matchmaking-overview)
[即時活動 (RTA) 服務](/zh-TW/services/xbox-services/fundamentals/rta/live-rta-nav)
[信譽](/zh-TW/services/xbox-services/community/reputation/live-reputation-nav)


## Related topics

- [多人遊戲概念](/zh-TW/services/xbox-services/multiplayer/concepts/live-multiplayer-concepts-nav.md)
- [概念](/zh-TW/services/xbox-services/multiplayer/concepts/index.md)
- [使用 PlayFab 的多人遊戲](/zh-TW/services/playfab/multiplayer/mpintro.md)
- [使用 PlayFab 多人遊戲伺服器裝載多人遊戲](/zh-TW/services/playfab/multiplayer/servers/using-playfab-servers-to-host-games.md)
- [設定多人遊戲服務](/zh-TW/services/xbox-services/multiplayer/concepts/live-configure-the-multiplayer-service.md)
