[ aws . gamelift ]

create-matchmaking-configuration

Description

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket ( StartMatchmaking or StartMatchBackfill ) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking ; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration. Since notifications promise only “best effort” delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

  • CreateMatchmakingConfiguration

  • DescribeMatchmakingConfigurations

  • UpdateMatchmakingConfiguration

  • DeleteMatchmakingConfiguration

  • CreateMatchmakingRuleSet

  • DescribeMatchmakingRuleSets

  • ValidateMatchmakingRuleSet

  • DeleteMatchmakingRuleSet

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-matchmaking-configuration
--name <value>
[--description <value>]
--game-session-queue-arns <value>
--request-timeout-seconds <value>
[--acceptance-timeout-seconds <value>]
--acceptance-required | --no-acceptance-required
--rule-set-name <value>
[--notification-target <value>]
[--additional-player-count <value>]
[--custom-event-data <value>]
[--game-properties <value>]
[--game-session-data <value>]
[--backfill-mode <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--name (string)

A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

--description (string)

A human-readable description of the matchmaking configuration.

--game-session-queue-arns (list)

Amazon Resource Name (ARN ) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.

(string)

Syntax:

"string" "string" ...

--request-timeout-seconds (integer)

The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.

--acceptance-timeout-seconds (integer)

The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

--acceptance-required | --no-acceptance-required (boolean)

A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE .

--rule-set-name (string)

A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.

--notification-target (string)

An SNS topic ARN that is set up to receive matchmaking notifications.

--additional-player-count (integer)

The number of player slots in a match to keep open for future players. For example, assume that the configuration’s rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.

--custom-event-data (string)

Information to be added to all events related to this matchmaking configuration.

--game-properties (list)

A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session ). This information is added to the new GameSession object that is created for a successful match.

(structure)

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session. For example, a game property might specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session. For more information, see the Amazon GameLift Developer Guide .

Key -> (string)

The game property identifier.

Value -> (string)

The game property value.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--game-session-data (string)

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session ). This information is added to the new GameSession object that is created for a successful match.

--backfill-mode (string)

The method used to backfill game sessions that are created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch .

Possible values:

  • AUTOMATIC

  • MANUAL

--tags (list)

A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference . Once the resource is created, you can use TagResource , UntagResource , and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

(structure)

A label that can be assigned to a GameLift resource.

Learn more

Tagging AWS Resources in the AWS General Reference

AWS Tagging Strategies

Related operations

  • TagResource

  • UntagResource

  • ListTagsForResource

Key -> (string)

The key for a developer-defined key:value pair for tagging an AWS resource.

Value -> (string)

The value for a developer-defined key:value pair for tagging an AWS resource.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Output

Configuration -> (structure)

Object that describes the newly created matchmaking configuration.

Name -> (string)

A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

ConfigurationArn -> (string)

Amazon Resource Name (ARN ) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the Name value.

Description -> (string)

A descriptive label that is associated with matchmaking configuration.

GameSessionQueueArns -> (list)

Amazon Resource Name (ARN ) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.

(string)

RequestTimeoutSeconds -> (integer)

The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.

AcceptanceTimeoutSeconds -> (integer)

The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

AcceptanceRequired -> (boolean)

A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

RuleSetName -> (string)

A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same Region.

RuleSetArn -> (string)

The Amazon Resource Name (ARN ) associated with the GameLift matchmaking rule set resource that this configuration uses.

NotificationTarget -> (string)

An SNS topic ARN that is set up to receive matchmaking notifications.

AdditionalPlayerCount -> (integer)

The number of player slots in a match to keep open for future players. For example, assume that the configuration’s rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.

CustomEventData -> (string)

Information to attach to all events related to the matchmaking configuration.

CreationTime -> (timestamp)

The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example “1469498468.057”).

GameProperties -> (list)

A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session ). This information is added to the new GameSession object that is created for a successful match.

(structure)

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session. For example, a game property might specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session. For more information, see the Amazon GameLift Developer Guide .

Key -> (string)

The game property identifier.

Value -> (string)

The game property value.

GameSessionData -> (string)

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session ). This information is added to the new GameSession object that is created for a successful match.

BackfillMode -> (string)

The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch .