@aws-cdk_aws-gamelift-alpha.QueuedMatchmakingConfiguration

class QueuedMatchmakingConfiguration (construct) ๐Ÿ”น

LanguageType name
.NETAmazon.CDK.AWS.GameLift.Alpha.QueuedMatchmakingConfiguration
Gogithub.com/aws/aws-cdk-go/awscdkgameliftalpha/v2#QueuedMatchmakingConfiguration
Javasoftware.amazon.awscdk.services.gamelift.alpha.QueuedMatchmakingConfiguration
Pythonaws_cdk.aws_gamelift_alpha.QueuedMatchmakingConfiguration
TypeScript (source)@aws-cdk/aws-gamelift-alpha ยป QueuedMatchmakingConfiguration

Implements IConstruct, IDependable, IResource, IMatchmakingConfiguration

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 QueuedMatchmakingConfigurationProps

Construct Props

NameTypeDescription
gameSessionQueues๐Ÿ”นIGameSessionQueue[]Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration.
matchmakingConfigurationName๐Ÿ”นstringA unique identifier for the matchmaking configuration.
ruleSet๐Ÿ”นIMatchmakingRuleSetA matchmaking rule set to use with this configuration.
acceptanceTimeout?๐Ÿ”นDurationThe length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
additionalPlayerCount?๐Ÿ”นnumberThe number of player slots in a match to keep open for future players.
customEventData?๐Ÿ”นstringInformation to add to all events related to the matchmaking configuration.
description?๐Ÿ”นstringA human-readable description of the matchmaking configuration.
gameProperties?๐Ÿ”นGameProperty[]A set of custom properties for a game session, formatted as key-value pairs.
gameSessionData?๐Ÿ”นstringA set of custom game session properties, formatted as a single string value.
manualBackfillMode?๐Ÿ”นbooleanThe method used to backfill game sessions that are created with this matchmaking configuration.
notificationTarget?๐Ÿ”นITopicAn SNS topic ARN that is set up to receive matchmaking notifications.
requestTimeout?๐Ÿ”นDurationThe maximum duration, that a matchmaking ticket can remain in process before timing out.
requireAcceptance?๐Ÿ”นbooleanA flag that determines whether a match that was created with this configuration must be accepted by the matched players.

gameSessionQueues๐Ÿ”น

Type: IGameSessionQueue[]

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: IMatchmakingRuleSet

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: GameProperty[] (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.

See also: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession


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.

See also: https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession


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

NameTypeDescription
env๐Ÿ”นResourceEnvironmentThe environment this resource belongs to.
matchmakingConfigurationArn๐Ÿ”นstringThe ARN of the matchmaking configuration.
matchmakingConfigurationName๐Ÿ”นstringThe name of the matchmaking configuration.
node๐Ÿ”นNodeThe tree node.
stack๐Ÿ”นStackThe stack in which this resource is defined.
notificationTarget?๐Ÿ”นITopicThe notification target for matchmaking events.

env๐Ÿ”น

Type: ResourceEnvironment

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

NameDescription
addGameSessionQueue(gameSessionQueue)๐Ÿ”นAdds a game session queue destination to the matchmaking configuration.
applyRemovalPolicy(policy)๐Ÿ”นApply the given removal policy to this resource.
metric(metricName, props?)๐Ÿ”นReturn the given named metric for this matchmaking configuration.
metricCurrentTickets(props?)๐Ÿ”นMatchmaking requests currently being processed or waiting to be processed.
metricMatchesAccepted(props?)๐Ÿ”นFor matchmaking configurations that require acceptance, the potential matches that were accepted since the last report.
metricMatchesCreated(props?)๐Ÿ”นPotential matches that were created since the last report.
metricMatchesPlaced(props?)๐Ÿ”นMatches that were successfully placed into a game session since the last report.
metricMatchesRejected(props?)๐Ÿ”นFor matchmaking configurations that require acceptance, the potential matches that were rejected by at least one player since the last report.
metricPlayersStarted(props?)๐Ÿ”นPlayers in matchmaking tickets that were added since the last report.
metricTimeToMatch(props?)๐Ÿ”น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.
toString()๐Ÿ”นReturns a string representation of this construct.
static fromQueuedMatchmakingConfigurationArn(scope, id, matchmakingConfigurationArn)๐Ÿ”นImport an existing matchmaking configuration from its ARN.
static fromQueuedMatchmakingConfigurationName(scope, id, matchmakingConfigurationName)๐Ÿ”นImport an existing matchmaking configuration from its name.

addGameSessionQueue(gameSessionQueue)๐Ÿ”น

public addGameSessionQueue(gameSessionQueue: IGameSessionQueue): void

Parameters

  • gameSessionQueue IGameSessionQueue โ€” A game session queue.

Adds a game session queue destination to the matchmaking configuration.


applyRemovalPolicy(policy)๐Ÿ”น

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

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 MetricOptions

Returns

  • Metric

Return the given named metric for this matchmaking configuration.


metricCurrentTickets(props?)๐Ÿ”น

public metricCurrentTickets(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

Matchmaking requests currently being processed or waiting to be processed.


metricMatchesAccepted(props?)๐Ÿ”น

public metricMatchesAccepted(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

For matchmaking configurations that require acceptance, the potential matches that were accepted since the last report.


metricMatchesCreated(props?)๐Ÿ”น

public metricMatchesCreated(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

Potential matches that were created since the last report.


metricMatchesPlaced(props?)๐Ÿ”น

public metricMatchesPlaced(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

Matches that were successfully placed into a game session since the last report.


metricMatchesRejected(props?)๐Ÿ”น

public metricMatchesRejected(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

For matchmaking configurations that require acceptance, the potential matches that were rejected by at least one player since the last report.


metricPlayersStarted(props?)๐Ÿ”น

public metricPlayersStarted(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • Metric

Players in matchmaking tickets that were added since the last report.


metricTimeToMatch(props?)๐Ÿ”น

public metricTimeToMatch(props?: MetricOptions): Metric

Parameters

  • props MetricOptions

Returns

  • 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.

Units: seconds


toString()๐Ÿ”น

public toString(): string

Returns

  • string

Returns a string representation of this construct.


static fromQueuedMatchmakingConfigurationArn(scope, id, matchmakingConfigurationArn)๐Ÿ”น

public static fromQueuedMatchmakingConfigurationArn(scope: Construct, id: string, matchmakingConfigurationArn: string): IMatchmakingConfiguration

Parameters

  • scope Construct
  • id string
  • matchmakingConfigurationArn string

Returns

  • IMatchmakingConfiguration

Import an existing matchmaking configuration from its ARN.


static fromQueuedMatchmakingConfigurationName(scope, id, matchmakingConfigurationName)๐Ÿ”น

public static fromQueuedMatchmakingConfigurationName(scope: Construct, id: string, matchmakingConfigurationName: string): IMatchmakingConfiguration

Parameters

  • scope Construct
  • id string
  • matchmakingConfigurationName string

Returns

  • IMatchmakingConfiguration

Import an existing matchmaking configuration from its name.