Amazon GameLift
Developer Guide (Version )

FlexMatch Integration Guide

To add FlexMatch matchmaking to your game, you need to complete the following tasks.

  • Set up a matchmaker. A matchmaker receives matchmaking requests from players and processes them. It groups players based on a set of defined rules and, for each successful match, creates a new game sessions and player sessions. Follow these steps to set up a matchmaker:

    • Create a rule set. A rule set tells the matchmaker how to construct a valid match. It specifies team structure and specifies how to evaluate players for inclusion in a match. See these topics:

    • Create a game session queue. A queue locates the best region for each match and creates a new game session in that region. You can use an existing queue or create a new one for matchmaking. See this topic:

    • Set up notifications (optional). Since matchmaking requests are asynchronous, you need a way to track the status of requests. Notifications is the preferred option. See this topic:

    • Configure a matchmaker. Once you have a rule set, queue, and notifications target, create the configuration for your matchmaker. See these topics:

  • Integrate FlexMatch into your game client service. Initiate new game sessions with matchmaking. Add functionality to your game client service to make matchmaking requests and provide player attributes for matching. Matchmaking requests identify the matchmaker to use, which determines the rule set and queue that are used to fulfill requests. See this topic:

  • Integrate FlexMatch into your game server. Enable your game server to start new game sessions for matches in response to requests from the Amazon GameLift service. Requests include game, player, and match information, which your game server uses to construct a game session for the match. See this topic:

  • Set up FlexMatch backfill (optional). Find player matches to fill open player slots in existing games. You can initiate match backfill requests directly from your game server processes, or from a client-side service, such as a session directory service. See this topic: