

# Create a matchmaking configuration
Create a matchmaking configuration

To set up an Amazon GameLift Servers FlexMatch matchmaker to process matchmaking requests, create a matchmaking configuration. Use either the Amazon GameLift Servers console or the AWS Command Line Interface (AWS CLI). For more information about creating a matchmaker, see [Design a FlexMatch matchmaker](match-configuration.md).

**Topics**
+ [

# Tutorial: Create a matchmaker for Amazon GameLift Servers hosting
](match-create-configuration-withqueue.md)
+ [

# Tutorial: Create a matchmaker for standalone FlexMatch
](match-create-configuration-standalone.md)
+ [

# Tutorial: Edit a matchmaking configuration
](match-create-configuration-edit.md)

# Tutorial: Create a matchmaker for Amazon GameLift Servers hosting
Tutorial: Create a matchmaker for hosting

Before creating a matchmaking configuration, [create a rule set](match-create-ruleset.md) and an Amazon GameLift Servers [game session queue](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/queues-creating.html) to use with the matchmaker.

------
#### [ Console ]

1. In the [Amazon GameLift Servers console](https://console.aws.amazon.com/gamelift/), in the navigation pane, choose **Matchmaking configurations**.

1. Switch to the AWS Region where you want to create your matchmaker.

1. On the **Matchmaking configurations** page, choose **Create matchmaking configuration**.

1. On the **Define configuration details** page, under **Matchmaking configuration details**, do the following:

   1. For **Name**, enter a matchmaker name that can help you identify it in a list and in metrics. The matchmaker name must be unique within the Region. Matchmaking requests identify which matchmaker to use by its name and Region.

   1. (Optional) For **Description**, add a description to help identify the matchmaker.

   1. For **Rule set**, choose a rule set from the list to use with the matchmaker. The list contains all rule sets that you've created in the current Region.

   1. For **FlexMatch mode**, choose **Managed** for Amazon GameLift Servers managed hosting. This mode prompts FlexMatch to pass successful matches to the specified game session queue.

   1. For **AWS Region**, choose the Region where you configured the game session queue that you want to use with the matchmaker.

   1. For **Queue**, choose the game session queue that you want to use with the matchmaker.

1. Choose **Next**.

1. On the **Configure settings** page, under **Matchmaking settings**, do the following:

   1. For **Request timeout**, set the maximum amount of time, in seconds, for the matchmaker to complete a match for each request. FlexMatch cancels matchmaking requests that exceed this time.

   1. For **Backfill mode**, choose a mode for handling match backfills. 
      + To turn on the automatic backfill feature, choose **Automatic**.
      + To create your own backfill request management or to not use the backfill feature, choose **Manual**.

   1. (Optional) For **Additional player count**, set the number of player slots to keep open in a match. FlexMatch can fill these slots with players in the future.

   1. (Optional) Under **Match acceptance options**, for **Acceptance required**, if you want to require each player in a proposed match to actively accept participation in the match, select **Required**. If you select this option, then for **Acceptance timeout**, set how long, in seconds, you want the matchmaker to wait for player acceptances before canceling the match.

1. (Optional) Under **Event notification settings**, do the following:

   1. (Optional) For **SNS topic**, choose an Amazon Simple Notification Service (Amazon SNS) topic for receiving matchmaking event notifications. If you haven't yet set up an SNS topic, you can choose this later by editing the matchmaking configuration. For more information, see [Set up FlexMatch event notifications](match-notification.md).

   1. (Optional) For **Custom event data**, enter any custom data that you want to associate with this matchmaker in event messaging. FlexMatch includes this data in every event associated with the matchmaker.

1. (Optional) Expand **Additional game data**, and then do the following:

   1. (Optional) For **Game session data**, enter any additional game-related information that you want FlexMatch to deliver to new game sessions started with matches made using this matchmaking configuration.

   1. (Optional) For **Game properties**, add key-value pair properties that contain information about a new game session.

1. (Optional) Under **Tags**, add tags to help you manage and track your AWS resources.

1. Choose **Next**.

1. On the **Review and create** page, review your choices, and then choose **Create**. Upon successful creation, the matchmaker is ready to accept matchmaking requests.

------
#### [ AWS CLI ]

To create a matchmaking configuration with the AWS CLI, open a command line window and use the [create-matchmaking-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-matchmaking-configuration.html) command to define a new matchmaker.

This example command creates a new matchmaking configuration that requires player acceptance and enables automatic backfill. It also reserves two player slots for FlexMatch to add players later, and it provides some game session data.

```
aws gamelift create-matchmaking-configuration \
    --name "SampleMatchamker123" \
    --description "The sample test matchmaker with acceptance" \
    --flex-match-mode WITH_QUEUE \
    --game-session-queue-arns "arn:aws:gamelift:us-west-2:111122223333:gamesessionqueue/MyGameSessionQueue" \
    --rule-set-name "MyRuleSet" \
    --request-timeout-seconds 120 \
    --acceptance-required \
    --acceptance-timeout-seconds 30 \
    --backfill-mode AUTOMATIC \
    --notification-target "arn:aws:sns:us-west-2:111122223333:My_Matchmaking_SNS_Topic" \
    --additional-player-count 2 \
    --game-session-data "key=map,value=winter444"
```

If the matchmaking configuration creation request is successful, Amazon GameLift Servers returns a [MatchmakingConfiguration](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_MatchmakingConfiguration.html) object with the settings that you requested for the matchmaker. The new matchmaker is ready to accept matchmaking requests.

------

# Tutorial: Create a matchmaker for standalone FlexMatch


Before creating a matchmaking configuration, [create a rule set](match-create-ruleset.md) to use with the matchmaker.

------
#### [ Console ]

1. Open the Amazon GameLift Servers console at [https://console.aws.amazon.com/gamelift/home](https://console.aws.amazon.com/gamelift/).

1. Switch to the AWS Region where you want to create your matchmaker. For a list of Regions that support FlexMatch matchmaking configurations, see [Choose a location for the matchmaker](match-configuration-regions.md).

1. In the navigation pane, choose **FlexMatch**, **Matchmaking configurations**.

1. On the **Matchmaking configurations** page, choose **Create matchmaking configuration**.

1. On the **Define configuration details** page, under **Matchmaking configuration details**, do the following:

   1. For **Name**, enter a matchmaker name that can help you identify it in a list and in metrics. The matchmaker name must be unique within the Region. Matchmaking requests identify which matchmaker to use by its name and Region.

   1. (Optional) For **Description**, add a description to help identify the matchmaker.

   1. For **Rule set**, choose a rule set from the list to use with the matchmaker. The list contains all rule sets that you've created in the current Region.

   1. For **FlexMatch mode**, choose **Standalone**. This indicates that you have a custom mechanism for starting new game sessions on a hosting solution outside of Amazon GameLift Servers.

1. Choose **Next**.

1. On the **Configure settings** page, under **Matchmaking settings**, do the following:

   1. For **Request timeout**, set the maximum amount of time, in seconds, for the matchmaker to complete a match for each request. Matchmaking requests that exceed this time are rejected.

   1. (Optional) Under **Match acceptance options**, for **Acceptance required**, if you want to require each player in a proposed match to actively accept participation in the match, select **Required**. If you select this option, then for **Acceptance timeout**, set how long, in seconds, you want the matchmaker to wait for player acceptances before canceling the match.

1. (Optional) Under **Event notification settings**, do the following:

   1. (Optional) For **SNS topic**, choose an Amazon SNS topic for receiving matchmaking event notifications. If you haven't yet set up an SNS topic, you can choose this later by editing the matchmaking configuration. For more information, see [Set up FlexMatch event notifications](match-notification.md).

   1. (Optional) For **Custom event data**, enter any custom data that you want to associate with this matchmaker in event messaging. FlexMatch includes this data in every event associated with the matchmaker.

1. (Optional) Under **Tags**, add tags to help you manage and track your AWS resources.

1. Choose **Next**.

1. On the **Review and create** page, review your choices, and then choose **Create**. Upon successful creation, the matchmaker is ready to accept matchmaking requests.

------
#### [ AWS CLI ]

To create a matchmaking configuration with the AWS CLI, open a command line window and use the [create-matchmaking-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-matchmaking-configuration.html) command to define a new matchmaker.

This example command creates a new matchmaking configuration for a standalone matchmaker that requires player acceptance.

```
aws gamelift create-matchmaking-configuration \
    --name "SampleMatchamker123" \
    --description "The sample test matchmaker with acceptance" \
    --flex-match-mode STANDALONE \
    --rule-set-name "MyRuleSetOne" \
    --request-timeout-seconds 120 \
    --acceptance-required \
    --acceptance-timeout-seconds 30 \
    --notification-target "arn:aws:sns:us-west-2:111122223333:My_Matchmaking_SNS_Topic"
```

If the matchmaking configuration creation request is successful, Amazon GameLift Servers returns a [MatchmakingConfiguration](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_MatchmakingConfiguration.html) object with the settings that you requested for the matchmaker. The new matchmaker is ready to accept matchmaking requests.

------

# Tutorial: Edit a matchmaking configuration


To edit a matchmaking configuration, choose **Matchmaking configurations** from the navigation bar and choose the configuration you want to edit. You can update any field in an existing configuration except for it's name. 

When updating a configurations rule set, a new rule set can be incompatible if there are existing active matchmaking tickets for the following reasons:
+ New or different team names or number of teams
+ New player attributes
+ Changes to existing player attribute types

To make any of the these changes to your rule set, create a new matchmaking configuration with the updated rule set.