Get started with custom servers - Amazon GameLift

Get started with custom servers

This roadmap outlines the key steps to setting up your multiplayer game with custom game servers to use with GameLift. If you want to use GameLift Realtime Servers, which let you deploy your game client with our ready-to-deploy game servers, see Get started with Realtime Servers.


For more information about GameLift features, including Realtime Servers, try out the GameLift sample games.

New to GameLift? We recommend that you read What is Amazon GameLift?. If you're unsure whether GameLift supports your operating systems and development environments, see Download Amazon GameLift SDKs and Game engines and Amazon GameLift.

Before you integrate your custom servers with GameLift, you must have an AWS account and you must configure it for GameLift. For more information, see Set up an AWS account.

To use custom game servers with GameLift

  1. Prepare your custom game servers for hosting on GameLift.

  2. Prepare your game client to connect to GameLift hosted game sessions.

    • Set up a game client to communicate with GameLift through a backend service. GameLift must communicate with your game client to start game sessions and to place players into games when prompted.

    • Set up your game client to connect directly to 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. For more information, see Join a player to a game session.

  3. Test your GameLift integration.

    • Use Amazon GameLift Local to test your game client and game server integration using a local version of GameLift. Use GameLift Local to verify that your game components can communicate with GameLift and to test core functionality without uploading game builds or configuring fleets. For more information, see Testing your integration.

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

    • Package and upload your custom game server build to GameLift. For more information, see Upload a custom server build to GameLift.

    • Design a fleet configuration for your game. Choose the type of computing resources to use, which locations to deploy to, whether to use queues, and other options. For more information, see GameLift fleet design guide.

    • Create fleets and deploy them with your custom game server. When a fleet is active, it's ready to host game sessions and accept players. For more information, see Setting up GameLift fleets.

    • Experiment with GameLift fleet configuration settings 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. For more information, see GameLift fleet design guide.

    • Create a queue to manage how GameLift places new game sessions with available hosting resources. For more information, see Design a game session queue.

    • Use automatic scaling to manage your fleet's hosting capacity for expected player demand. For more information, see Scaling GameLift hosting capacity.

    • (Optional) Set up a FlexMatch matchmaker with a set of custom matchmaking rules for your game. For more information, see FlexMatch integration with GameLift hosting.


    After creating a queue, you must update your game client and backend service to use the queue ID when requesting game session placements or matchmaking.

After you fully integrate GameLift into your game components, monitor and optimize your fleet's availability. For more information about monitoring your games, see Viewing your game data in the console.

For more information about implementing a game server, see the following topics: