本指南将帮助你准备 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
后,请确保能够为游戏WindowsClient
和WindowsServer
风格生成二进制文件。 - 将
<Game>Server.exe
二进制文件从Binaries/Win64/
第二台电脑上移动到任意位置。
连接
部署服务器
- 打开目录中第二台电脑上的
<Game>Server.exe
终端。
PS C:\WindowsServer\ >
- 启动专用服务器。
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。
连接客户端
- 在目录中的第一台电脑上
<Game>Client.exe
打开终端。
PS C:\WindowsClient\ >
- 启动游戏客户端。
PS C:\WindowsClient\ > .\<Game>Client.exe <ipaddress_of_server_machine>:7777 -log
- 专用服务器的默认端口通常为 7777。 如果遇到连接错误,请确保服务器部署在正确的端口上,或更改连接命令以匹配该端口。
将显示一个游戏客户端,并连接到服务器上启动的游戏。 应在专用服务器的日志窗口中看到指示已加入客户端的日志。