快速入门指南:使用 PlayFab Online 子系统设置专用服务器

本指南将帮助你准备 PlayFab Online 子系统 (OSS) 集成游戏,并在专用服务器方案中对其进行验证。 本指南重点介绍本地托管专用服务器的验证。

PlayFab OSS 默认使用 PlayFab 群套接字在玩家托管的方案中进行通信。 但是,在服务器托管的方案中,PlayFab 群套接字将无法连接,并且游戏需要显式调用 ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM) 才能与服务器通信。

PlayFab OSS 识别客户端何时连接到专用服务器,并回退到使用本机 PLATFORM_SOCKETSUBSYSTEM 进行客户端到服务器通信。

先决条件

  • 一款集成了 PlayFab Online 子系统 并能够创建客户端托管方案的游戏。
  • 可以用作游戏的连接客户端的“客户端”电脑。
  • 一台“服务器”电脑,可以用作游戏的托管服务器。
    • 建议使用第二台电脑,但可以根据需要使用相同的电脑、虚拟机实例或 Docker 实例。 本快速入门指南将指导你完成使用第二台电脑进行设置。
    • 确保第二台电脑的 IP 地址可从第一台电脑进行网络访问。

设置

Unreal Engine (UE) 5 的专用服务器设置

UE 5 专用服务器指南 指导你如何使用 UE 的 Lyra Game 作为主要示例将游戏打包为专用服务器。

Unreal Engine (UE) 4 的专用服务器设置

UE 4 专用服务器指南 指导你如何使用 UE 的射击游戏作为主要示例将游戏打包为专用服务器。

其他设置

  • 配置游戏的 <Game>Server.Target.cs后,请确保能够为游戏 WindowsClientWindowsServer 风格生成二进制文件。
  • <Game>Server.exe 二进制文件从 Binaries/Win64/ 第二台电脑上移动到任意位置。

连接

部署服务器

  1. 打开目录中第二台电脑上的 <Game>Server.exe 终端。
PS  C:\WindowsServer\ >
  1. 启动专用服务器。
PS  C:\WindowsServer\ > .\<Game>Server.exe <map> -log –NOSTEAM
  • 在本例中,arg -NOSTEAM 禁用游戏的默认 OSS (OSS PlayFab) 并将其 OnlineSubsystemNull替换为 。
  • arg -log 将打开一个单独的窗口来实时显示日志的内容。
  • 有关 UE 的 CLI 参数的详细信息,请访问Unreal Engine的命令行参数文档。

将出现一个单独的窗口,其中包含确认服务器已生成的 UE 日志。 确保日志包含以下行:

LogOnline: Warning: PLAYFAB: PlayFab API disabled!
LogOnline: Display: PLAYFAB: OnlineSubsystemPlayFab::Shutdown()
LogOnline: Verbose: PLAYFAB: FOnlineSubsystemPlayFab::CleanUpPlayFab PartyInitialized 0, LobbyInitialized 0
LogOnline: Verbose: PLAYFAB: FOnlineSubsystemPlayFab::UnregisterNetworkInitCallbacks

这些日志指示在专用服务器上正确禁用 OSS PlayFab。

连接客户端

  1. 在目录中的第一台电脑上 <Game>Client.exe 打开终端。
PS  C:\WindowsClient\ >
  1. 启动游戏客户端。
PS C:\WindowsClient\ > .\<Game>Client.exe <ipaddress_of_server_machine>:7777 -log
  • 专用服务器的默认端口通常为 7777。 如果遇到连接错误,请确保服务器部署在正确的端口上,或更改连接命令以匹配该端口。

将显示一个游戏客户端,并连接到服务器上启动的游戏。 应在专用服务器的日志窗口中看到指示已加入客户端的日志。