创建游戏会话队列
队列用于在多个实例集和位置放置新游戏会话。您的游戏通过向队列提交放置请求来启动新游戏会话。队列通过配置处理请求的指令进行设置。有关启动游戏会话放置请求的更多信息,请参阅创建游戏会话。
创建游戏会话队列
这些说明演示如何使用最小配置设置和默认设置创建一个简单可用的队列。自定义队列配置有多种选项可供选择。这些选项可根据游戏需求,助您实现最优放置位置。要了解有关为游戏自定义队列的更多信息,请参阅自定义游戏会话队列。您可以随时更新大多数队列配置设置。
您可以使用 Amazon GameLift Servers 控制台或 AWS CLI 创建游戏会话队列。
- Console
-
在 Amazon GameLift Servers 控制台
中,选择要在其中工作的 AWS 区域。打开控制台左侧导航栏并选择队列。 -
在队列页面中,选择创建队列以启动工作流。
-
在队列设置下输入以下设置:
-
输入队列名称。此名称在创建队列所在的 AWS 区域内必须唯一。
-
保留默认超时设置,即 600 秒(或 10 分钟)。此值控制 Amazon GameLift Servers 尝试创建新游戏会话的时间长度,超过该时间后将停止尝试。Amazon GameLift Servers 会持续搜索可用资源,直至请求超时。您可以随时更新队列超时设置。
-
跳过玩家延迟策略部分。队列仅在接收包含玩家延迟数据的放置请求时才会使用延迟策略。您可随时向队列添加延迟策略。有关创建延迟策略的更多信息,请参阅创建玩家延迟政策。
-
-
跳过游戏会话放置位置部分,即可使用所有位置的默认设置。此设置允许您创建队列可放置位置的允许列表(也称为筛选配置)。有关按位置和筛选配置划分优先级的更多信息,请参阅按位置确定放置优先级。
-
在目标顺序下,向队列添加一个或多个实例集。您可以使用实例集 ID 或 ARN 或使用实例集别名来识别实例集。添加多个实例集时,请注意它们应运行相似的游戏版本,并且与使用此队列的任何游戏客户端兼容。此外,队列中的所有实例集必须具有相同的证书配置。
-
选择创建实例集或别名的区域。对于多位置实例集,这是指“主”区域。
-
对于目标类型,选择实例集或别名。
-
您选择的区域和类型将填充现有实例集或别名的下拉列表。选择其中一项作为队列目标。
-
要为队列指定其他实例集或别名,请选择添加目标并重复上述步骤。
-
添加目标列表后,使用拖放功能对目标进行重新排序。Amazon GameLift Servers 将依据此顺序按目标确定放置位置的优先级。
-
-
跳过游戏会话放置优先级部分以保持默认优先级顺序。此设置允许您自定义 Amazon GameLift Servers 为新游戏会话放置选择可用托管资源的位置。有关确定放置优先级的更多信息,请参阅优先考虑游戏会话放置。您可以随时更新队列的放置优先级。
-
在位置顺序下,保留默认值。当按实例集位置确定优先级时,可使用此设置。它提供了可供使用的位置顺序。使用默认优先级设置时,如果首选目标是拥有多个位置的实例集,则位置将用作决胜因素。
-
跳过可选的事件通知设置部分。对于处理大量放置请求的队列,事件通知是必需的。对于处理量较低的队列(例如用于开发或测试目的),您可以通过轮询 DescribeGameSessionPlacement 来跟踪放置请求的状态。有关更多详细信息,请参阅 请参阅设置游戏会话置放通知。。您可以随时更新队列的事件通知设置。
-
选择创建以生成一个自定义程度最低的新队列。
-
- AWS CLI
-
例 创建队列
以下示例创建一个具有以下配置的游戏会话队列:
-
超时五分钟。
-
两个实例集目标。
-
筛选后仅允许在以下位置放置:
us-east-1、us-east-2、us-west-2和ca-central-1。 -
根据成本确定优先级,然后按指定顺序排列位置。
aws gamelift create-game-session-queue \ --name "sample-test-queue" \ --timeout-in-seconds 300 \ --destinations DestinationArn="arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-772266ba-8c82-4a6e-b620-a74a62a93ff8" DestinationArn="arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-33f28fb6-aa8b-4867-85b4-ceb217bf5994" \ --filter-configuration "AllowedLocations=us-east-1, ca-central-1, us-east-2, us-west-2" \ --priority-configuration PriorityOrder="COST","LOCATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \ --notification-target "arn:aws:sns:us-east-1:111122223333:gamelift-test.fifo"注意
您可以通过使用实例集或别名 ID 调用 describe-fleet-attributes 或 describe-alias 来获取实例集和别名 ARN 的值。
如果
create-game-session-queue请求成功,则 Amazon GameLift Servers 将返回包含新队列配置的 GameSessionQueue 对象。您现在可以使用 StartGameSessionPlacement 向队列提交请求。例 使用玩家延迟策略创建队列
以下示例创建一个具有以下配置的游戏会话队列:
-
超时十分钟
-
三个实例集目的地
-
您可以设置玩家延迟策略以:
aws gamelift create-game-session-queue \ --name "matchmaker-queue" \ --timeout-in-seconds 600 \ --destinations DestinationArn=arn:aws:gamelift:us-east-1::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8910 \ DestinationArn=arn:aws:gamelift:us-west-2::alias/alias-b0234567-c8d9-0e1f-2ab3-c45d6e7f8901 \ DestinationArn=arn:aws:gamelift:us-west-2::fleet/fleet-f1234567-b8c9-0d1e-2fa3-b45c6d7e8912 \ --player-latency-policies "MaximumIndividualPlayerLatencyMilliseconds=50,PolicyDurationSeconds=120" \ "MaximumIndividualPlayerLatencyMilliseconds=100,PolicyDurationSeconds=120" \ "MaximumIndividualPlayerLatencyMilliseconds=150" \如果
create-game-session-queue请求成功,则 Amazon GameLift Servers 将返回包含新队列配置的 GameSessionQueue 对象。 -