> ## 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 插件所有页面的概览。

# 如何使用 PlayFab GSDK Unreal 插件

本文介绍如何将 PlayFab Multiplayer Server SDK (GSDK) 的 Unreal Online Subsystem (OSS) 插件集成到你的 Unreal 项目中。

该插件同时提供 Blueprint API 和 C++ API。Blueprint API 仍要求你的 Unreal 项目为 C++ 项目,不能在仅有 Blueprint 的项目中工作。如果你的项目目前只有 Blueprint,则需要先将其转换为 C++ 项目,然后再添加插件。

该插件最初已针对 Unreal Engine 4.26、4.27、5.0 和 5.1 进行了测试。此插件将持续维护,以适配 Unreal 的最新 3\~4 个版本。如果在使用这些版本时出现问题,请在此处提交 issue:[Unreal Engine GSDK 仓库](https://github.com/PlayFab/gsdk/issues)。

使用这些指南时,请将其中所有的 **ThirdPersonMP** 替换为你自己的项目名称(如果不同)。

## 要求

* 下载 Visual Studio。[社区版](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 前置准备指南](/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;` 以启用专用服务器模式
    * 以“development server”配置为 Win64 构建时,输出中包含 \{ProjectName}Server.exe
  * 启用网络:
    * 满足此要求的方式有多种,但简单来说就是:你的客户端能够与另一台机器上的游戏服务器建立网络连接,并进行有意义的通信
    * 我们的说明将引导你使用 Unreal 内置的数据复制系统,它可为你处理该要求的大部分内容
    * 你也可以通过 socket(例如通过 ISocketSubsystem)更直接地建立此连接,但这是更高级的话题
  * 多人:
    * 你的游戏服务器可以接受多个传入的客户端连接,并与它们正常通信
    * 同样,借助 Unreal 内置的数据复制,该要求大部分可自动处理

在正确配置多人项目后,你就可以[安装 GSDK](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-gsdk-project-setup)了。此插件可让你的服务器在 PlayFab Multiplayer Services 上运行。

## Unreal 项目构建配置

在你的项目中安装并配置好 GSDK 后,即可[构建你的 Unreal 项目](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/building-the-third-person-mp-example-project)。你需要多种构建配置来在后续步骤中执行完整的测试。

## 测试本地服务器部署

有了任意一个客户端构建,以及一个“Development Server”构建后,你就可以[在本地测试 MPS 部署过程](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-local-deployment-and-debugging),并验证你的服务器是否正常工作。

## 部署到 PlayFab

你现在可以使用 PlayFab Multiplayer Services 在云中创建游戏服务器。PlayFab MPS 支持 [Windows 服务器](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/third-person-mp-example-project-cloud-deployment)和 [Linux 服务器](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/setting-up-a-linux-dedicated-server-on-playfab)。

## 连接到已部署的服务器

最后,你可以[连接到已部署的服务器](/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 Unreal GSDK 插件概览](/zh-CN/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/index.md)
- [PlayFab Multiplayer Unity 插件概览](/zh-CN/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/multiplayer-unity-overview.md)
- [集成 PlayFab Unreal Engine Marketplace 插件](/zh-CN/services/playfab/multiplayer/networking/party-unreal-engine-oss-playfab-plugin-integration.md)
- [PlayFab Unreal GSDK Plugin Overview](/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/index.md)
- [Unreal Engine 快速入门](/zh-CN/services/playfab/sdks/unreal/quickstart.md)
