Crate rusoto_gamelift [] [src]

Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance.

The Amazon GameLift service API includes two important function sets:

  • Manage game sessions and player access – Retrieve information on available game sessions; create new game sessions; send player requests to join a game session.

  • Configure and manage game server resources – Manage builds, fleets, queues, and aliases; set autoscaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. You can use the API functionality with these tools:

  • The Amazon Web Services software development kit (AWS SDK) is available in multiple languages including C++ and C#. Use the SDK to access the API programmatically from an application, such as a game client.

  • The AWS command-line interface (CLI) tool is primarily useful for handling administrative actions, such as setting up and managing Amazon GameLift settings and resources. You can use the AWS CLI to manage all of your AWS services.

  • The AWS Management Console for Amazon GameLift provides a web interface to manage your Amazon GameLift settings and resources. The console includes a dashboard for tracking key resources, including builds and fleets, and displays usage and performance metrics for your games as customizable graphs.

  • Amazon GameLift Local is a tool for testing your game's integration with Amazon GameLift before deploying it on the service. This tools supports a subset of key API actions, which can be called from either the AWS CLI or programmatically. See Testing an Integration.

MORE RESOURCES

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Managing Games and Players

Use these actions to start new game sessions, find existing game sessions, track game session status and other information, and enable player access to game sessions.

  • Discover existing game sessions

    • SearchGameSessions – Retrieve all available game sessions or search for game sessions that match a set of criteria.

  • Start new game sessions

    • Start new games with Queues to find the best available hosting resources across multiple regions, minimize player latency, and balance game session activity for efficiency and cost effectiveness.

    • CreateGameSession – Start a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Start new game sessions with FlexMatch matchmaking

    • StartMatchmaking – Request matchmaking for one players or a group who want to play together.

    • DescribeMatchmaking – Get details on a matchmaking request, including status.

    • AcceptMatch – Register that a player accepts a proposed match, for matches that require player acceptance.

    • StopMatchmaking – Cancel a matchmaking request.

  • Manage game session data

    • DescribeGameSessions – Retrieve metadata for one or more game sessions, including length of time active and current player count. Available in Amazon GameLift Local.

    • DescribeGameSessionDetails – Retrieve metadata and the game session protection setting for one or more game sessions.

    • UpdateGameSession – Change game session settings, such as maximum player count and join policy.

    • GetGameSessionLogUrl – Get the location of saved logs for a game session.

  • Manage player sessions

    • CreatePlayerSession – Send a request for a player to join a game session. Available in Amazon GameLift Local.

    • CreatePlayerSessions – Send a request for multiple players to join a game session. Available in Amazon GameLift Local.

    • DescribePlayerSessions – Get details on player activity, including status, playing time, and player data. Available in Amazon GameLift Local.

Setting Up and Managing Game Servers

When setting up Amazon GameLift resources for your game, you first create a game build and upload it to Amazon GameLift. You can then use these actions to configure and manage a fleet of resources to run your game servers, scale capacity to meet player demand, access performance and utilization metrics, and more.

If you're using the service, you're probably looking for GameLiftClient and GameLift.

Structs

AcceptMatchInput

Represents the input for a request action.

AcceptMatchOutput
Alias

Properties describing a fleet alias.

Alias-related operations include:

AttributeValue

Values for use in Player attribute type:value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array or data map. Each AttributeValue object can use only one of the available properties.

AwsCredentials

Temporary access credentials used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

Build

Properties describing a game build.

Build-related operations include:

CreateAliasInput

Represents the input for a request action.

CreateAliasOutput

Represents the returned data in response to a request action.

CreateBuildInput

Represents the input for a request action.

CreateBuildOutput

Represents the returned data in response to a request action.

CreateFleetInput

Represents the input for a request action.

CreateFleetOutput

Represents the returned data in response to a request action.

CreateGameSessionInput

Represents the input for a request action.

CreateGameSessionOutput

Represents the returned data in response to a request action.

CreateGameSessionQueueInput

Represents the input for a request action.

CreateGameSessionQueueOutput

Represents the returned data in response to a request action.

CreateMatchmakingConfigurationInput

Represents the input for a request action.

CreateMatchmakingConfigurationOutput

Represents the returned data in response to a request action.

CreateMatchmakingRuleSetInput

Represents the input for a request action.

CreateMatchmakingRuleSetOutput

Represents the returned data in response to a request action.

CreatePlayerSessionInput

Represents the input for a request action.

CreatePlayerSessionOutput

Represents the returned data in response to a request action.

CreatePlayerSessionsInput

Represents the input for a request action.

CreatePlayerSessionsOutput

Represents the returned data in response to a request action.

DeleteAliasInput

Represents the input for a request action.

DeleteBuildInput

Represents the input for a request action.

DeleteFleetInput

Represents the input for a request action.

DeleteGameSessionQueueInput

Represents the input for a request action.

DeleteGameSessionQueueOutput
DeleteMatchmakingConfigurationInput

Represents the input for a request action.

DeleteMatchmakingConfigurationOutput
DeleteScalingPolicyInput

Represents the input for a request action.

DescribeAliasInput

Represents the input for a request action.

DescribeAliasOutput

Represents the returned data in response to a request action.

DescribeBuildInput

Represents the input for a request action.

DescribeBuildOutput

Represents the returned data in response to a request action.

DescribeEC2InstanceLimitsInput

Represents the input for a request action.

DescribeEC2InstanceLimitsOutput

Represents the returned data in response to a request action.

DescribeFleetAttributesInput

Represents the input for a request action.

DescribeFleetAttributesOutput

Represents the returned data in response to a request action.

DescribeFleetCapacityInput

Represents the input for a request action.

DescribeFleetCapacityOutput

Represents the returned data in response to a request action.

DescribeFleetEventsInput

Represents the input for a request action.

DescribeFleetEventsOutput

Represents the returned data in response to a request action.

DescribeFleetPortSettingsInput

Represents the input for a request action.

DescribeFleetPortSettingsOutput

Represents the returned data in response to a request action.

DescribeFleetUtilizationInput

Represents the input for a request action.

DescribeFleetUtilizationOutput

Represents the returned data in response to a request action.

DescribeGameSessionDetailsInput

Represents the input for a request action.

DescribeGameSessionDetailsOutput

Represents the returned data in response to a request action.

DescribeGameSessionPlacementInput

Represents the input for a request action.

DescribeGameSessionPlacementOutput

Represents the returned data in response to a request action.

DescribeGameSessionQueuesInput

Represents the input for a request action.

DescribeGameSessionQueuesOutput

Represents the returned data in response to a request action.

DescribeGameSessionsInput

Represents the input for a request action.

DescribeGameSessionsOutput

Represents the returned data in response to a request action.

DescribeInstancesInput

Represents the input for a request action.

DescribeInstancesOutput

Represents the returned data in response to a request action.

DescribeMatchmakingConfigurationsInput

Represents the input for a request action.

DescribeMatchmakingConfigurationsOutput

Represents the returned data in response to a request action.

DescribeMatchmakingInput

Represents the input for a request action.

DescribeMatchmakingOutput

Represents the returned data in response to a request action.

DescribeMatchmakingRuleSetsInput

Represents the input for a request action.

DescribeMatchmakingRuleSetsOutput

Represents the returned data in response to a request action.

DescribePlayerSessionsInput

Represents the input for a request action.

DescribePlayerSessionsOutput

Represents the returned data in response to a request action.

DescribeRuntimeConfigurationInput

Represents the input for a request action.

DescribeRuntimeConfigurationOutput

Represents the returned data in response to a request action.

DescribeScalingPoliciesInput

Represents the input for a request action.

DescribeScalingPoliciesOutput

Represents the returned data in response to a request action.

DesiredPlayerSession

Player information for use when creating player sessions using a game session placement request with StartGameSessionPlacement.

EC2InstanceCounts

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

Fleet-related operations include:

EC2InstanceLimit

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

Event

Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.

FleetAttributes

General properties describing a fleet.

Fleet-related operations include:

FleetCapacity

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.

Fleet-related operations include:

FleetUtilization

Current status of fleet utilization, including the number of game and player sessions being hosted.

Fleet-related operations include:

GameLiftClient

A client for the Amazon GameLift API.

GameProperty

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, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the Amazon GameLift Developer Guide.

GameSession

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

Game-session-related operations include:

GameSessionConnectionInfo

Connection information for the new game session that is created with matchmaking. (with StartMatchmaking). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

GameSessionDetail

A game session's properties plus the protection policy currently in force.

GameSessionPlacement

Object that describes a StartGameSessionPlacement request. This object includes the full details of the original request plus the current status and start/end time stamps.

Game session placement-related operations include:

GameSessionQueue

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

Queue-related operations include:

GameSessionQueueDestination

Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.

Queue-related operations include:

GetGameSessionLogUrlInput

Represents the input for a request action.

GetGameSessionLogUrlOutput

Represents the returned data in response to a request action.

GetInstanceAccessInput

Represents the input for a request action.

GetInstanceAccessOutput

Represents the returned data in response to a request action.

Instance

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.

InstanceAccess

Information required to remotely connect to a fleet instance. Access is requested by calling GetInstanceAccess.

InstanceCredentials

Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling GetInstanceAccess and returned in an InstanceAccess object.

IpPermission

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on Amazon GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the GameSession object.

ListAliasesInput

Represents the input for a request action.

ListAliasesOutput

Represents the returned data in response to a request action.

ListBuildsInput

Represents the input for a request action.

ListBuildsOutput

Represents the returned data in response to a request action.

ListFleetsInput

Represents the input for a request action.

ListFleetsOutput

Represents the returned data in response to a request action.

MatchedPlayerSession

New player session created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.

When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.

MatchmakingConfiguration

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

MatchmakingRuleSet

Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Create Matchmaking Rules for Your Game.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players--such as each player must meet a certain skill level, or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time if no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

MatchmakingTicket

Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with StartMatchmaking. Tickets can be retrieved by calling DescribeMatchmaking with the ticket ID.

PlacedPlayerSession

Information about a player session that was created as part of a StartGameSessionPlacement request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call DescribePlayerSessions with the player session ID.

Player-session-related operations include:

Player

Object used in matchmaking to represent a player. When starting a matchmaking request, a player has a player ID and may have latency data. Team information is added after a match has been successfully completed.

PlayerLatency

Regional latency information for a player, used when requesting a new game session with StartGameSessionPlacement. This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified region. The relative difference between a player's latency values for multiple regions are used to determine which fleets are best suited to place a new game session for the player.

PlayerLatencyPolicy

Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.

Queue-related operations include:

PlayerSession

Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

Player-session-related operations include:

PutScalingPolicyInput

Represents the input for a request action.

PutScalingPolicyOutput

Represents the returned data in response to a request action.

RequestUploadCredentialsInput

Represents the input for a request action.

RequestUploadCredentialsOutput

Represents the returned data in response to a request action.

ResolveAliasInput

Represents the input for a request action.

ResolveAliasOutput

Represents the returned data in response to a request action.

ResourceCreationLimitPolicy

Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: "An individual player can create a maximum number of new game sessions within a specified time period".

The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

RoutingStrategy

Routing configuration for a fleet alias.

Fleet-related operations include:

RuntimeConfiguration

A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.

A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the run-time configuration.

Fleet-related operations include:

S3Location

Location in Amazon Simple Storage Service (Amazon S3) where build files can be stored for access by Amazon GameLift. This location is specified in a CreateBuild request. For more details, see the Create a Build with Files in Amazon S3.

ScalingPolicy

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

Fleet-related operations include:

SearchGameSessionsInput

Represents the input for a request action.

SearchGameSessionsOutput

Represents the returned data in response to a request action.

ServerProcess

A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, 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 .

StartGameSessionPlacementInput

Represents the input for a request action.

StartGameSessionPlacementOutput

Represents the returned data in response to a request action.

StartMatchmakingInput

Represents the input for a request action.

StartMatchmakingOutput

Represents the returned data in response to a request action.

StopGameSessionPlacementInput

Represents the input for a request action.

StopGameSessionPlacementOutput

Represents the returned data in response to a request action.

StopMatchmakingInput

Represents the input for a request action.

StopMatchmakingOutput
UpdateAliasInput

Represents the input for a request action.

UpdateAliasOutput

Represents the returned data in response to a request action.

UpdateBuildInput

Represents the input for a request action.

UpdateBuildOutput

Represents the returned data in response to a request action.

UpdateFleetAttributesInput

Represents the input for a request action.

UpdateFleetAttributesOutput

Represents the returned data in response to a request action.

UpdateFleetCapacityInput

Represents the input for a request action.

UpdateFleetCapacityOutput

Represents the returned data in response to a request action.

UpdateFleetPortSettingsInput

Represents the input for a request action.

UpdateFleetPortSettingsOutput

Represents the returned data in response to a request action.

UpdateGameSessionInput

Represents the input for a request action.

UpdateGameSessionOutput

Represents the returned data in response to a request action.

UpdateGameSessionQueueInput

Represents the input for a request action.

UpdateGameSessionQueueOutput

Represents the returned data in response to a request action.

UpdateMatchmakingConfigurationInput

Represents the input for a request action.

UpdateMatchmakingConfigurationOutput

Represents the returned data in response to a request action.

UpdateRuntimeConfigurationInput

Represents the input for a request action.

UpdateRuntimeConfigurationOutput

Represents the returned data in response to a request action.

ValidateMatchmakingRuleSetInput

Represents the input for a request action.

ValidateMatchmakingRuleSetOutput

Represents the returned data in response to a request action.

Enums

AcceptMatchError

Errors returned by AcceptMatch

CreateAliasError

Errors returned by CreateAlias

CreateBuildError

Errors returned by CreateBuild

CreateFleetError

Errors returned by CreateFleet

CreateGameSessionError

Errors returned by CreateGameSession

CreateGameSessionQueueError

Errors returned by CreateGameSessionQueue

CreateMatchmakingConfigurationError

Errors returned by CreateMatchmakingConfiguration

CreateMatchmakingRuleSetError

Errors returned by CreateMatchmakingRuleSet

CreatePlayerSessionError

Errors returned by CreatePlayerSession

CreatePlayerSessionsError

Errors returned by CreatePlayerSessions

DeleteAliasError

Errors returned by DeleteAlias

DeleteBuildError

Errors returned by DeleteBuild

DeleteFleetError

Errors returned by DeleteFleet

DeleteGameSessionQueueError

Errors returned by DeleteGameSessionQueue

DeleteMatchmakingConfigurationError

Errors returned by DeleteMatchmakingConfiguration

DeleteScalingPolicyError

Errors returned by DeleteScalingPolicy

DescribeAliasError

Errors returned by DescribeAlias

DescribeBuildError

Errors returned by DescribeBuild

DescribeEC2InstanceLimitsError

Errors returned by DescribeEC2InstanceLimits

DescribeFleetAttributesError

Errors returned by DescribeFleetAttributes

DescribeFleetCapacityError

Errors returned by DescribeFleetCapacity

DescribeFleetEventsError

Errors returned by DescribeFleetEvents

DescribeFleetPortSettingsError

Errors returned by DescribeFleetPortSettings

DescribeFleetUtilizationError

Errors returned by DescribeFleetUtilization

DescribeGameSessionDetailsError

Errors returned by DescribeGameSessionDetails

DescribeGameSessionPlacementError

Errors returned by DescribeGameSessionPlacement

DescribeGameSessionQueuesError

Errors returned by DescribeGameSessionQueues

DescribeGameSessionsError

Errors returned by DescribeGameSessions

DescribeInstancesError

Errors returned by DescribeInstances

DescribeMatchmakingConfigurationsError

Errors returned by DescribeMatchmakingConfigurations

DescribeMatchmakingError

Errors returned by DescribeMatchmaking

DescribeMatchmakingRuleSetsError

Errors returned by DescribeMatchmakingRuleSets

DescribePlayerSessionsError

Errors returned by DescribePlayerSessions

DescribeRuntimeConfigurationError

Errors returned by DescribeRuntimeConfiguration

DescribeScalingPoliciesError

Errors returned by DescribeScalingPolicies

GetGameSessionLogUrlError

Errors returned by GetGameSessionLogUrl

GetInstanceAccessError

Errors returned by GetInstanceAccess

ListAliasesError

Errors returned by ListAliases

ListBuildsError

Errors returned by ListBuilds

ListFleetsError

Errors returned by ListFleets

PutScalingPolicyError

Errors returned by PutScalingPolicy

RequestUploadCredentialsError

Errors returned by RequestUploadCredentials

ResolveAliasError

Errors returned by ResolveAlias

SearchGameSessionsError

Errors returned by SearchGameSessions

StartGameSessionPlacementError

Errors returned by StartGameSessionPlacement

StartMatchmakingError

Errors returned by StartMatchmaking

StopGameSessionPlacementError

Errors returned by StopGameSessionPlacement

StopMatchmakingError

Errors returned by StopMatchmaking

UpdateAliasError

Errors returned by UpdateAlias

UpdateBuildError

Errors returned by UpdateBuild

UpdateFleetAttributesError

Errors returned by UpdateFleetAttributes

UpdateFleetCapacityError

Errors returned by UpdateFleetCapacity

UpdateFleetPortSettingsError

Errors returned by UpdateFleetPortSettings

UpdateGameSessionError

Errors returned by UpdateGameSession

UpdateGameSessionQueueError

Errors returned by UpdateGameSessionQueue

UpdateMatchmakingConfigurationError

Errors returned by UpdateMatchmakingConfiguration

UpdateRuntimeConfigurationError

Errors returned by UpdateRuntimeConfiguration

ValidateMatchmakingRuleSetError

Errors returned by ValidateMatchmakingRuleSet

Traits

GameLift

Trait representing the capabilities of the Amazon GameLift API. Amazon GameLift clients implement this trait.