class QueuedMatchmakingConfiguration (construct)
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.GameLift.Alpha.QueuedMatchmakingConfiguration |
Go | github.com/aws/aws-cdk-go/awscdkgameliftalpha/v2#QueuedMatchmakingConfiguration |
Java | software.amazon.awscdk.services.gamelift.alpha.QueuedMatchmakingConfiguration |
Python | aws_cdk.aws_gamelift_alpha.QueuedMatchmakingConfiguration |
TypeScript (source) | @aws-cdk/aws-gamelift-alpha ยป QueuedMatchmakingConfiguration |
Implements
IConstruct
, IDependable
, IResource
, IMatchmaking
A FlexMatch matchmaker process does the work of building a game match.
It manages the pool of matchmaking requests received, forms teams for a match, processes and selects players to find the best possible player groups, and initiates the process of placing and starting a game session for the match. This topic describes the key aspects of a matchmaker and how to configure one customized for your game.
See also: https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html
Example
declare const queue: gamelift.GameSessionQueue;
declare const ruleSet: gamelift.MatchmakingRuleSet;
new gamelift.QueuedMatchmakingConfiguration(this, 'QueuedMatchmakingConfiguration', {
matchmakingConfigurationName: 'test-queued-config-name',
gameSessionQueues: [queue],
ruleSet: ruleSet,
});
Initializer
new QueuedMatchmakingConfiguration(scope: Construct, id: string, props: QueuedMatchmakingConfigurationProps)
Parameters
- scope
Construct
- id
string
- props
Queued
Matchmaking Configuration Props
Construct Props
Name | Type | Description |
---|---|---|
game | IGame [] | Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. |
matchmaking | string | A unique identifier for the matchmaking configuration. |
rule | IMatchmaking | A matchmaking rule set to use with this configuration. |
acceptance | Duration | The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. |
additional | number | The number of player slots in a match to keep open for future players. |
custom | string | Information to add to all events related to the matchmaking configuration. |
description? | string | A human-readable description of the matchmaking configuration. |
game | Game [] | A set of custom properties for a game session, formatted as key-value pairs. |
game | string | A set of custom game session properties, formatted as a single string value. |
manual | boolean | The method used to backfill game sessions that are created with this matchmaking configuration. |
notification | ITopic | An SNS topic ARN that is set up to receive matchmaking notifications. |
request | Duration | The maximum duration, that a matchmaking ticket can remain in process before timing out. |
require | boolean | A flag that determines whether a match that was created with this configuration must be accepted by the matched players. |
gameSessionQueues
Type:
IGame
[]
Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration.
Queues can be located in any Region.
matchmakingConfigurationName
Type:
string
A unique identifier for the matchmaking configuration.
This name is used to identify the configuration associated with a matchmaking request or ticket.
ruleSet
Type:
IMatchmaking
A matchmaking rule set to use with this configuration.
A matchmaking configuration can only use rule sets that are defined in the same Region.
acceptanceTimeout?
Type:
Duration
(optional, default: 300 seconds)
The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
additionalPlayerCount?
Type:
number
(optional, default: no additional player slots)
The number of player slots in a match to keep open for future players.
For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.
customEventData?
Type:
string
(optional, default: no custom data added to events)
Information to add to all events related to the matchmaking configuration.
description?
Type:
string
(optional, default: no description is provided)
A human-readable description of the matchmaking configuration.
gameProperties?
Type:
Game
[]
(optional, default: no additional game properties)
A set of custom properties for a game session, formatted as key-value pairs.
These properties are passed to a game server process with a request to start a new game session.
gameSessionData?
Type:
string
(optional, default: no additional game session data)
A set of custom game session properties, formatted as a single string value.
This data is passed to a game server process with a request to start a new game session.
manualBackfillMode?
Type:
boolean
(optional, default: automatic backfill mode)
The method used to backfill game sessions that are created with this matchmaking configuration.
- Choose manual when your game manages backfill requests manually or does not use the match backfill feature.
- Otherwise backfill is settled to automatic to have GameLift create a
StartMatchBackfill
request whenever a game session has one or more open slots.
See also: https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html
notificationTarget?
Type:
ITopic
(optional, default: no notification target)
An SNS topic ARN that is set up to receive matchmaking notifications.
See also: https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html
requestTimeout?
Type:
Duration
(optional, default: 300 seconds)
The maximum duration, that a matchmaking ticket can remain in process before timing out.
Requests that fail due to timing out can be resubmitted as needed.
requireAcceptance?
Type:
boolean
(optional, default: Acceptance is not required)
A flag that determines whether a match that was created with this configuration must be accepted by the matched players.
With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
to indicate when a completed potential match is waiting for player acceptance.
Properties
Name | Type | Description |
---|---|---|
env | Resource | The environment this resource belongs to. |
matchmaking | string | The ARN of the matchmaking configuration. |
matchmaking | string | The name of the matchmaking configuration. |
node | Node | The tree node. |
stack | Stack | The stack in which this resource is defined. |
notification | ITopic | The notification target for matchmaking events. |
env
Type:
Resource
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
matchmakingConfigurationArn
Type:
string
The ARN of the matchmaking configuration.
matchmakingConfigurationName
Type:
string
The name of the matchmaking configuration.
node
Type:
Node
The tree node.
stack
Type:
Stack
The stack in which this resource is defined.
notificationTarget?
Type:
ITopic
(optional)
The notification target for matchmaking events.
Methods
Name | Description |
---|---|
add | Adds a game session queue destination to the matchmaking configuration. |
apply | Apply the given removal policy to this resource. |
metric(metricName, props?) | Return the given named metric for this matchmaking configuration. |
metric | Matchmaking requests currently being processed or waiting to be processed. |
metric | For matchmaking configurations that require acceptance, the potential matches that were accepted since the last report. |
metric | Potential matches that were created since the last report. |
metric | Matches that were successfully placed into a game session since the last report. |
metric | For matchmaking configurations that require acceptance, the potential matches that were rejected by at least one player since the last report. |
metric | Players in matchmaking tickets that were added since the last report. |
metric | For matchmaking requests that were put into a potential match before the last report, the amount of time between ticket creation and potential match creation. |
to | Returns a string representation of this construct. |
static from | Import an existing matchmaking configuration from its ARN. |
static from | Import an existing matchmaking configuration from its name. |
GameSessionQueue(gameSessionQueue)
addpublic addGameSessionQueue(gameSessionQueue: IGameSessionQueue): void
Parameters
- gameSessionQueue
IGame
โ A game session queue.Session Queue
Adds a game session queue destination to the matchmaking configuration.
RemovalPolicy(policy)
applypublic applyRemovalPolicy(policy: RemovalPolicy): void
Parameters
- policy
Removal
Policy
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY
), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN
).
metric(metricName, props?)
public metric(metricName: string, props?: MetricOptions): Metric
Parameters
- metricName
string
- props
Metric
Options
Returns
Return the given named metric for this matchmaking configuration.
CurrentTickets(props?)
metricpublic metricCurrentTickets(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
Matchmaking requests currently being processed or waiting to be processed.
MatchesAccepted(props?)
metricpublic metricMatchesAccepted(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
For matchmaking configurations that require acceptance, the potential matches that were accepted since the last report.
MatchesCreated(props?)
metricpublic metricMatchesCreated(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
Potential matches that were created since the last report.
MatchesPlaced(props?)
metricpublic metricMatchesPlaced(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
Matches that were successfully placed into a game session since the last report.
MatchesRejected(props?)
metricpublic metricMatchesRejected(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
For matchmaking configurations that require acceptance, the potential matches that were rejected by at least one player since the last report.
PlayersStarted(props?)
metricpublic metricPlayersStarted(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
Players in matchmaking tickets that were added since the last report.
TimeToMatch(props?)
metricpublic metricTimeToMatch(props?: MetricOptions): Metric
Parameters
- props
Metric
Options
Returns
For matchmaking requests that were put into a potential match before the last report, the amount of time between ticket creation and potential match creation.
Units: seconds
String()
topublic toString(): string
Returns
string
Returns a string representation of this construct.
QueuedMatchmakingConfigurationArn(scope, id, matchmakingConfigurationArn)
static frompublic static fromQueuedMatchmakingConfigurationArn(scope: Construct, id: string, matchmakingConfigurationArn: string): IMatchmakingConfiguration
Parameters
- scope
Construct
- id
string
- matchmakingConfigurationArn
string
Returns
Import an existing matchmaking configuration from its ARN.
QueuedMatchmakingConfigurationName(scope, id, matchmakingConfigurationName)
static frompublic static fromQueuedMatchmakingConfigurationName(scope: Construct, id: string, matchmakingConfigurationName: string): IMatchmakingConfiguration
Parameters
- scope
Construct
- id
string
- matchmakingConfigurationName
string
Returns
Import an existing matchmaking configuration from its name.