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

# PlayFab Unreal GSDK 外掛程式概觀

> PlayFab Unreal GSDK 外掛程式的概觀，可使用藍圖或 C++ API 將專用遊戲伺服器與 PlayFab 多人遊戲伺服器整合。

# 如何使用 PlayFab GSDK Unreal 外掛程式

本文說明如何將 PlayFab 多人遊戲伺服器 SDK (GSDK) Unreal Online Subsystem (OSS) 外掛程式與您的 Unreal 專案整合。

此外掛程式同時提供藍圖 API 和 C++ API。藍圖 API 仍要求您的 Unreal 專案是 C++ 專案，無法在僅限藍圖的專案上運作。如果目前是僅限藍圖的專案，則您需要在新增外掛程式之前，先將其轉換為 C++ 專案。

它最初已在 Unreal Engine 4.26、4.27、5.0 和 5.1 上測試過。此外掛程式將持續維護，以支援最新的 3 - 4 個 Unreal 版本。如果使用這些版本時發生問題，請在此處提出問題：[Unreal Engine GSDK 存放庫](https://github.com/PlayFab/gsdk/issues)。

若要使用這些指南，如果您的專案名稱不同，請將所有 **ThirdPersonMP** 取代為您的專案名稱。

## 需求

* 下載 Visual Studio。[Community 版本](https://visualstudio.microsoft.com/vs/community/)是免費的。
  * 必要的工作負載：.NET 桌面開發和使用 C++ 的桌面開發
* 下載 Unreal Engine 原始程式碼。如需指示，請參閱[下載 Unreal Engine 原始程式碼 (外部)](https://docs.unrealengine.com/ProgrammingAndScripting/ProgrammingWithCPP/DownloadingSourceCode/)。
* 如果您尚未這麼做，請將此存放庫 git clone 至您的本機電腦
  * `git clone https://github.com/PlayFab/gsdk.git`
  * 後續步驟將涉及將此存放庫中的檔案整合至您的專案
* \[選用] 下載 [LocalMultiplayerAgent](https://github.com/PlayFab/MpsAgent/releases)
  * \[選用] 或者，下載 [LocalMultiplayerAgent 原始程式碼](https://github.com/PlayFab/MpsAgent/tree/main/LocalMultiplayerAgent)。
* \[選用] [PlayFab Marketplace 外掛程式](https://www.unrealengine.com/marketplace/product/playfab-sdk)或 [GitHub 上的原始程式碼版本](https://github.com/PlayFab/UnrealMarketplacePlugin/tree/master/PlayFabPlugin/PlayFab)。GSDK 不需要此外掛程式，但許多 PlayFab 服務 (包括登入) 都需要它。

## 建立專案

Unreal 伺服器專案必須是具有專用伺服器模式、已啟用網路功能的多人遊戲 Unreal 專案。如果您沒有符合這些先決條件的專案，請依照我們的 [Unreal 先決條件設定指南](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-setup)設定一個。在您擁有具備專用伺服器、已啟用網路功能的多人遊戲專案後，請返回此步驟並繼續。

準備就緒後，開啟您已啟用網路功能的多人遊戲 Unreal 伺服器專案，然後繼續下一個步驟以安裝 Unreal GSDK。

## 專案 GSDK 設定

* GSDK 專案先決條件詳細資料
  * 專用伺服器：
    * 您的專案應該有一個獨立的 \{ProjectName}Server.Target.cs 檔案
    * 此檔案應包含 `Type = TargetType.Server;` 以啟用專用伺服器模式
    * 以 Win64 的 "development server" 設定建置時，您的輸出會包含 \{ProjectName}Server.exe
  * 已啟用網路功能：
    * 有多種方式可以滿足此需求，但簡單的答案是：您的用戶端可以與另一部電腦上的遊戲伺服器建立網路連線，並進行有意義的通訊
    * 我們的指示會引導您使用 Unreal 內建的資料複寫系統，它會為您處理此需求的大部分內容
    * 您可以更直接地透過通訊端建立此連線，例如透過 ISocketSubsystem，這是更進階的主題
  * 多人遊戲：
    * 您的遊戲伺服器可以接受多個傳入的用戶端連線，並與它們正確通訊
    * 同樣地，透過 Unreal 內建的資料複寫，此需求大部分會由系統為您處理

擁有正確設定的多人遊戲專案後，您就可以[安裝 GSDK](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup)。此外掛程式可讓您的伺服器在 PlayFab 多人遊戲服務上執行。

## Unreal 專案組建設定

在專案中安裝並設定 GSDK 後，您就可以[建置您的 Unreal 專案](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project)。您需要多種組建設定，才能在後續步驟中執行完整的測試。

## 測試本機伺服器部署

擁有任何用戶端組建和 "Development Server" 組建後，您就可以[在本機測試 MPS 部署程序](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging)，並確認您的伺服器可以運作。

## 部署至 PlayFab

您現在已準備好使用 PlayFab 多人遊戲服務在雲端建立遊戲伺服器。PlayFab MPS 支援 [Windows 伺服器](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-cloud-deployment)和 [Linux 伺服器](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab)。

## 連線至已部署的伺服器

最後，您已準備好[連線至已部署的伺服器](/zh-TW/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/connect-to-mps-hosted-build)。

## 致謝

感謝 [Stefan Krismann](https://github.com/stkrwork) 建立並提交此外掛程式。

感謝 [Nick Arthur](https://github.com/narthur157) 提供出色的 [Dockerfile](https://github.com/narthur157/playfab-gsdk-ue4)。

感謝 [Adam Rehn](https://github.com/adamrehn) 在 Unreal 和 Docker 方面的所有貢獻，包括程式碼、範例和教學課程。


## Related topics

- [PlayFab Multiplayer Unity 外掛程式概觀](/zh-TW/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/multiplayer-unity-overview.md)
- [PlayFab for Unreal Engine 概觀](/zh-TW/services/playfab/sdks/unified-unreal/overview.md)
- [整合 PlayFab Unreal Engine Marketplace 外掛程式](/zh-TW/services/playfab/multiplayer/networking/party-unreal-engine-oss-playfab-plugin-integration.md)
- [Unreal Engine 快速入門](/zh-TW/services/playfab/sdks/unreal/quickstart.md)
- [Party Unity 外掛程式快速入門](/zh-TW/services/playfab/multiplayer/networking/party-unity-plugin-quickstart.md)
