openapi: 3.0.0 info: version: 2015-10-01 x-release: v4 title: 'Amazon GameLift #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.StartMatchBackfill API' description:
Amazon GameLift provides solutions for hosting session-based multiplayer game servers in the cloud, including tools for deploying, operating, and scaling game servers. Built on Amazon Web Services global computing infrastructure, GameLift helps you deliver high-performance, high-reliability, low-cost game servers while dynamically scaling your resource usage to meet player demand.
About Amazon GameLift solutions
Get more information on these Amazon GameLift solutions in the Amazon GameLift Developer Guide.
Amazon GameLift managed hosting -- Amazon GameLift offers a fully managed service to set up and maintain computing machines for hosting, manage game session and player session life cycle, and handle security, storage, and performance tracking. You can use automatic scaling tools to balance player demand and hosting costs, configure your game session management to minimize player latency, and add FlexMatch for matchmaking.
Managed hosting with Realtime Servers -- With Amazon GameLift Realtime Servers, you can quickly configure and set up ready-to-go game servers for your game. Realtime Servers provides a game server framework with core Amazon GameLift infrastructure already built in. Then use the full range of Amazon GameLift managed hosting features, including FlexMatch, for your game.
Amazon GameLift FleetIQ -- Use Amazon GameLift FleetIQ as a standalone service while hosting your games using EC2 instances and Auto Scaling groups. Amazon GameLift FleetIQ provides optimizations for game hosting, including boosting the viability of low-cost Spot Instances gaming. For a complete solution, pair the Amazon GameLift FleetIQ and FlexMatch standalone services.
Amazon GameLift FlexMatch -- Add matchmaking to your game hosting solution. FlexMatch is a customizable matchmaking service for multiplayer games. Use FlexMatch as integrated with Amazon GameLift managed hosting or incorporate FlexMatch as a standalone service into your own hosting solution.
About this API Reference
This reference guide describes the low-level service API for Amazon GameLift. With each topic in this guide, you can find links to language-specific SDK guides and the Amazon Web Services CLI reference. Useful links:
x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: gamelift x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/gamelift-2015-10-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: https://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: http://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) - url: https://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=GameLift.StartMatchBackfill' paths: /#X-Amz-Target=GameLift.StartMatchBackfill: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: StartMatchBackfill description:Finds new players to fill open slots in currently running game sessions. The backfill match process is essentially identical to the process of forming new matches. Backfill requests use the same matchmaker that was used to make the original match, and they provide matchmaking data for all players currently in the game session. FlexMatch uses this information to select new players so that backfilled match continues to meet the original match requirements.
When using FlexMatch with Amazon GameLift managed hosting, you can request a backfill match from a client service by calling this operation with a GameSessions ID. You also have the option of making backfill requests directly from your game server. In response to a request, FlexMatch creates player sessions for the new players, updates the GameSession resource, and sends updated matchmaking data to the game server. You can request a backfill match at any point after a game session is started. Each game session can have only one active backfill request at a time; a subsequent request automatically replaces the earlier request.
When using FlexMatch as a standalone component, request a backfill match by calling this operation without a game session identifier. As with newly formed matches, matchmaking results are returned in a matchmaking event so that your game can update the game session that is being backfilled.
To request a backfill match, specify a unique ticket ID, the original matchmaking configuration, and matchmaking data for all current players in the game session being backfilled. Optionally, specify the GameSession ARN. If successful, a match backfill ticket is created and returned with status set to QUEUED. Track the status of backfill tickets using the same method for tracking tickets for new matches.
Only game sessions created by FlexMatch are supported for match backfill.
Learn more
Backfill existing games with FlexMatch
Matchmaking events (reference)
How Amazon GameLift FlexMatch works
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StartMatchBackfillOutput' examples: StartMatchBackfill200Example: summary: Default StartMatchBackfill 200 response x-microcks-default: true value: MatchmakingTicket: example-value '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' examples: StartMatchBackfill480Example: summary: Default StartMatchBackfill 480 response x-microcks-default: true value: example-value '481': description: NotFoundException content: application/json: schema: $ref: '#/components/schemas/NotFoundException' examples: StartMatchBackfill481Example: summary: Default StartMatchBackfill 481 response x-microcks-default: true value: example-value '482': description: InternalServiceException content: application/json: schema: $ref: '#/components/schemas/InternalServiceException' examples: StartMatchBackfill482Example: summary: Default StartMatchBackfill 482 response x-microcks-default: true value: example-value '483': description: UnsupportedRegionException content: application/json: schema: $ref: '#/components/schemas/UnsupportedRegionException' examples: StartMatchBackfill483Example: summary: Default StartMatchBackfill 483 response x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StartMatchBackfillInput' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - GameLift.StartMatchBackfill summary: Amazon GameLift Start Match Backfill x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=GameLift.StartMatchBackfill' components: schemas: PlayerList: type: array items: $ref: '#/components/schemas/Player' NonZeroAndMaxString: type: string minLength: 1 maxLength: 1024 InternalServiceException: {} WholeNumber: type: integer minimum: 0 MatchmakingConfigurationArn: type: string pattern: ^arn:.*:matchmakingconfiguration\/[a-zA-Z0-9-\.]* description: Data type used for Matchmaking Configuration ARN. LatencyMap: type: object additionalProperties: $ref: '#/components/schemas/PositiveInteger' IpAddress: type: string pattern: ^[0-9A-Fa-f\:\.]+ minLength: 1 maxLength: 128 StartMatchBackfillOutput: type: object properties: MatchmakingTicket: allOf: - $ref: '#/components/schemas/MatchmakingTicket' - description: Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process. MatchmakingTicket: type: object properties: TicketId: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: A unique identifier for a matchmaking ticket. ConfigurationName: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: Name of the matchmaking configuration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match. ConfigurationArn: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationArn' - description: The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket. Status: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationStatus' - description:Current status of the matchmaking request.
QUEUED -- The matchmaking request has been received and is currently waiting to be processed.
SEARCHING -- The matchmaking request is currently being processed.
REQUIRES_ACCEPTANCE -- A match has been proposed and the players must accept the match. This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.
PLACING -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.
COMPLETED -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.
FAILED -- The matchmaking request was not completed.
CANCELLED -- The matchmaking request was canceled. This may be the result of a StopMatchmaking operation or a proposed match that one or more players failed to accept.
TIMED_OUT -- The matchmaking request was not successful within the duration specified in the matchmaking configuration.
Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.
SEARCHING status after a proposed match fails to receive player acceptances.
StatusMessage:
allOf:
- $ref: '#/components/schemas/StringModel'
- description: Additional information about the current status.
StartTime:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
EndTime:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
Players:
allOf:
- $ref: '#/components/schemas/PlayerList'
- description: A set of Player objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status COMPLETED, the Player objects include the team the players were assigned to in the resulting match.
GameSessionConnectionInfo:
allOf:
- $ref: '#/components/schemas/GameSessionConnectionInfo'
- description: Connection information for a new game session. Once a match is made, the FlexMatch engine creates a new game session for it. This information is added to the matchmaking ticket, which you can be retrieve by calling DescribeMatchmaking .
EstimatedWaitTime:
allOf:
- $ref: '#/components/schemas/WholeNumber'
- description: Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.
description: Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request.
PlayerAttributeString:
type: string
minLength: 1
maxLength: 100
DoubleObject:
type: number
format: double
GameSessionConnectionInfo:
type: object
properties:
GameSessionArn:
allOf:
- $ref: '#/components/schemas/ArnStringModel'
- description: A unique identifier for the game session. Use the game session ID.
IpAddress:
allOf:
- $ref: '#/components/schemas/IpAddress'
- description: The IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.
DnsName:
allOf:
- $ref: '#/components/schemas/DnsName'
- description: 'The DNS identifier assigned to the instance that is running the game session. Values have the following format:
TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)
When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.
' Port: allOf: - $ref: '#/components/schemas/PositiveInteger' - description: The port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. MatchedPlayerSessions: allOf: - $ref: '#/components/schemas/MatchedPlayerSessionList' - description: 'A collection of player session IDs, one for each player ID that was included in the original matchmaking request. ' description: Connection information for a new game session that is created in response to a start matchmaking request. Once a match is made, the FlexMatch engine creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the matchmaking ticket. MatchedPlayerSessionList: type: array items: $ref: '#/components/schemas/MatchedPlayerSession' PlayerAttributeStringList: type: array items: $ref: '#/components/schemas/PlayerAttributeString' InvalidRequestException: {} DnsName: type: string NotFoundException: {} ArnStringModel: type: string pattern: '[a-zA-Z0-9:/-]+' minLength: 1 maxLength: 256 StartMatchBackfillInput: type: object required: - ConfigurationName - Players title: StartMatchBackfillInput properties: TicketId: allOf: - $ref: '#/components/schemas/MatchmakingIdStringModel' - description: A 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 match backfill ticket status and retrieve match results. ConfigurationName: allOf: - $ref: '#/components/schemas/MatchmakingConfigurationName' - description: Name of the matchmaker to use for this request. You can use either the configuration name or ARN value. The ARN of the matchmaker that was used with the original game session is listed in theGameSession object, MatchmakerData property.
GameSessionArn:
allOf:
- $ref: '#/components/schemas/ArnStringModel'
- description: 'A unique identifier for the game session. Use the game session ID. When using FlexMatch as a standalone matchmaking solution, this parameter is not needed. '
Players:
allOf:
- $ref: '#/components/schemas/PlayerList'
- description: Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.
You can include up to 199 Players in a StartMatchBackfill request.
PlayerID, PlayerAttributes, Team -- This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data.
The backfill request must specify the team membership for every player. Do not specify team if you are not using backfill.
LatencyInMs -- If the matchmaker uses player latency, include a latency value, in milliseconds, for the Region that the game session is currently in. Do not include latency values for any other Region.
AttributeValue object can use only one of the available properties.'
Player:
type: object
properties:
PlayerId:
allOf:
- $ref: '#/components/schemas/NonZeroAndMaxString'
- description: A unique identifier for a player
PlayerAttributes:
allOf:
- $ref: '#/components/schemas/PlayerAttributeMap'
- description: 'A collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the playerAttributes used in a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}.
You can provide up to 10 PlayerAttributes.
A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions. If this property is present, FlexMatch considers placing the match only in Regions for which latency is reported.
If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no Regions are available to the player and the ticket is not matchable.
description: Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed. MatchmakingConfigurationStatus: type: string enum: - CANCELLED - COMPLETED - FAILED - PLACING - QUEUED - REQUIRES_ACCEPTANCE - SEARCHING - TIMED_OUT PositiveInteger: type: integer minimum: 1 PlayerAttributeStringDoubleMap: type: object additionalProperties: $ref: '#/components/schemas/DoubleObject' MatchedPlayerSession: type: object properties: PlayerId: allOf: - $ref: '#/components/schemas/NonZeroAndMaxString' - description: 'A unique identifier for a player ' PlayerSessionId: allOf: - $ref: '#/components/schemas/PlayerSessionId' - description: A unique identifier for a player session description:Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.
When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.
MatchmakingIdStringModel: type: string pattern: '[a-zA-Z0-9-\.]*' maxLength: 128 UnsupportedRegionException: {} MatchmakingConfigurationName: type: string pattern: '[a-zA-Z0-9-\.]*|^arn:.*:matchmakingconfiguration\/[a-zA-Z0-9-\.]*' minLength: 1 maxLength: 256 PlayerSessionId: type: string pattern: ^psess-\S+ PlayerAttributeMap: type: object additionalProperties: $ref: '#/components/schemas/AttributeValue' parameters: X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/gamelift/ x-hasEquivalentPaths: true