将 FlexMatch 添加到游戏客户端 - Amazon GameLift Servers

将 FlexMatch 添加到游戏客户端

本主题介绍如何将 FlexMatch 对战功能添加到您的客户端游戏组件。

我们强烈建议您的游戏客户端通过后端游戏服务发起对战请求。通过使用此可信源与 Amazon GameLift Servers 服务通信,您可以更轻松地防范黑客攻击和虚假玩家数据。如果您的游戏具有会话目录服务,那么这是一个用于处理对战请求的好选项。无论将 FlexMatch 与 Amazon GameLift Servers 托管服务配合使用,还是作为独立服务使用,通过后端游戏服务统一调用 Amazon GameLift Servers 服务均为最佳实践。

无论您是将 FlexMatch 与 Amazon GameLift Servers 托管式通过配合使用,还是作为独立服务与其他托管解决方案搭配使用,均需进行客户端更新。请利用 AWS SDK 中包含的 Amazon GameLift Servers 服务 API,添加以下功能:

  • 请求一个或多个玩家的对战(必需)。根据您的对战规则集,此请求可能需要某些特定于玩家的数据,包括玩家属性和延迟。

  • 跟踪对战请求的状态(必需)。通常,此任务需要设置事件通知。

  • 要求玩家接受建议的对战游戏。此功能需要与玩家进行额外互动,才能显示对战详情并允许他们接受或拒绝对战。

  • 获取游戏会话连接信息,并加入游戏(必需)。在新对战的游戏会话开始后,检索游戏会话的连接信息,然后使用它来连接游戏会话。

客户端必备任务

在向游戏添加客户端功能之前,您需要完成以下任务:

  • 将 AWS 软件开发工具包添加到后端服务。该后端服务需使用 Amazon GameLift Servers API 中的功能,它是 AWS 软件开发工具包的一部分。请参阅适用于客户端服务的 Amazon GameLift Servers 软件开发工具包,了解有关 AWS 软件开发工具包的更多信息并下载最新版本。有关 API 的描述和功能,请参阅Amazon GameLift ServersAPI 参考(FlexMatch 软件开发工具包)AWS

  • 设置对战票证系统。所有对战请求必须具有唯一票证 ID。创建一个生成唯一票证 ID 并将其分配给新对战请求的机制。票证 ID 可以使用任意字符串格式,最多 128 个字符。

  • 收集有关您的对战构建器的信息。从您的配对配置和规则集获取以下信息。

    • 对战配置资源的名称。

    • 玩家属性列表,在规则集中定义。

  • 检索玩家数据。设置一种方法来获取每位玩家的相关数据,以将其包含在对战请求中。您需要玩家 ID 和玩家属性值。如果您的规则集有延迟规则,或者您想在放置游戏会话时使用延迟数据,请收集玩家可能进入游戏的每个地理位置的延迟数据。要获得准确的延迟测量值,请使用 Amazon GameLift Servers 的 UDP ping 信标。这些端点使您能够测量玩家设备与每个潜在托管位置之间的实际 UDP 网络延迟,从而比使用 ICMP ping 更准确地做出放置决策。有关使用 UDP ping 信标测量延迟的更多信息,请参阅 UDP ping 信标