使用 PlayFab 多人游戏服务器托管多人游戏
本主题将说明如何使用 PlayFab 多人游戏服务器来托管多人游戏会话,包括创建游戏服务器来为游戏会话连接玩家,以及动态缩放服务器以满足需求。
使用我们的服务,可将 VM 配置为根据预算和需求作为游戏服务器在全局范围内自动启动。 为此,请勿显式创建 VM,而是通过定义参数来确定如何创建 VM。 此过程称为部署或创建内部版本。
在配置过程中,你将上传一个游戏服务器内部版本,使其作为一个容器化应用程序在 VM 上运行。
你所需要的有
- PlayFab.com 上的开发者帐户
- 启用 PlayFab 多人游戏服务器功能。
- 服务器客户端游戏源代码
如果你还没有服务器客户端游戏,请使用我们的示例来了解它的工作原理。 其中一个示例是一个包装器应用程序,可用于包装现有游戏服务器,使其在 PlayFab 多人游戏服务器上正常工作。 若要了解详细信息,请参阅 创建第一台服务器。
如果不确定这里所使用的术语,请参阅 服务器术语。
1. 创作游戏服务器内部版本
游戏服务器内部版本通常包含游戏资产和在服务器/虚拟机 (VM) 上运行的可执行文件。
使用 PlayFab 多人游戏服务器时,必须将 PlayFab 游戏服务器 SDK (GSDK) 集成到常用的游戏服务器内部版本中。 此集成的游戏服务器内部版本称为 PlayFab 多人游戏服务器内部版本。
有关详细集成步骤,请参阅 创作游戏服务器内部版本。 若要了解有关内部结构的详细信息,请参阅 服务器术语 和 游戏服务器基础知识。
2. 部署内部版本
如上述步骤所述,拥有可在 PlayFab 多人游戏服务器上运行的游戏服务器内部版本后,可以开始配置希望如何为你创建服务器/虚拟机 (VM)。 此步骤称为创建或部署内部版本。
可以指定所需的服务器类型、它们所在的区域、服务器上的内容以及它们的缩放方式。
有关详细信息,请参阅 部署内部版本。
3. 缩放游戏服务器
创建内部版本后,该服务能够动态启动新的虚拟机并回收用过的虚拟机。 这将确保游戏能够满足玩家需求并保持指定的待机级别。 若要了解有关配置此缩放行为的详细信息,请参阅 缩放待机、 计划待机和 动态待机。
现在,还可以使用 API 管理缩放。 若要了解详细信息,请参阅 以编程方式缩放。
4. 测量玩家到 Azure 区域的延迟
当玩家发起多人游戏体验时,应向我们的服务质量 (QoS) 信标发送用户数据报协议 (UDP) 消息。 根据发送 UDP 消息和接收响应之间的时间,可以测量网络延迟。 延迟测数可用于确定在哪个数据中心请求游戏服务器能获得最佳体验。
若要了解详细信息并查看示例代码,请参阅 使用 QoS 信标测量玩家到 Azure 的延迟。
5. 请求游戏服务器
当玩家需要多人游戏服务器时,可以从内部版本的备用池进行分配。 此请求可以来自多个源,包括 PlayFab 匹配、你操作的大厅或匹配服务、直接来自调用 PlayFab 的客户端等。
PlayFab 匹配服务是一项跨平台匹配服务,能够自动分配 PlayFab 多人游戏服务器。 有关如何激活服务器分配的详细信息,请参阅 集成匹配与 PlayFab 多人游戏服务器。
6. 连接并进行游戏
如果有备用服务器可用,则 PlayFab 会在 1 秒内完成服务器请求。 服务器处于活动状态后,客户端会连接到服务器并进行游戏。
下图说明了 PlayFab 多人游戏服务器托管的工作原理,结合了上述步骤。