Amazon GameLift
Developer Guide (Version )

Integration Plan

Are you ready to start using Amazon GameLift to run your multiplayer games? Follow the steps in this workflow to integrate Amazon GameLift into your games and deploy them. If you're new to Amazon GameLift, we recommend that you read What is Amazon GameLift? If you're unsure whether Amazon GameLift supports your operating systems and development environments, see Amazon GameLift SDKs and Game Engines and Amazon GameLift.


You don't need to have a game ready to start experimenting with Amazon GameLift. Learn more about available tools to get you exploring with Amazon GameLift features fast in Explore Amazon GameLift.

  1. Get set up to use Amazon GameLift.

  2. Prepare your game server for hosting on Amazon GameLift.

    • Download the Amazon GameLift Server SDK. Build the version for your preferred programming language and game engine, and add it to your game server project. If you're using the Amazon Lumberyard game engine, a version of the SDK is built in. See the Amazon GameLift SDKs For Game Servers and Game Engines and Amazon GameLift.

    • Add code to your game server project to enable communication with the Amazon GameLift service. At a minimum, a game server should be able to do the following: (1) Notify Amazon GameLift when it is ready to host a game session, (2) Start game sessions when prompted by Amazon GameLift, and (3) Notify when a game session is ending or it is shutting down. A game server can also validate new player connections and track the player slot availability in each game session. See Add Amazon GameLift to Your Game Server.

  3. Prepare your game client to connect to Amazon GameLift-hosted game sessions.

    • Set up your game client or a client service to communicate with Amazon GameLift service in order to start game sessions and place players into games. Recommended: Use a client service to make these direct calls to the Amazon GameLift service instead of from a game client on a client device.

      • Add the AWS SDK to your client service project. The AWS SDK is available in several languages. See the Amazon GameLift SDKs For Game Clients and Game Services.

      • Add code to initialize an Amazon GameLift client, and configure it to use the hosting resources in your fleets and/or queues. See Add Amazon GameLift to Your Game Client.

      • Add functionality to retrieve information on game sessions, create new game sessions, and (optionally) reserve space for players on a game session. See Add Amazon GameLift to Your Game Client. Recommended: Use game session placement and multi-region queues to make the best use of your hosting resources, and take advantage of FleetIQ, which helps minimize game lag for players. This option is required if you're planning to do Matchmaking with FlexMatch.

    • Enable your game client to connect directly with a hosted game session.

      • Add code to acquire connection information for a game session and (optionally) a reserved player session.

      • Use this connection information and a unique player ID to communicate with the game server and join the game.

  4. Test your Amazon GameLift integration.

    • Use Amazon GameLift Local to test your game client and game server integration using a version of the Amazon GameLift service running locally. You can use this tool to test your integration without having to upload game builds and set up fleets. You can verify that your game components are communicating with the Amazon GameLift service, and test core functionality. See Testing Your Integration.

  5. Upload your game server to the Amazon GameLift service.

    • Package the game server binaries, dependencies, install instructions, and other files needed to run your game server. See Package Build Files.

    • Test the game build installation process on the target operating system to check for missing dependencies.

    • Upload the build to the Amazon GameLift service. Be sure to upload your build to each region where you plan to deploy your game. See Upload Build Files to Amazon GameLift.

  6. Build a fleet of computing resources to host your game.

    • Design a fleet configuration for your game and create a fleet. You need to decide, for example, the type of computing resources to use, which regions to deploy to, whether to use a fleet alias, and other preference settings. You can create a fleet from either the Amazon GameLift console or the AWS CLI tool. Once a fleet is active, it is ready to host game sessions and accept players. See Set up Fleets. For help resolving fleet creation issues, see Debug Fleet Creation Issues.

    • Experiment with Amazon GameLift fleet configuration settings and refine as needed to optimize usage of your fleet resources. Adjust the number of game sessions to run concurrently on each instance, or set game session activation limits. See Set up Fleets. See also how to Remotely Access Fleet Instances.

    • Design and create queues to manage how new game sessions are placed with available hosting resources. See Design a Game Session Queue.

    • Enable auto-scaling to manage your fleet's hosting capacity for expected player demand. See Manage Fleet Capacity.

  7. Optional: Enable player matchmaking using Amazon GameLift FlexMatch.

Once you've fully integrated Amazon GameLift into your game components, it's a matter of managing your game server fleets for optimal availability and performance over the long term. Use Amazon GameLift tools to track things like how quickly and efficiently players can find and connect to a game session, overall performance of your game servers over time, and player usage patterns. See Viewing Your Game Data in the Console.