如何使用 PlayFab GSDK Unreal 插件

本文介绍如何将 PlayFab 多人游戏服务器 SDK (GSDK) Unreal Online 子系统 (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 存储库

若要使用这些指南,请将 ThirdPersonMP 的所有实例替换为项目名称(如果不同)。

要求

创建项目

Unreal 服务器项目必须是已启用网络的多人游戏 Unreal 项目,且具有专用服务器模式。 如果没有满足这些先决条件的项目,请按照 Unreal 先决条件设置指南 进行设置。 启用了网络的多人游戏项目和专用服务器后,返回到此步骤并继续。

准备就绪后,打开已启用网络的多人游戏 Unreal 服务器项目,并继续执行下一步以安装 Unreal GSDK。

Project GSDK 设置

  • GSDK 项目先决条件详细信息
    • 专用服务器:
      • 项目应具有单独的 {ProjectName}Server.Target.cs 文件
      • 此文件应包含 Type = TargetType.Server; 以启用专用服务器模式
      • 在 Win64 的“开发服务器”配置中内置时,输出包含 {ProjectName}Server.exe
    • 已启用网络:
      • 有多种满足此要求的方法,但简单的答案是:客户端可以在单独的计算机上与游戏服务器建立网络连接,并进行有意义的通信
      • 我们的说明指导你完成 Unreal 的内置数据复制系统,该系统可为你处理大部分此要求
      • 可以更直接地与套接字建立此连接,例如通过 ISocketSubsystem(这是更高级的主题)
    • 多人游戏:
      • 游戏服务器可以接受多个传入客户端连接,并与两者正确通信
      • 同样,使用 Unreal 的内置数据复制,此要求主要为你处理

使用正确配置的多人游戏项目,可以 安装 GSDK。 此插件将允许服务器在 PlayFab 多人游戏服务上运行。

Unreal 项目生成配置

在项目中安装和配置 GSDK 后,可以 生成 Unreal 项目。 在将来的步骤中,需要执行所有测试的多个生成配置。

测试本地服务器部署

拥有任何客户端生成和“开发服务器”生成后,可以 本地测试 MPS 部署过程,并验证服务器是否正常工作。

部署到 PlayFab

现在可以使用 PlayFab 多人游戏服务在云中创建游戏服务器。 PlayFab MPS 支持 Windows 服务器Linux 服务器

连接到已部署的服务器

最后,你已准备好连接到已部署的服务器

致谢

感谢 Stefan Jenkinsmann 创建并提交此插件。

感谢 Nick Arthur 提供令人惊叹的 Dockerfile

感谢 Adam Rehn 处理 Unreal 和 Docker 的所有工作,包括代码、示例、示例和教程。