The table below contains a list of the SDK methods related to capacity management and game server reporting. These methods are available via the MatchApi.
Call
description
RequestStartGame
Request game start data for a game instance. Use this method to start a game when Pragma does not manage your game server capacity.
ReportFreedCapacity
Reports to Pragma Engine that the game server has freed up a unit of game instance capacity
StartReportCapacityPolling
Lets the platform know that the game server exists and begins to reports its capacity for hosting game instances
UpdateMaxGameInstanceCount
Allows a game server to reconfigure its max game instance count after report capacity polling has started
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
config
description
id
Unique ID for this server capacity pool management policy
gameCapacityPerServer
Maximum number of game instances that can run on a single game server. Value must be at least 1.
capacityFloor
Minimum game capacity allocated at all times
capacityCeiling
Maximum game capacity allocated at all times
capacityBuffer
Preferred available game capacity defined as a percentage of used game capacity
serverMaxStartDurationMillis
Maximum duration, in milliseconds, a game server can take to start before the allocation is declared failed
serverHeartbeatPeriodMillis
Millisecond interval at which a game server should report its capacity
serverHeartbeatExpiryFactor
Number of heartbeats that can be missed before a game server is considered unresponsive
gameCapacityResolvedTimeoutMillis
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.)
ExtServerPool
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.)
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.
Pragma error
OnKeepAliveFailed
The platform fails to process a keep alive request
game instance ID, Pragma error
OnGameInstanceTerminated
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.
We use cookies to analyze our traffic. We also share information about your use of our site with our analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.