Amazon GameLift

2020/11/24 - Amazon GameLift - 8 updated api methods

Changes  GameLift FlexMatch is now available as a standalone matchmaking solution. FlexMatch now provides customizable matchmaking for games hosted peer-to-peer, on-premises, or on cloud compute primitives.

CreateFleet (updated) Link ¶
Changes (request, response)
Request
{'EC2InstanceType': {'c5a.12xlarge',
                     'c5a.16xlarge',
                     'c5a.24xlarge',
                     'c5a.2xlarge',
                     'c5a.4xlarge',
                     'c5a.8xlarge',
                     'c5a.large',
                     'c5a.xlarge',
                     'm5a.12xlarge',
                     'm5a.16xlarge',
                     'm5a.24xlarge',
                     'm5a.2xlarge',
                     'm5a.4xlarge',
                     'm5a.8xlarge',
                     'm5a.large',
                     'm5a.xlarge',
                     'r5a.12xlarge',
                     'r5a.16xlarge',
                     'r5a.24xlarge',
                     'r5a.2xlarge',
                     'r5a.4xlarge',
                     'r5a.8xlarge',
                     'r5a.large',
                     'r5a.xlarge'}}
Response
{'FleetAttributes': {'InstanceType': {'c5a.12xlarge',
                                      'c5a.16xlarge',
                                      'c5a.24xlarge',
                                      'c5a.2xlarge',
                                      'c5a.4xlarge',
                                      'c5a.8xlarge',
                                      'c5a.large',
                                      'c5a.xlarge',
                                      'm5a.12xlarge',
                                      'm5a.16xlarge',
                                      'm5a.24xlarge',
                                      'm5a.2xlarge',
                                      'm5a.4xlarge',
                                      'm5a.8xlarge',
                                      'm5a.large',
                                      'm5a.xlarge',
                                      'r5a.12xlarge',
                                      'r5a.16xlarge',
                                      'r5a.24xlarge',
                                      'r5a.2xlarge',
                                      'r5a.4xlarge',
                                      'r5a.8xlarge',
                                      'r5a.large',
                                      'r5a.xlarge'}}}

Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet.

To create a new fleet, provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a runtime configuration, which determines how game servers will run on each instance in the fleet.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:

  • Creates a fleet resource. Status: NEW .

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.

  • Downloads the game build or Realtime script to the new instance and installs it. Statuses: DOWNLOADING , VALIDATING , BUILDING .

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each process launch by a few seconds. Status: ACTIVATING .

  • Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session.

Learn more

Setting Up Fleets

Debug Fleet Creation Issues

Related operations

  • CreateFleet

  • ListFleets

  • DeleteFleet

  • DescribeFleetAttributes

  • UpdateFleetAttributes

  • StartFleetActions or StopFleetActions

See also: AWS API Documentation

Request Syntax

client.create_fleet(
    Name='string',
    Description='string',
    BuildId='string',
    ScriptId='string',
    ServerLaunchPath='string',
    ServerLaunchParameters='string',
    LogPaths=[
        'string',
    ],
    EC2InstanceType='t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
    EC2InboundPermissions=[
        {
            'FromPort': 123,
            'ToPort': 123,
            'IpRange': 'string',
            'Protocol': 'TCP'|'UDP'
        },
    ],
    NewGameSessionProtectionPolicy='NoProtection'|'FullProtection',
    RuntimeConfiguration={
        'ServerProcesses': [
            {
                'LaunchPath': 'string',
                'Parameters': 'string',
                'ConcurrentExecutions': 123
            },
        ],
        'MaxConcurrentGameSessionActivations': 123,
        'GameSessionActivationTimeoutSeconds': 123
    },
    ResourceCreationLimitPolicy={
        'NewGameSessionsPerCreator': 123,
        'PolicyPeriodInMinutes': 123
    },
    MetricGroups=[
        'string',
    ],
    PeerVpcAwsAccountId='string',
    PeerVpcId='string',
    FleetType='ON_DEMAND'|'SPOT',
    InstanceRoleArn='string',
    CertificateConfiguration={
        'CertificateType': 'DISABLED'|'GENERATED'
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Name

string

param Name

[REQUIRED]

A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

type Description

string

param Description

A human-readable description of a fleet.

type BuildId

string

param BuildId

A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

type ScriptId

string

param ScriptId

A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.

type ServerLaunchPath

string

param ServerLaunchPath

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.

type ServerLaunchParameters

string

param ServerLaunchParameters

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)

type LogPaths

list

param LogPaths

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters . See more information in the Server API Reference.

  • (string) --

type EC2InstanceType

string

param EC2InstanceType

[REQUIRED]

The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

type EC2InboundPermissions

list

param EC2InboundPermissions

Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet.

  • (dict) --

    A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP for use by the Realtime servers.

    • FromPort (integer) -- [REQUIRED]

      A starting value for a range of allowed port numbers.

    • ToPort (integer) -- [REQUIRED]

      An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort .

    • IpRange (string) -- [REQUIRED]

      A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: " 000.000.000.000/[subnet mask] " or optionally the shortened version " 0.0.0.0/[subnet mask] ".

    • Protocol (string) -- [REQUIRED]

      The network communication protocol used by the fleet.

type NewGameSessionProtectionPolicy

string

param NewGameSessionProtectionPolicy

A game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

  • NoProtection - The game session can be terminated during a scale-down event.

  • FullProtection - If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

type RuntimeConfiguration

dict

param RuntimeConfiguration

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters , although requests that contain values for these parameters instead of a runtime configuration will continue to work.) This parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration replaced these parameters, but fleets that use them will continue to work.

  • ServerProcesses (list) --

    A collection of server process configurations that describe which server processes to run on each instance in a fleet.

    • (dict) --

      A set of instructions for launching server processes on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instruction set identifies the location of the custom game build executable or Realtime launch script, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration .

      • LaunchPath (string) -- [REQUIRED]

        The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:

        • Windows (for custom game builds only): C:\game . Example: " C:\game\MyGame\server.exe "

        • Linux: /local/game . Examples: " /local/game/MyGame/server.exe " or " /local/game/MyRealtimeScript.js "

      • Parameters (string) --

        An optional list of parameters to pass to the server executable or Realtime script on launch.

      • ConcurrentExecutions (integer) -- [REQUIRED]

        The number of server processes that use this configuration to run concurrently on an instance.

  • MaxConcurrentGameSessionActivations (integer) --

    The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.

  • GameSessionActivationTimeoutSeconds (integer) --

    The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING . If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED .

type ResourceCreationLimitPolicy

dict

param ResourceCreationLimitPolicy

A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.

  • NewGameSessionsPerCreator (integer) --

    The maximum number of game sessions that an individual can create during the policy period.

  • PolicyPeriodInMinutes (integer) --

    The time span used in evaluating the resource creation limit policy.

type MetricGroups

list

param MetricGroups

The name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time.

  • (string) --

type PeerVpcAwsAccountId

string

param PeerVpcAwsAccountId

A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.

type PeerVpcId

string

param PeerVpcId

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

type FleetType

string

param FleetType

Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND . Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about On-Demand versus Spot Instances.

type InstanceRoleArn

string

param InstanceRoleArn

A unique identifier for an AWS IAM role that manages access to your AWS services. Fleets with an instance role ARN allow applications that are running on the fleet's instances to assume the role. Learn more about using on-box credentials for your game servers at Access external resources from a game server. To call this operation with instance role ARN, you must have IAM PassRole permissions. See IAM policy examples for GameLift.

type CertificateConfiguration

dict

param CertificateConfiguration

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not specified, the default value, DISABLED, is used. This fleet setting cannot be changed once the fleet is created. Learn more at Securing Client/Server Communication.

Note: This feature requires the AWS Certificate Manager (ACM) service, which is available in the AWS global partition but not in all other partitions. When working in a partition that does not support this feature, a request for a new fleet with certificate generation results fails with a 4xx unsupported Region error.

Valid values include:

  • GENERATED - Generate a TLS/SSL certificate for this fleet.

  • DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet.

  • CertificateType (string) -- [REQUIRED]

    Indicates whether a TLS/SSL certificate was generated for a fleet.

type Tags

list

param Tags

A list of labels to assign to the new fleet 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.

  • (dict) --

    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) -- [REQUIRED]

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

    • Value (string) -- [REQUIRED]

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

rtype

dict

returns

Response Syntax

{
    'FleetAttributes': {
        'FleetId': 'string',
        'FleetArn': 'string',
        'FleetType': 'ON_DEMAND'|'SPOT',
        'InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
        'Description': 'string',
        'Name': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'TerminationTime': datetime(2015, 1, 1),
        'Status': 'NEW'|'DOWNLOADING'|'VALIDATING'|'BUILDING'|'ACTIVATING'|'ACTIVE'|'DELETING'|'ERROR'|'TERMINATED',
        'BuildId': 'string',
        'BuildArn': 'string',
        'ScriptId': 'string',
        'ScriptArn': 'string',
        'ServerLaunchPath': 'string',
        'ServerLaunchParameters': 'string',
        'LogPaths': [
            'string',
        ],
        'NewGameSessionProtectionPolicy': 'NoProtection'|'FullProtection',
        'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2',
        'ResourceCreationLimitPolicy': {
            'NewGameSessionsPerCreator': 123,
            'PolicyPeriodInMinutes': 123
        },
        'MetricGroups': [
            'string',
        ],
        'StoppedActions': [
            'AUTO_SCALING',
        ],
        'InstanceRoleArn': 'string',
        'CertificateConfiguration': {
            'CertificateType': 'DISABLED'|'GENERATED'
        }
    }
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • FleetAttributes (dict) --

      Properties for the newly created fleet.

      • FleetId (string) --

        A unique identifier for a fleet.

      • FleetArn (string) --

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

      • FleetType (string) --

        Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.

      • InstanceType (string) --

        EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for detailed descriptions.

      • Description (string) --

        Human-readable description of the fleet.

      • Name (string) --

        A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

      • CreationTime (datetime) --

        Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

      • TerminationTime (datetime) --

        Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

      • Status (string) --

        Current status of the fleet.

        Possible fleet statuses include the following:

        • NEW -- A new fleet has been defined and desired instances is set to 1.

        • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build or Realtime script and starting server processes.

        • ACTIVE -- Hosts can now accept game sessions.

        • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

        • DELETING -- Hosts are responding to a delete fleet request.

        • TERMINATED -- The fleet no longer exists.

      • BuildId (string) --

        A unique identifier for a build.

      • BuildArn (string) --

        The Amazon Resource Name ( ARN ) associated with the GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the BuildId value.

      • ScriptId (string) --

        A unique identifier for a Realtime script.

      • ScriptArn (string) --

        The Amazon Resource Name ( ARN ) associated with the GameLift script resource that is deployed on instances in this fleet. In a GameLift script ARN, the resource ID matches the ScriptId value.

      • ServerLaunchPath (string) --

        Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

      • ServerLaunchParameters (string) --

        Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

      • LogPaths (list) --

        Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\game\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

        • (string) --

      • NewGameSessionProtectionPolicy (string) --

        The type of game session protection to set for all new instances started in the fleet.

        • NoProtection -- The game session can be terminated during a scale-down event.

        • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

      • OperatingSystem (string) --

        Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.

      • ResourceCreationLimitPolicy (dict) --

        Fleet policy to limit the number of game sessions an individual player can create over a span of time.

        • NewGameSessionsPerCreator (integer) --

          The maximum number of game sessions that an individual can create during the policy period.

        • PolicyPeriodInMinutes (integer) --

          The time span used in evaluating the resource creation limit policy.

      • MetricGroups (list) --

        Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.

        • (string) --

      • StoppedActions (list) --

        List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

        • (string) --

      • InstanceRoleArn (string) --

        A unique identifier for an AWS IAM role that manages access to your AWS services.

      • CertificateConfiguration (dict) --

        Indicates whether a TLS/SSL certificate was generated for the fleet.

        • CertificateType (string) --

          Indicates whether a TLS/SSL certificate was generated for a fleet.

CreateMatchmakingConfiguration (updated) Link ¶
Changes (request, response)
Request
{'FlexMatchMode': 'STANDALONE | WITH_QUEUE'}
Response
{'Configuration': {'FlexMatchMode': 'STANDALONE | WITH_QUEUE'}}

Defines a new matchmaking configuration for use with FlexMatch. Whether your are using FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking configuration sets out rules for matching players and forming teams. If you're also using GameLift hosting, it defines how to start game sessions for each match. Your matchmaking system can use multiple configurations to handle different game scenarios. All matchmaking requests ( StartMatchmaking or StartMatchBackfill ) identify the matchmaking configuration to use and provide player attributes consistent with that configuration.

To create a matchmaking configuration, you must provide the following: configuration name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how to evaluate players and find acceptable matches; whether player acceptance is required; and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift hosting, you also need to identify the game session queue to use when starting a game session for the match.

In addition, you must set up an Amazon Simple Notification Service (SNS) to receive matchmaking notifications, and provide the topic ARN in the matchmaking configuration. An alternative method, continuously polling ticket status with DescribeMatchmaking, is only suitable for games in development with low matchmaking usage.

Learn more

FlexMatch Developer Guide

Design a FlexMatch Matchmaker

Set Up FlexMatch Event Notification

Related operations

  • CreateMatchmakingConfiguration

  • DescribeMatchmakingConfigurations

  • UpdateMatchmakingConfiguration

  • DeleteMatchmakingConfiguration

  • CreateMatchmakingRuleSet

  • DescribeMatchmakingRuleSets

  • ValidateMatchmakingRuleSet

  • DeleteMatchmakingRuleSet

See also: AWS API Documentation

Request Syntax

client.create_matchmaking_configuration(
    Name='string',
    Description='string',
    GameSessionQueueArns=[
        'string',
    ],
    RequestTimeoutSeconds=123,
    AcceptanceTimeoutSeconds=123,
    AcceptanceRequired=True|False,
    RuleSetName='string',
    NotificationTarget='string',
    AdditionalPlayerCount=123,
    CustomEventData='string',
    GameProperties=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    GameSessionData='string',
    BackfillMode='AUTOMATIC'|'MANUAL',
    FlexMatchMode='STANDALONE'|'WITH_QUEUE',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Name

string

param Name

[REQUIRED]

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

type Description

string

param Description

A human-readable description of the matchmaking configuration.

type GameSessionQueueArns

list

param GameSessionQueueArns

Amazon Resource Name ( ARN ) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. If FlexMatchMode is set to STANDALONE , do not set this parameter.

  • (string) --

type RequestTimeoutSeconds

integer

param RequestTimeoutSeconds

[REQUIRED]

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.

type AcceptanceTimeoutSeconds

integer

param AcceptanceTimeoutSeconds

The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any player rejects the match or fails to accept before the timeout, the tickets are returned to the ticket pool and continue to be evaluated for an acceptable match.

type AcceptanceRequired

boolean

param AcceptanceRequired

[REQUIRED]

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 . With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

type RuleSetName

string

param RuleSetName

[REQUIRED]

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.

type NotificationTarget

string

param NotificationTarget

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

type AdditionalPlayerCount

integer

param AdditionalPlayerCount

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

type CustomEventData

string

param CustomEventData

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

type GameProperties

list

param GameProperties

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

  • (dict) --

    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) -- [REQUIRED]

      The game property identifier.

    • Value (string) -- [REQUIRED]

      The game property value.

type GameSessionData

string

param GameSessionData

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

type BackfillMode

string

param BackfillMode

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. Automatic backfill is not available when FlexMatchMode is set to STANDALONE .

type FlexMatchMode

string

param FlexMatchMode

Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.

  • STANDALONE - FlexMatch forms matches and returns match information, including players and team assignments, in a MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to start a game session for the match.

type Tags

list

param Tags

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.

  • (dict) --

    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) -- [REQUIRED]

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

    • Value (string) -- [REQUIRED]

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

rtype

dict

returns

Response Syntax

{
    'Configuration': {
        'Name': 'string',
        'ConfigurationArn': 'string',
        'Description': 'string',
        'GameSessionQueueArns': [
            'string',
        ],
        'RequestTimeoutSeconds': 123,
        'AcceptanceTimeoutSeconds': 123,
        'AcceptanceRequired': True|False,
        'RuleSetName': 'string',
        'RuleSetArn': 'string',
        'NotificationTarget': 'string',
        'AdditionalPlayerCount': 123,
        'CustomEventData': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'GameProperties': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'GameSessionData': 'string',
        'BackfillMode': 'AUTOMATIC'|'MANUAL',
        'FlexMatchMode': 'STANDALONE'|'WITH_QUEUE'
    }
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • Configuration (dict) --

      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. Queues can be located in any Region. Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. Thais property is not set when FlexMatchMode is set to STANDALONE .

        • (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 acceptance is required. If any player rejects the match or fails to accept before the timeout, the tickets are returned to the ticket pool and continue to be evaluated 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. When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

      • 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. This parameter is not used when FlexMatchMode is set to STANDALONE .

      • CustomEventData (string) --

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

      • CreationTime (datetime) --

        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. This parameter is not used when FlexMatchMode is set to STANDALONE .

        • (dict) --

          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. This parameter is not used when FlexMatchMode is set to STANDALONE .

      • 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. Automatic backfill is not available when FlexMatchMode is set to STANDALONE .

      • FlexMatchMode (string) --

        Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.

        • STANDALONE - FlexMatch forms matches and returns match information, including players and team assignments, in a MatchmakingSucceeded event.

        • WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to start a game session for the match.

DescribeEC2InstanceLimits (updated) Link ¶
Changes (request, response)
Request
{'EC2InstanceType': {'c5a.12xlarge',
                     'c5a.16xlarge',
                     'c5a.24xlarge',
                     'c5a.2xlarge',
                     'c5a.4xlarge',
                     'c5a.8xlarge',
                     'c5a.large',
                     'c5a.xlarge',
                     'm5a.12xlarge',
                     'm5a.16xlarge',
                     'm5a.24xlarge',
                     'm5a.2xlarge',
                     'm5a.4xlarge',
                     'm5a.8xlarge',
                     'm5a.large',
                     'm5a.xlarge',
                     'r5a.12xlarge',
                     'r5a.16xlarge',
                     'r5a.24xlarge',
                     'r5a.2xlarge',
                     'r5a.4xlarge',
                     'r5a.8xlarge',
                     'r5a.large',
                     'r5a.xlarge'}}
Response
{'EC2InstanceLimits': {'EC2InstanceType': {'c5a.12xlarge',
                                           'c5a.16xlarge',
                                           'c5a.24xlarge',
                                           'c5a.2xlarge',
                                           'c5a.4xlarge',
                                           'c5a.8xlarge',
                                           'c5a.large',
                                           'c5a.xlarge',
                                           'm5a.12xlarge',
                                           'm5a.16xlarge',
                                           'm5a.24xlarge',
                                           'm5a.2xlarge',
                                           'm5a.4xlarge',
                                           'm5a.8xlarge',
                                           'm5a.large',
                                           'm5a.xlarge',
                                           'r5a.12xlarge',
                                           'r5a.16xlarge',
                                           'r5a.24xlarge',
                                           'r5a.2xlarge',
                                           'r5a.4xlarge',
                                           'r5a.8xlarge',
                                           'r5a.large',
                                           'r5a.xlarge'}}}

Retrieves the following information for the specified EC2 instance type:

  • Maximum number of instances allowed per AWS account (service limit).

  • Current usage for the AWS account.

To learn more about the capabilities of each instance type, see Amazon EC2 Instance Types. Note that the instance types offered may vary depending on the region.

Learn more

Setting up GameLift Fleets

Related operations

  • CreateFleet

  • ListFleets

  • DeleteFleet

  • DescribeFleetAttributes

  • UpdateFleetAttributes

  • StartFleetActions or StopFleetActions

See also: AWS API Documentation

Request Syntax

client.describe_ec2_instance_limits(
    EC2InstanceType='t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge'
)
type EC2InstanceType

string

param EC2InstanceType

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

rtype

dict

returns

Response Syntax

{
    'EC2InstanceLimits': [
        {
            'EC2InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
            'CurrentInstances': 123,
            'InstanceLimit': 123
        },
    ]
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • EC2InstanceLimits (list) --

      The maximum number of instances for the specified instance type.

      • (dict) --

        The maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.

        • EC2InstanceType (string) --

          Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

        • CurrentInstances (integer) --

          Number of instances of the specified type that are currently in use by this AWS account.

        • InstanceLimit (integer) --

          Number of instances allowed.

DescribeFleetAttributes (updated) Link ¶
Changes (response)
{'FleetAttributes': {'InstanceType': {'c5a.12xlarge',
                                      'c5a.16xlarge',
                                      'c5a.24xlarge',
                                      'c5a.2xlarge',
                                      'c5a.4xlarge',
                                      'c5a.8xlarge',
                                      'c5a.large',
                                      'c5a.xlarge',
                                      'm5a.12xlarge',
                                      'm5a.16xlarge',
                                      'm5a.24xlarge',
                                      'm5a.2xlarge',
                                      'm5a.4xlarge',
                                      'm5a.8xlarge',
                                      'm5a.large',
                                      'm5a.xlarge',
                                      'r5a.12xlarge',
                                      'r5a.16xlarge',
                                      'r5a.24xlarge',
                                      'r5a.2xlarge',
                                      'r5a.4xlarge',
                                      'r5a.8xlarge',
                                      'r5a.large',
                                      'r5a.xlarge'}}}

Retrieves core properties, including configuration, status, and metadata, for a fleet.

To get attributes for one or more fleets, provide a list of fleet IDs or fleet ARNs. To get attributes for all fleets, do not specify a fleet identifier. When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each fleet requested, unless the fleet identifier is not found.

Note

Some API operations may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed number.

Learn more

Setting up GameLift Fleets

Related operations

  • CreateFleet

  • ListFleets

  • DeleteFleet

  • Describe fleets:

    • DescribeFleetAttributes

    • DescribeFleetCapacity

    • DescribeFleetPortSettings

    • DescribeFleetUtilization

    • DescribeRuntimeConfiguration

    • DescribeEC2InstanceLimits

    • DescribeFleetEvents

  • UpdateFleetAttributes

  • StartFleetActions or StopFleetActions

See also: AWS API Documentation

Request Syntax

client.describe_fleet_attributes(
    FleetIds=[
        'string',
    ],
    Limit=123,
    NextToken='string'
)
type FleetIds

list

param FleetIds

A list of unique fleet identifiers to retrieve attributes for. You can use either the fleet ID or ARN value. To retrieve attributes for all current fleets, do not include this parameter. If the list of fleet identifiers includes fleets that don't currently exist, the request succeeds but no attributes for that fleet are returned.

  • (string) --

type Limit

integer

param Limit

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

type NextToken

string

param NextToken

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

rtype

dict

returns

Response Syntax

{
    'FleetAttributes': [
        {
            'FleetId': 'string',
            'FleetArn': 'string',
            'FleetType': 'ON_DEMAND'|'SPOT',
            'InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
            'Description': 'string',
            'Name': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'TerminationTime': datetime(2015, 1, 1),
            'Status': 'NEW'|'DOWNLOADING'|'VALIDATING'|'BUILDING'|'ACTIVATING'|'ACTIVE'|'DELETING'|'ERROR'|'TERMINATED',
            'BuildId': 'string',
            'BuildArn': 'string',
            'ScriptId': 'string',
            'ScriptArn': 'string',
            'ServerLaunchPath': 'string',
            'ServerLaunchParameters': 'string',
            'LogPaths': [
                'string',
            ],
            'NewGameSessionProtectionPolicy': 'NoProtection'|'FullProtection',
            'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2',
            'ResourceCreationLimitPolicy': {
                'NewGameSessionsPerCreator': 123,
                'PolicyPeriodInMinutes': 123
            },
            'MetricGroups': [
                'string',
            ],
            'StoppedActions': [
                'AUTO_SCALING',
            ],
            'InstanceRoleArn': 'string',
            'CertificateConfiguration': {
                'CertificateType': 'DISABLED'|'GENERATED'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • FleetAttributes (list) --

      A collection of objects containing attribute metadata for each requested fleet ID. Attribute objects are returned only for fleets that currently exist.

      • (dict) --

        General properties describing a fleet.

        • CreateFleet

        • ListFleets

        • DeleteFleet

        • DescribeFleetAttributes

        • UpdateFleetAttributes

        • StartFleetActions or StopFleetActions

        • FleetId (string) --

          A unique identifier for a fleet.

        • FleetArn (string) --

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

        • FleetType (string) --

          Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.

        • InstanceType (string) --

          EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for detailed descriptions.

        • Description (string) --

          Human-readable description of the fleet.

        • Name (string) --

          A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

        • CreationTime (datetime) --

          Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

        • TerminationTime (datetime) --

          Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

        • Status (string) --

          Current status of the fleet.

          Possible fleet statuses include the following:

          • NEW -- A new fleet has been defined and desired instances is set to 1.

          • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build or Realtime script and starting server processes.

          • ACTIVE -- Hosts can now accept game sessions.

          • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

          • DELETING -- Hosts are responding to a delete fleet request.

          • TERMINATED -- The fleet no longer exists.

        • BuildId (string) --

          A unique identifier for a build.

        • BuildArn (string) --

          The Amazon Resource Name ( ARN ) associated with the GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the BuildId value.

        • ScriptId (string) --

          A unique identifier for a Realtime script.

        • ScriptArn (string) --

          The Amazon Resource Name ( ARN ) associated with the GameLift script resource that is deployed on instances in this fleet. In a GameLift script ARN, the resource ID matches the ScriptId value.

        • ServerLaunchPath (string) --

          Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

        • ServerLaunchParameters (string) --

          Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

        • LogPaths (list) --

          Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\game\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

          • (string) --

        • NewGameSessionProtectionPolicy (string) --

          The type of game session protection to set for all new instances started in the fleet.

          • NoProtection -- The game session can be terminated during a scale-down event.

          • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

        • OperatingSystem (string) --

          Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.

        • ResourceCreationLimitPolicy (dict) --

          Fleet policy to limit the number of game sessions an individual player can create over a span of time.

          • NewGameSessionsPerCreator (integer) --

            The maximum number of game sessions that an individual can create during the policy period.

          • PolicyPeriodInMinutes (integer) --

            The time span used in evaluating the resource creation limit policy.

        • MetricGroups (list) --

          Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.

          • (string) --

        • StoppedActions (list) --

          List of fleet activity that have been suspended using StopFleetActions. This includes auto-scaling.

          • (string) --

        • InstanceRoleArn (string) --

          A unique identifier for an AWS IAM role that manages access to your AWS services.

        • CertificateConfiguration (dict) --

          Indicates whether a TLS/SSL certificate was generated for the fleet.

          • CertificateType (string) --

            Indicates whether a TLS/SSL certificate was generated for a fleet.

    • NextToken (string) --

      Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

DescribeFleetCapacity (updated) Link ¶
Changes (response)
{'FleetCapacity': {'InstanceType': {'c5a.12xlarge',
                                    'c5a.16xlarge',
                                    'c5a.24xlarge',
                                    'c5a.2xlarge',
                                    'c5a.4xlarge',
                                    'c5a.8xlarge',
                                    'c5a.large',
                                    'c5a.xlarge',
                                    'm5a.12xlarge',
                                    'm5a.16xlarge',
                                    'm5a.24xlarge',
                                    'm5a.2xlarge',
                                    'm5a.4xlarge',
                                    'm5a.8xlarge',
                                    'm5a.large',
                                    'm5a.xlarge',
                                    'r5a.12xlarge',
                                    'r5a.16xlarge',
                                    'r5a.24xlarge',
                                    'r5a.2xlarge',
                                    'r5a.4xlarge',
                                    'r5a.8xlarge',
                                    'r5a.large',
                                    'r5a.xlarge'}}}

Retrieves the current capacity statistics for one or more fleets. These statistics present a snapshot of the fleet's instances and provide insight on current or imminent scaling activity. To get statistics on game hosting activity in the fleet, see DescribeFleetUtilization.

You can request capacity for all fleets or specify a list of one or more fleet identifiers. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When a list of fleet IDs is provided, attribute objects are returned only for fleets that currently exist.

Note

Some API operations may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Learn more

Setting up GameLift Fleets

GameLift Metrics for Fleets

Related operations

  • CreateFleet

  • ListFleets

  • DeleteFleet

  • Describe fleets:

    • DescribeFleetAttributes

    • DescribeFleetCapacity

    • DescribeFleetPortSettings

    • DescribeFleetUtilization

    • DescribeRuntimeConfiguration

    • DescribeEC2InstanceLimits

    • DescribeFleetEvents

  • UpdateFleetAttributes

  • StartFleetActions or StopFleetActions

See also: AWS API Documentation

Request Syntax

client.describe_fleet_capacity(
    FleetIds=[
        'string',
    ],
    Limit=123,
    NextToken='string'
)
type FleetIds

list

param FleetIds

A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN value.

  • (string) --

type Limit

integer

param Limit

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

type NextToken

string

param NextToken

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

rtype

dict

returns

Response Syntax

{
    'FleetCapacity': [
        {
            'FleetId': 'string',
            'InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
            'InstanceCounts': {
                'DESIRED': 123,
                'MINIMUM': 123,
                'MAXIMUM': 123,
                'PENDING': 123,
                'ACTIVE': 123,
                'IDLE': 123,
                'TERMINATING': 123
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • FleetCapacity (list) --

      A collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.

      • (dict) --

        Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

        • CreateFleet

        • ListFleets

        • DeleteFleet

        • DescribeFleetAttributes

        • UpdateFleetAttributes

        • StartFleetActions or StopFleetActions

        • FleetId (string) --

          A unique identifier for a fleet.

        • InstanceType (string) --

          Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

        • InstanceCounts (dict) --

          Current status of fleet capacity.

          • DESIRED (integer) --

            Ideal number of active instances in the fleet.

          • MINIMUM (integer) --

            The minimum value allowed for the fleet's instance count.

          • MAXIMUM (integer) --

            The maximum value allowed for the fleet's instance count.

          • PENDING (integer) --

            Number of instances in the fleet that are starting but not yet active.

          • ACTIVE (integer) --

            Actual number of active instances in the fleet.

          • IDLE (integer) --

            Number of active instances in the fleet that are not currently hosting a game session.

          • TERMINATING (integer) --

            Number of instances in the fleet that are no longer active but haven't yet been terminated.

    • NextToken (string) --

      Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

DescribeInstances (updated) Link ¶
Changes (response)
{'Instances': {'Type': {'c5a.12xlarge',
                        'c5a.16xlarge',
                        'c5a.24xlarge',
                        'c5a.2xlarge',
                        'c5a.4xlarge',
                        'c5a.8xlarge',
                        'c5a.large',
                        'c5a.xlarge',
                        'm5a.12xlarge',
                        'm5a.16xlarge',
                        'm5a.24xlarge',
                        'm5a.2xlarge',
                        'm5a.4xlarge',
                        'm5a.8xlarge',
                        'm5a.large',
                        'm5a.xlarge',
                        'r5a.12xlarge',
                        'r5a.16xlarge',
                        'r5a.24xlarge',
                        'r5a.2xlarge',
                        'r5a.4xlarge',
                        'r5a.8xlarge',
                        'r5a.large',
                        'r5a.xlarge'}}}

Retrieves information about a fleet's instances, including instance IDs. Use this operation to get details on all instances in the fleet or get details on one specific instance.

To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an Instance object is returned for each result.

Learn more

Remotely Access Fleet Instances

Debug Fleet Issues

Related operations

  • DescribeInstances

  • GetInstanceAccess

See also: AWS API Documentation

Request Syntax

client.describe_instances(
    FleetId='string',
    InstanceId='string',
    Limit=123,
    NextToken='string'
)
type FleetId

string

param FleetId

[REQUIRED]

A unique identifier for a fleet to retrieve instance information for. You can use either the fleet ID or ARN value.

type InstanceId

string

param InstanceId

A unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.

type Limit

integer

param Limit

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

type NextToken

string

param NextToken

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

rtype

dict

returns

Response Syntax

{
    'Instances': [
        {
            'FleetId': 'string',
            'InstanceId': 'string',
            'IpAddress': 'string',
            'DnsName': 'string',
            'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX'|'AMAZON_LINUX_2',
            'Type': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge',
            'Status': 'PENDING'|'ACTIVE'|'TERMINATING',
            'CreationTime': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • Instances (list) --

      A collection of objects containing properties for each instance returned.

      • (dict) --

        Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.

        • FleetId (string) --

          A unique identifier for a fleet that the instance is in.

        • InstanceId (string) --

          A unique identifier for an instance.

        • IpAddress (string) --

          IP address that is assigned to the instance.

        • DnsName (string) --

          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.

        • OperatingSystem (string) --

          Operating system that is running on this instance.

        • Type (string) --

          EC2 instance type that defines the computing resources of this instance.

        • Status (string) --

          Current status of the instance. Possible statuses include the following:

          • PENDING -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration.

          • ACTIVE -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

          • TERMINATING -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

        • CreationTime (datetime) --

          Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

    • NextToken (string) --

      Token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

DescribeMatchmakingConfigurations (updated) Link ¶
Changes (response)
{'Configurations': {'FlexMatchMode': 'STANDALONE | WITH_QUEUE'}}

Retrieves the details of FlexMatch matchmaking configurations.

This operation offers the following options: (1) retrieve all matchmaking configurations, (2) retrieve configurations for a specified list, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages.

If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Learn more

Setting Up FlexMatch Matchmakers

Related operations

  • CreateMatchmakingConfiguration

  • DescribeMatchmakingConfigurations

  • UpdateMatchmakingConfiguration

  • DeleteMatchmakingConfiguration

  • CreateMatchmakingRuleSet

  • DescribeMatchmakingRuleSets

  • ValidateMatchmakingRuleSet

  • DeleteMatchmakingRuleSet

See also: AWS API Documentation

Request Syntax

client.describe_matchmaking_configurations(
    Names=[
        'string',
    ],
    RuleSetName='string',
    Limit=123,
    NextToken='string'
)
type Names

list

param Names

A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To request all existing configurations, leave this parameter empty.

  • (string) --

type RuleSetName

string

param RuleSetName

A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to retrieve all matchmaking configurations that use this rule set.

type Limit

integer

param Limit

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

type NextToken

string

param NextToken

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this operation. To start at the beginning of the result set, do not specify a value.

rtype

dict

returns

Response Syntax

{
    'Configurations': [
        {
            'Name': 'string',
            'ConfigurationArn': 'string',
            'Description': 'string',
            'GameSessionQueueArns': [
                'string',
            ],
            'RequestTimeoutSeconds': 123,
            'AcceptanceTimeoutSeconds': 123,
            'AcceptanceRequired': True|False,
            'RuleSetName': 'string',
            'RuleSetArn': 'string',
            'NotificationTarget': 'string',
            'AdditionalPlayerCount': 123,
            'CustomEventData': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'GameProperties': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'GameSessionData': 'string',
            'BackfillMode': 'AUTOMATIC'|'MANUAL',
            'FlexMatchMode': 'STANDALONE'|'WITH_QUEUE'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • Configurations (list) --

      A collection of requested matchmaking configurations.

      • (dict) --

        Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a 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. Queues can be located in any Region. Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. Thais property is not set when FlexMatchMode is set to STANDALONE .

          • (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 acceptance is required. If any player rejects the match or fails to accept before the timeout, the tickets are returned to the ticket pool and continue to be evaluated 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. When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

        • 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. This parameter is not used when FlexMatchMode is set to STANDALONE .

        • CustomEventData (string) --

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

        • CreationTime (datetime) --

          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. This parameter is not used when FlexMatchMode is set to STANDALONE .

          • (dict) --

            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. This parameter is not used when FlexMatchMode is set to STANDALONE .

        • 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. Automatic backfill is not available when FlexMatchMode is set to STANDALONE .

        • FlexMatchMode (string) --

          Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.

          • STANDALONE - FlexMatch forms matches and returns match information, including players and team assignments, in a MatchmakingSucceeded event.

          • WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to start a game session for the match.

    • NextToken (string) --

      A token that indicates where to resume retrieving results on the next call to this operation. If no token is returned, these results represent the end of the list.

UpdateMatchmakingConfiguration (updated) Link ¶
Changes (request, response)
Request
{'FlexMatchMode': 'STANDALONE | WITH_QUEUE'}
Response
{'Configuration': {'FlexMatchMode': 'STANDALONE | WITH_QUEUE'}}

Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings.

Learn more

Design a FlexMatch Matchmaker

Related operations

  • CreateMatchmakingConfiguration

  • DescribeMatchmakingConfigurations

  • UpdateMatchmakingConfiguration

  • DeleteMatchmakingConfiguration

  • CreateMatchmakingRuleSet

  • DescribeMatchmakingRuleSets

  • ValidateMatchmakingRuleSet

  • DeleteMatchmakingRuleSet

See also: AWS API Documentation

Request Syntax

client.update_matchmaking_configuration(
    Name='string',
    Description='string',
    GameSessionQueueArns=[
        'string',
    ],
    RequestTimeoutSeconds=123,
    AcceptanceTimeoutSeconds=123,
    AcceptanceRequired=True|False,
    RuleSetName='string',
    NotificationTarget='string',
    AdditionalPlayerCount=123,
    CustomEventData='string',
    GameProperties=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    GameSessionData='string',
    BackfillMode='AUTOMATIC'|'MANUAL',
    FlexMatchMode='STANDALONE'|'WITH_QUEUE'
)
type Name

string

param Name

[REQUIRED]

A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

type Description

string

param Description

A descriptive label that is associated with matchmaking configuration.

type GameSessionQueueArns

list

param GameSessionQueueArns

Amazon Resource Name ( ARN ) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. Queues can be located in any Region. Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. If FlexMatchMode is set to STANDALONE , do not set this parameter.

  • (string) --

type RequestTimeoutSeconds

integer

param RequestTimeoutSeconds

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.

type AcceptanceTimeoutSeconds

integer

param AcceptanceTimeoutSeconds

The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required. If any player rejects the match or fails to accept before the timeout, the tickets are returned to the ticket pool and continue to be evaluated for an acceptable match.

type AcceptanceRequired

boolean

param AcceptanceRequired

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. With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

type RuleSetName

string

param RuleSetName

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.

type NotificationTarget

string

param NotificationTarget

An SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

type AdditionalPlayerCount

integer

param AdditionalPlayerCount

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

type CustomEventData

string

param CustomEventData

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

type GameProperties

list

param GameProperties

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

  • (dict) --

    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) -- [REQUIRED]

      The game property identifier.

    • Value (string) -- [REQUIRED]

      The game property value.

type GameSessionData

string

param GameSessionData

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. This parameter is not used if FlexMatchMode is set to STANDALONE .

type BackfillMode

string

param BackfillMode

The method that is used to backfill game sessions 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. Automatic backfill is not available when FlexMatchMode is set to STANDALONE .

type FlexMatchMode

string

param FlexMatchMode

Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.

  • STANDALONE - FlexMatch forms matches and returns match information, including players and team assignments, in a MatchmakingSucceeded event.

  • WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to start a game session for the match.

rtype

dict

returns

Response Syntax

{
    'Configuration': {
        'Name': 'string',
        'ConfigurationArn': 'string',
        'Description': 'string',
        'GameSessionQueueArns': [
            'string',
        ],
        'RequestTimeoutSeconds': 123,
        'AcceptanceTimeoutSeconds': 123,
        'AcceptanceRequired': True|False,
        'RuleSetName': 'string',
        'RuleSetArn': 'string',
        'NotificationTarget': 'string',
        'AdditionalPlayerCount': 123,
        'CustomEventData': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'GameProperties': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'GameSessionData': 'string',
        'BackfillMode': 'AUTOMATIC'|'MANUAL',
        'FlexMatchMode': 'STANDALONE'|'WITH_QUEUE'
    }
}

Response Structure

  • (dict) --

    Represents the returned data in response to a request operation.

    • Configuration (dict) --

      The updated 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. Queues can be located in any Region. Queues are used to start new GameLift-hosted game sessions for matches that are created with this matchmaking configuration. Thais property is not set when FlexMatchMode is set to STANDALONE .

        • (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 acceptance is required. If any player rejects the match or fails to accept before the timeout, the tickets are returned to the ticket pool and continue to be evaluated 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. When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE to indicate when a completed potential match is waiting for player acceptance.

      • 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. This parameter is not used when FlexMatchMode is set to STANDALONE .

      • CustomEventData (string) --

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

      • CreationTime (datetime) --

        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. This parameter is not used when FlexMatchMode is set to STANDALONE .

        • (dict) --

          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. This parameter is not used when FlexMatchMode is set to STANDALONE .

      • 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. Automatic backfill is not available when FlexMatchMode is set to STANDALONE .

      • FlexMatchMode (string) --

        Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.

        • STANDALONE - FlexMatch forms matches and returns match information, including players and team assignments, in a MatchmakingSucceeded event.

        • WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift queue to start a game session for the match.