Amazon GameLift Service
API Reference (API Version 2015-10-01)

Welcome

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Use Amazon GameLift for these tasks: (1) set up computing resources and deploy your game servers, (2) run game sessions and get players into games, (3) automatically scale your resources to meet player demand and manage costs, and (4) track in-depth metrics on game server performance and player usage.

PREVIEW: Realtime Servers

The new Amazon GameLift feature Realtime Servers is now in preview. For multiplayer games that don't require a complex game server, Realtime Servers provides a simplifed path to getting a game up and running for your players. Realtime Servers gives you the ability to quickly stand up lightweight, efficient game servers. Realtime Servers comes with basic game server infrastructure built in and integrated with the Amazon GameLift service, and it can be customized to add additional game logic as needed.

Realtime Servers is in preview release for Amazon GameLift and is subject to change. Learn more about Realtime Servers on the Game Tech Blog.

Realtime Servers includes the following API updates:

  • CreateScript -- Create a new server script to run on Realtime Servers

  • ListScripts -- Get a list of all Realtime scripts uploaded to an Amazon GameLift region.

  • DescribeScript -- Retrieve information associated with a Realtime script.

  • UpdateScript -- Change script metadata and upload revised script content.

  • DeleteScript -- Remove a Realtime script from Amazon GameLift.

  • CreateFleet -- Configure and activate a new fleet to run a build's game servers, now updated to create Realtime Servers fleets with a custom server script.

  • ListFleets -- Get a list of fleets, now updated to allow filtering by Realtime script ID.

Get AWS Tools

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.

Learn more

API SUMMARY

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 auto-scaling policies; retrieve logs and metrics.

Managing Games and Players

  • 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.

  • Match players to game sessions with FlexMatch matchmaking

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

    • StartMatchBackfill - Request additional player matches to fill empty slots in an existing game session.

    • 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.

This document was last published on April 18, 2019.