The ServerPoolManagementPolicyConfig configuration block provides a place to define values for server pool management policies. The following configuration values are available in the game: serviceConfigs: FleetServiceConfig: serverPoolManagementPolicies: block
Unique ID for this server capacity pool management policy
Maximum number of game instances that can run on a single game server. Value must be at least 1.
Minimum game capacity allocated at all times
Maximum game capacity allocated at all times
Preferred available game capacity defined as a percentage of used game capacity
Maximum duration, in milliseconds, a game server can take to start before the allocation is declared failed
Millisecond interval at which a game server should report its capacity
Number of heartbeats that can be missed before a game server is considered unresponsive
Maximum duration, in milliseconds, the platform will wait for capacity to resolve for a game instance before ejecting it
Consider what capacityFloor and capacityCeiling values are appropriate for your environment. Setting these values too low or too high can lead to undesirable game instance load.
Data to assist in game server allocation. Populated by GameInstanceHostPlugin.findHostForGameInstance and used in the Fleet service to determine which server pool to assign for the game instance. Example value: game mode (3v3, 1v1, etc.) or game version (beta, trial, etc.)
Populated by the Fleet Plugin selectServerPool method and used when allocating game servers. Example value: game mode (3v3, tutorial, etc.) or game version (0.4, 0.5, etc.)
The following events are related to capacity management and game server reporting.
A game instance is started. The game server receives game instance data on this event.
An error occurs while attempting to start a game instance. The game server will not continue reporting capacity or receiving new game instances until StartReportCapacityPolling is called again.
The platform fails to process a keep alive request
The platform decides to terminate an in progress game instance. An example of this firing is when a game instance has failed to heartbeat due to connection issues to the platform. Calling EndGame will not cause this event to fire.