Get Started with Custom Servers - Amazon GameLift

Get Started with Custom Servers

This roadmap outlines the key steps to getting your multiplayer games with custom game servers up and running with the managed GameLift solution for custom game servers. If you're interested in using GameLift Realtime Servers, which lets you deploy your game client with our ready-to-deploy game servers, see Get Started with Realtime Servers. To learn about other GameLift solutions, see What Is Amazon GameLift?.

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 the topics Amazon GameLift SDKs and Game Engines and Amazon GameLift.

Before you start integration, you need to have an AWS account and configure it for Amazon GameLift. Learn more at Set Up an AWS Account. All essential tasks related to creating and managing your game servers can be done using the Amazon GameLift console, but you may also want to Get and install the AWS Command Line Interface tool.

  1. Prepare your custom game server for hosting on Amazon GameLift.

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

    • Set up a client service to communicate with Amazon GameLift service in order to start game sessions and place players into games when prompted by a game client.

      • Add the AWS SDK to your client service project. See the Amazon GameLift SDKs For Client Services.

      • Add functionality to retrieve information on game sessions, place 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 placements to take advantage of FleetIQ and optimize resource usage and player experience. This option is required if you're using FlexMatch.

      • (optional) Enable the client service to request player matchmaking using FlexMatch. Learn more in FlexMatch Integration Roadmap.

    • 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. See Join a Player to a Game Session.

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

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

    • Package and upload your custom game server build to the Amazon GameLift service. Be sure to upload your build to each region where you plan to deploy your game. See Upload a custom server build to GameLift.

    • Design a fleet configuration for your game. Decide, for example, the type of computing resources to use, which regions to deploy to, whether to use queues, and other options. See GameLift Fleet Design Guide.

    • Create fleets and deploy them with your custom game server. Once a fleet is active, it is ready to host game sessions and accept players. See Setting up GameLift fleets.

    • 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 GameLift Fleet Design Guide. See also how to Accessing GameLift fleet instances remotely.

    • Create a queue 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 Scaling GameLift fleet capacity.

    • (optional) Set up a FlexMatch matchmaker with a set of custom matchmaking rules for your game. Learn more in FlexMatch Integration Roadmap.

    Note

    Once you've created your queues, you'll need to update your client service to use the correct queue ID when requestion game session placements and/or matchmaking.

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.