AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Container for the parameters to the StartMatchmaking operation.
Uses FlexMatch to create a game match for a group of players based on custom matchmaking
rules, and starts a new game for the matched players. Each matchmaking request specifies
the type of match to build (team configuration, rules for an acceptable match, etc.).
The request also specifies the players to find a match for and where to host the new
game session for optimal performance. A matchmaking request might start with a single
player or a group of players who want to play together. FlexMatch finds additional
players as needed to fill the match. Match type, rules, and the queue used to place
a new game session are defined in a
MatchmakingConfiguration. For complete
information on setting up and using FlexMatch, see the topic
Adding FlexMatch to Your Game.
To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,
and include the players to be matched. You must also include a set of player attributes
relevant for the matchmaking configuration. If successful, a matchmaking ticket is
returned with status set to
QUEUED. Track the status of the ticket to
respond as needed and acquire game session connection information for successfully
Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:
Polling -- Call
DescribeMatchmaking. This operation returns the full
ticket object, including current status and (for completed tickets) game session connection
info. We recommend polling no more than once every 10 seconds.
Notifications -- Get event notifications for changes in ticket status using Amazon
Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration)
and typically deliver match status changes faster and more efficiently than polling.
We recommend that you use polling to back up to notifications (since delivery is not
guaranteed) and call
DescribeMatchmaking only when notifications are
not received within 30 seconds.
Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:
Your client code submits a
StartMatchmaking request for one or more players
and tracks the status of the request ticket.
FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.
If the match requires player acceptance (set in the matchmaking configuration), the
tickets move into status
REQUIRES_ACCEPTANCE. This status triggers your
client code to solicit acceptance from all players in every ticket involved in the
match, and then call AcceptMatch for each player. If any player rejects or
fails to accept the match before a specified timeout, the proposed match is dropped
AcceptMatch for more details).
Once a match is proposed and accepted, the matchmaking tickets move into status
FlexMatch locates resources for a new game session using the game session queue (set
in the matchmaking configuration) and creates the game session based on the match
When the match is successfully placed, the matchmaking tickets move into
status. Connection information (including game session endpoint and player session)
is added to the matchmaking tickets. Matched players can use the connection information
to join the game.
Matchmaking-related operations include:
public class StartMatchmakingRequest : AmazonGameLiftRequest IAmazonWebServiceRequest
The StartMatchmakingRequest type exposes the following members
Gets and sets the property ConfigurationName.
Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request.
Gets and sets the property Players.
Information on each player to be matched. This information must include a player ID,
and may contain player attributes and latency data to be used in the matchmaking process.
After a successful match,
Gets and sets the property TicketId.
Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results.
Supported in: 1.3
Supported in: 4.5, 4.0, 3.5
Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms