Amazon GameLift ServersFlexMatch 的工作原理 - Amazon GameLift Servers
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon GameLift ServersFlexMatch 的工作原理

本主题概述了 Amazon GameLift Servers FlexMatch 服务,包括 FlexMatch 系统的核心组件及其交互方式。

您可以将 FlexMatch 用于使用 Amazon GameLift Servers 托管式托管的游戏或使用其他托管解决方案的游戏。托管在 Amazon GameLift Servers 上的游戏(包括 Amazon GameLift Servers Realtime)使用集成的 Amazon GameLift Servers 服务来自动找到可用的游戏服务器并开始对战的游戏会话。使用 FlexMatch 作为独立服务的游戏,包括 Amazon GameLift Servers FleetIQ,必须与现有托管系统协调以分配托管资源并开始对战的游戏会话。

有关为游戏设置 FlexMatch 的详细指南,请参阅开始使用 FlexMatch

对战组件

FlexMatch 对战系统包括以下部分或全部组件。

Amazon GameLift Servers 组件

这些是 Amazon GameLift Servers 资源,用于控制 FlexMatch 服务如何为您的游戏进行对战。它们是使用 Amazon GameLift Servers 工具(包括控制台和 Amazon CLI)创建和维护的,或者也可以使用适用于 Amazon GameLift Servers 的 Amazon 软件开发工具包以编程方式创建和维护。

  • FlexMatch 对战配置(也称为对战构建器)– 对战构建器是一组配置值,可为您的游戏自定义对战流程。一款游戏可以有多个对战构建器,根据需要为不同的游戏模式或体验进行配置。当您的游戏向 FlexMatch 发送对战请求时,它会指定要使用哪个对战构建器。

  • FlexMatch 对战规则集 – 规则集包含评估玩家是否有潜在匹配以及批准或拒绝所需的所有信息。规则集定义了对战的团队结构,声明了用于评估的玩家属性,并提供了描述可接受对战标准的规则。规则可以适用于单个玩家、团队或整个对战。例如,规则可能要求对战中的每位玩家选择相同的游戏地图,或者可能要求所有团队的玩家平均技能相似。

  • Amazon GameLift Servers 游戏会话队列(仅适用于使用 Amazon GameLift Servers 托管式托管的 FlexMatch)– 游戏会话队列查找可用的托管资源,并为对战启动新的游戏会话。队列的配置决定了 Amazon GameLift Servers 在哪里寻找可用托管资源,以及如何为匹配选择最佳可用主机。

自定义组件

以下组件包含完整的 FlexMatch 系统所需的功能,您必须根据游戏架构实现这些功能。

  • 用于对战的玩家界面 – 此界面允许玩家加入对战。它至少会通过客户端对战服务组件发起对战请求,并根据对战过程的需要提供玩家特定的数据,例如技能等级和延迟数据。

    注意

    作为最佳实操,与 FlexMatch 服务的通信应由后端服务完成,而不是通过游戏客户端进行。

  • 客户端对战服务 – 该服务从玩家界面发送玩家加入请求,生成对战请求,然后将其发送到 FlexMatch 服务。对于正在处理的请求,它会监控对战事件,跟踪对战状态,并根据需要采取行动。根据您在游戏中管理游戏会话托管的方式,此服务可能会将游戏会话连接信息返回给玩家。此组件使用 Amazon SDK 调用 Amazon GameLift Servers API,实现与 FlexMatch 服务的通信。

  • 对战放置服务(仅适用于作为独立服务的 FlexMatch)– 此组件可与您现有的游戏托管系统配合使用,以查找可用的托管资源并为对战启动新的游戏会话。该组件必须获取对战结果并提取开始新游戏会话所需的信息,包括玩家 ID、属性和对战中所有玩家的队伍分配。