连接到 MPS 托管的构建
本文介绍如何使用实用工具将客户端连接到 PlayFab Multiplayer Servers (MPS) 托管的服务器。此工具在开发期间用于绕过预置和激活服务器的典型步骤。本示例序列中之前的步骤介绍了如何将 Unreal GSDK 添加到标准 ThirdPersonMP 教程项目。在这样做的过程中,我们设置了服务器连接端,但忽略了正确的客户端连接序列。PlayFab 要求先预置并激活服务器,客户端才能连接到它们。本文不介绍该过程,更多详情请参阅 MPS 文档。相反,对于本示例,我们将绕过这些复杂步骤,改用手动实用工具在客户端和服务器之间快速测试连接。先决条件
- 克隆或下载 MpsSamples 代码库
- 一个已完全部署的 ThirdPersonMP 服务器,处于 “Deployed” 状态,至少有一个服务器已完全准备好并处于 “Standby” 模式
- 一个已构建的游戏客户端,可用于连接
- 具有 .NET Core 3.1 的 Visual Studio(作为 Visual Studio Installer 中的可选复选框可用)
如何自动将客户端连接到服务器
您构建的游戏客户端可能是 ThirdPersonMP.exe,位于您的项目内部或附近。如果您没有使用 ThirdPersonMP 作为起始模板,那么您构建的游戏客户端将是 {YourProjectName}.exe,类似地位于您的 Unreal 项目内部或附近。找到此文件。- 找到
ThirdPersonMP.exe - 在相邻位置创建一个新文件
RunCloud.bat - 使用您选择的文本编辑器打开此文件,并设置以下内容:
ThirdPersonMP 替换为您的项目名称。
- 目前,我们尚不知道 IP-ADDRESS 或 PORT,请先保存,并让编辑器保持打开状态。
- 找到文件
{MpsSamples Repo}/MpsAllocatorSample/MpsAllocatorSample.csproj - 在 Visual Studio 中打开此文件
- 运行此程序
- 按照屏幕上的说明,在提示时输入以下值:
- {您的 PlayFab TitleId}
- {您的 PlayFab 游戏的任何有效且活跃的密钥}
- 选择 1 以执行 RequestMultiplayerServer
- 输入您希望测试的 Deployed 状态服务器构建的 {BuildId}
- 可在所有构建列表中的名称旁边找到、在特定构建的 Details 选项卡中找到,或在任何构建特定页面的 URL 中找到
- 如果您定义了多个区域,则会提示您选择一个。否则,如果只有一个可用区域,则会自动选择。
- 对于 Player ID,您可以输入真实或虚假的十六进制数字值
- 对于遵循 ThirdPersonMP 设置的用户,您可以选择任何十六进制数字,例如 1337、abc123 等
- 至少输入一个数字,然后再按一次回车键以完成
- 您应该会收到如下所示的响应:
- 注意:对本示例不重要的值已用
...替换 - 在响应中查找 IPV4Address 和 Ports.Num
- 在上面的示例中,这些值分别为:
52.180.68.101和30000 - 您的值可以/会有所不同
- 在上面的示例中,这些值分别为:
- 返回您的
RunCloud.bat文件,为 IP-ADDRESS 和 PORT 填入这些值。示例:
- 从 Windows 资源管理器双击此 .bat 文件以运行游戏客户端,等待片刻,然后再次双击它
- 这应该会启动您的游戏客户端的两个实例,两者都连接到您的云托管游戏服务器
- 此后,您可以在两个游戏中四处移动,应该会看到两个用户的移动和操作都反映在两个游戏客户端中,供两位玩家看到
- 成功!如果您看到这一点,则说明您已完成完整的 Setup/Build/Deploy/Connect 流程
