Fleet Service #

The Pragma Fleet service is designed for development environments and is not suitable for production. See the Game Servers section for information on how Pragma Engine interacts with game server hosts in production environments.

The Pragma Fleet service is responsible for processing game instance requests and coordinating with the game server provider to allocate game servers. Within this service, you can customize the Pragma Fleet plugin, which provides an abstract interface for defining a game server fleet management model, and allows developers to manage game server capacity for fulfilling game instance requests.

You can partition your game server fleet according to two facets: server pools and server pool management policies .

Server pools #

Server pools allow you to segment your fleet of game servers by common features, such as game server zone, game server version, and custom values such as game mode. Using server pools, the Fleet service can determine what server pool a given game instance should be associated with, ensuring the game instance finds an appropriate game server to run on.

Server pool implementation can be useful if you have game servers that each run only one type of game (e.g., one game server runs PvP casual, another runs PvP competitive). You could also use server pools to segment your servers by geographic region or expected workload.

Each game server maps to one server pool, which in turn maps to one server pool management policy to inherit general server pool settings. You can define additional custom data, such as game version, in an individual pool’s ExtServerPool payload to further inform the game server allocation process.

Server pool management policies #

Server pool management policies define capacity characteristics that you can apply to one or more pools of game servers. Server pool management policy configuration options include:

  • Number of games allowed to run on a single game server
  • Minimum and maximum game capacity allocated at all times
  • Maximum time a game server can take to start before allocation fails
  • Interval at which a game server should report its capacity
  • Number of reporting heartbeats that can be missed before allocation fails
  • Maximum time the platform will wait for capacity to resolve for a game instance before ejecting it