如何使用 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 仓库。 使用这些指南时,请将其中所有的 ThirdPersonMP 替换为你自己的项目名称(如果不同)。要求
- 下载 Visual Studio。社区版是免费的。
- 所需工作负载:.NET 桌面开发 和 使用 C++ 的桌面开发
- 下载 Unreal Engine 源代码。相关说明请参见下载 Unreal Engine 源代码(外部)。
- 如果尚未克隆此仓库,请将其 git clone 到本地
git clone https://github.com/PlayFab/gsdk.git- 后续步骤将涉及把此仓库中的文件集成到你的项目中
- [可选] 下载 LocalMultiplayerAgent
- [可选] 或者,下载 LocalMultiplayerAgent 源代码。
- [可选] PlayFab Marketplace 插件 或 GitHub 上的源代码版本。此插件对于 GSDK 不是必需的,但许多 PlayFab 服务(包括登录)需要它。
创建项目
Unreal 服务器项目需要是一个启用了网络的多人 Unreal 项目,并具有专用服务器模式。如果你没有满足这些前提条件的项目,请按照我们的 Unreal 前置准备指南来创建一个。有了启用网络的多人专用服务器项目后,再返回此步骤继续。 准备就绪后,打开你启用了网络的多人 Unreal 服务器项目,并继续下一步以安装 Unreal GSDK。项目 GSDK 设置
- GSDK 项目前置条件详情
- 专用服务器:
- 你的项目应有一个单独的 {ProjectName}Server.Target.cs 文件
- 该文件应包含
Type = TargetType.Server;以启用专用服务器模式 - 以“development server”配置为 Win64 构建时,输出中包含 {ProjectName}Server.exe
- 启用网络:
- 满足此要求的方式有多种,但简单来说就是:你的客户端能够与另一台机器上的游戏服务器建立网络连接,并进行有意义的通信
- 我们的说明将引导你使用 Unreal 内置的数据复制系统,它可为你处理该要求的大部分内容
- 你也可以通过 socket(例如通过 ISocketSubsystem)更直接地建立此连接,但这是更高级的话题
- 多人:
- 你的游戏服务器可以接受多个传入的客户端连接,并与它们正常通信
- 同样,借助 Unreal 内置的数据复制,该要求大部分可自动处理
- 专用服务器:
