Skip to content

Core Concepts

This page defines the fundamental building blocks of the Gameye platform. Understanding these terms makes the API reference and Admin Panel documentation easier to follow.

An application is the top-level entity in Gameye. It maps to your game server image and its configuration — resource profile, regions, port bindings, and image tags. You create applications in the Admin Panel and reference them by name in API calls via the image field.

Think of an application as the definition of your game server. Sessions are running instances of it.

A session is a running container instance derived from your application’s Docker image. Sessions have a defined lifecycle:

  1. Started — container is allocated and spun up in the target region
  2. Running — players connect and the match is in progress
  3. Stopped — terminated manually, by TTL expiry, or by the restart policy

Each session returns a unique ID, an IP address, and port bindings. Billing accrues while a session is running and stops at termination.

A region is a named geographic zone where Gameye has infrastructure. You specify a region by name when starting a session (e.g. europe, us-east). Region names are stable; the individual node locations within a region may change as Gameye manages its infrastructure.

Gameye maintains redundancy within each region — if one provider has an issue, sessions are placed on an alternative automatically. See Available Locations for how to query which regions have your image ready.

A resource profile defines guaranteed CPU and memory allocation for containers running under an application. Gameye does not oversubscribe resources — what you configure in a resource profile is what your container receives, regardless of what other sessions are running on the same node.

Resource profiles are configured per application in the Admin Panel.

A TTL is a maximum container lifetime set at session start time, specified in seconds. When the TTL expires, Gameye force-terminates the container and billing stops.

{
"location": "europe",
"image": "your-game-server",
"ttl": 3600
}

TTL is the recommended way to control costs in development and testing environments, where sessions may otherwise run indefinitely if not explicitly stopped. For production sessions, use either TTL or an explicit DELETE /session call when the match ends.

Labels are arbitrary key-value metadata you attach to a session at start time. They are stored in the session configuration and can be used to identify, filter, or group sessions in your own systems.

{
"location": "europe",
"image": "your-game-server",
"labels": {
"matchId": "abc123",
"gameMode": "ranked",
"lobbyId": "lobby-456"
}
}

Labels are not interpreted by Gameye — they are passed through and returned as-is when you query session state. Use them to correlate Gameye sessions with records in your own backend.