Amazon GameLift
Developer Guide (Version )

Game Architecture with Amazon GameLift

The diagram shown below illustrates the key components of an Amazon GameLift-hosted game architecture.

Game architecture with Amazon GameLift

Key components are described as follows.

Amazon GameLift service

The service deploys your game servers to a fleet of computing resources for hosting and controls fleet capacity as you direct. It responds to player demand by placing players into existing games or starting new game sessions, and executes matchmaking if enabled. It continually tracks the status of computing resources, game sessions, and players in order to manage game availability as player traffic fluctuates.

Game clients

Your game client interacts with Amazon GameLift through a backend game service to retrieve information on current game sessions, request new game sessions, and reserve player slots in games. Although technically a game client could communicate directly with the service, this is not best practice. The backend service relays connection details for a game session back to the game client, which the client uses to connect to the game server and join the game. The heavy green arrow represents the direct connection between game client and game server during gameplay.

Game services

Backend game services handle communication between game clients and the Amazon GameLift service, as well as additional tasks such as player authentication and authorization, team building and matchmaking, and inventory or currency control. For example, when a player wants to join a game, your game client might call an authentication service to first verify the player's identity, and only then send a player slot request to the Amazon GameLift service.

External services

Your game may rely on an external service, such as for validating a subscription membership. As shown in the architecture diagram, information from an external service can be passed to your game servers (via a game service and the Amazon GameLift service) without going through the game client.

Game servers

Your game server software is uploaded to Amazon GameLift and deployed onto hosting machines based on your configuration. You can tell Amazon GameLift to deploy one or multiple game servers in as many AWS regions as you need. Game servers communicate with the Amazon GameLift service to start new game sessions, validate newly connected players, and report on the status of game sessions, player connections, and available resources. Game clients connect directly to a game server after receiving connection details from the Amazon GameLift service.

Developer tools

The Amazon GameLift developer tool set provide multiple ways for you to configure your game hosting resources, scale capacity to player demand, and monitor the current status of resources, as well as track metrics on game server performance and game and player activity. In addition, you can remotely access any individual game server for troubleshooting.