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.

Tip

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 client service projects with the AWS SDK. These include any projects that find or create game sessions and add players to games. The AWS SDK is available in several languages. See the Amazon GameLift SDKs For Game Clients and Game Services.

    • Configure your game client or service projects to connect to the Amazon GameLift. Determine the region to connect to, set a target fleet or queue, and store AWS credentials. See Add Amazon GameLift to Your Game Client.

    • Add functionality to retrieve information on game sessions, create new game sessions, and reserve space for players on a game session. See Add Amazon GameLift to Your Game Client. Optionally, see Matchmaking with FlexMatch to add matchmaking functionality.

  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.

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

  7. Optional: Add queues and game session placements to improve game hosting efficiency and quality.

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

    • Incorporate the use of game session placements in your game client or client services. Use FleetIQ to place game sessions based on player latency information. Learn how to Create Game Sessions using queues.

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