Game architecture with managed Amazon GameLift - Amazon GameLift
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Game architecture with managed Amazon GameLift

The following diagram illustrates the key components of a game architecture that's hosted using the managed Amazon GameLift solution.

Game architecture with managed Amazon GameLift.

The key components of this architecture include the following:

Game clients

To join a game hosted on Amazon GameLift, your game client must first find an available game session. The game client searches for existing game sessions, requests matchmaking, or starts a new game session by communicating with Amazon GameLift through a backend service. The backend service makes requests to Amazon GameLift, and in response, the service receives game session information, which it relays back to the game client. The game client then connects to the game server. For more information, see Preparing games for Amazon GameLift.

Backend services

A backend service handles communication between game clients and Amazon GameLift by calling the Amazon GameLift service API operations in the Amazon SDK. You can also use backend services for other game-specific tasks such as player authentication and authorization, inventory, or currency control. For more information, see Design your game client service.

External services

Your game can rely on an external service, such as for validating a subscription membership. An external service can pass information to your game servers through a backend service and Amazon GameLift.

Game servers

You upload your game server software to Amazon GameLift, and Amazon GameLift deploys it onto hosting machines to host game sessions and accept player connections. Game servers communicate with Amazon GameLift to start game sessions, validate newly connected players, and report the status of game sessions, player connections, and available resources.

Custom game servers communicate with Amazon GameLift by using the Amazon GameLift Server SDK. Game clients connect directly to a game server after receiving connection details from Amazon GameLift through a backend service. For more information, see Integrate games with custom game servers.

Realtime servers are game servers that run your custom script. When joining a game, a game client connects directly to a Realtime server using the Realtime Client SDK. For more information, see Integrating games with Amazon GameLift Realtime Servers.

Host management tools

When setting up and managing hosting resources, game owners use hosting management tools to manage game server builds or scripts, fleets, matchmaking, and queues. The Amazon GameLift tool set in the Amazon SDK and the console provides multiple ways for you to manage your hosting resources. You can remotely access any individual game server for troubleshooting.