Configuration Options #

Core Config #

pragma.config.CoreConfig #

  • Node-wide configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    clusterNamethe name of this clusterStringmin: 1
    nodeNamethe name of this node, to be used as value in nodeByInstanceId of distributedServicesStringmin: 0
    openTelemetryServiceNameservice name for open telemetry tracingStringmin: 0
    logginglogging (logback) configurationObject of type LoggingConfigLoggingConfig
    sessionsession configurationObject of type SessionConfigSessionConfig
    portalUrlhostname of the portalStringmin: 0
    enableHistogramMetricsenables histograms for metrics, uses a large number of tags per metricBooleanoptions: true, false
    enableKtorMetricsenables standard ktor metrics for HTTP requestBooleanoptions: true, false
    startupTimeoutMillismaximum milliseconds to wait during startup before forcibly exitingLongmin: 0, max: 9223372036854775807
    shutdownTimeoutMillismaximum milliseconds to wait during shutdown before forcibly exitingLongmin: 0, max: 9223372036854775807
    gatewayManagerenabling/disabling gatewaysObject of type GatewayManagerConfigGatewayManagerConfig
    distributedServicesmap of services and node they run onMap of DistributedServiceConfigDistributedServiceConfig
    remoteNodeConfigsmap of remote node names to their host:portMap of RemoteNodeConfigRemoteNodeConfig
    nettyPendingTasksCheckPeriodMillisdetermines how often to check pending tasks and emit a metricLongmin: -9223372036854775808, max: 9223372036854775807
    allowWorkInProgressAccessallows access to methods that are works in progressBooleanoptions: true, false
    enableVersionWithBuildSlugadds build slug info to version outputBooleanoptions: true, false
    shardIdThe unique uuid of this shardUUIDv4

pragma.config.LoggingConfig #

  • Logback configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    rootLoggerLevellevel of the root loggerEnum LogLevelallowed values: OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL
    logFormatdefault log formatStringmin: 0
    consoleLoggerEnabledenable logging to stdout/stderrBooleanoptions: true, false
    fileLoggerEnabledenable logging to fileBooleanoptions: true, false
    fileLoggerCurrentFilenamefile name (including path) to use for logsStringmin: 0
    fileLoggerRolledFilenamefile name (including path) to use for rotated logsStringmin: 0
    fileLoggerRolledTotalSizeCapsize cap of all rolled compressed log filesStringmin: 0
    loggerslogback log level per loggerMap of Enum LogLevelallowed values: OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL
    logLayouttype of layout to logEnum LogLayoutallowed values: TEXT, JSON

pragma.session.SessionConfig #

  • Session configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    httpExpirySecondsexpiry length for HTTP sessions, expiration deadline is refreshed on each use of an existing sessionLongmin: -9223372036854775808, max: 9223372036854775807

pragma.config.GatewayManagerConfig #

  • Available gateways on this node.
  • type: Object
    fielddescriptiontypevalues/restrictions
    playerwhether the player gateway is enabled on this nodeBooleanoptions: true, false
    operatorwhether the operator gateway is enabled on this nodeBooleanoptions: true, false
    partnerwhether the partner gateway is enabled on this nodeBooleanoptions: true, false

pragma.config.DistributedServiceConfig #

  • Distributed services configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    nodeByInstanceIdmap of instances of distributed services and the node they are running onMap of StringminLength: 0

pragma.config.RemoteNodeConfig #

  • Individual PragmaNodes and their gateway ports configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    hostthe host that the node is running onStringmin: 0
    portthe port that the remote node is listening onIntmin: -2147483648, max: 2147483647

Service Configs #

pragma.gamedata.GameDataServiceConfig #

  • GameDataService configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    waitForMatchEndEventTimeoutMillistime to wait to aggregate player match end events before sending the partial payloadLongmin: -9223372036854775808, max: 9223372036854775807
    loginDataCollectionTimeouttime to wait to aggregate login dataLongmin: -9223372036854775808, max: 9223372036854775807

pragma.gateway.SocialPlayerGatewayConfig #

  • Social Player gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536

pragma.auth.TokenSignerConfig #

  • Token Signer configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    partnerExpirationHourslength of time the partner token is valid for (hours)Longmin: -9223372036854775808, max: 9223372036854775807
    operatorExpirationMinuteslength of time the operator token is valid for (minutes)Longmin: -9223372036854775808, max: 9223372036854775807
    emailTokenExpirationMinuteslength of time the email validation token is valid for (minutes)Longmin: -9223372036854775808, max: 9223372036854775807
    playerTokenExpirationMinuteslength of time the player token is valid for (minutes)Doublemin: 4.9E-324, max: 1.7976931348623157E308
    playerTokenRefreshMinutestime before the player token expires that we tell clients to refreshLongmin: -9223372036854775808, max: 9223372036854775807
    playerTokenRefreshVarianceWindowMinutesvariance in refresh time to smooth the refresh load over timeLongmin: -9223372036854775808, max: 9223372036854775807
    jwtPrivateKeyprivate key used to signed JWTsEncryptedStringmin: 1

pragma.account.config.GameDaoConfig #

  • GameDaoNodeService configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigdatabase config for the game daoObject of type UnpartitionedDatabaseConfigUnpartitionedDatabaseConfig

demo.echo.EchoServiceConfig #

  • Echo service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions

pragma.auth.TokenDecoderConfig #

  • Token validator service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    jwtPublicKeyJWT used to validateStringmin: 1

pragma.inventory.InventoryServiceConfig #

  • Inventory service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    enableDeleteAllInventorywhether to allow making a cache/db delete callBooleanoptions: true, false
    enableDeletePlayerInventorywhether to allow players to delete their inventoryBooleanoptions: true, false
    legacyItemLoadBehavioron item retrieval do not filter out items with invalid catalogIdBooleanoptions: true, false
    contentAccessByTagscontent filtering on player endpoints by tagsObject of type ContentAccessByTagsConfigContentAccessByTagsConfig
    inventoryCacheConfigConfig for inventory data cache.Object of type InventoryCacheConfigInventoryCacheConfig

pragma.account.AccountServiceConfig #

  • Account service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    gameManagementPollingFrequencyInMillisfrequency with which Account service checks for updated game management dataLongmin: -9223372036854775808, max: 9223372036854775807
    verificationEmailEndpointURL to send the verification email requests to, which is passed into the email sender plugin when templating your emailStringmin: 0

pragma.inventory.InventoryDaoConfig #

  • InventoryDaoConfig configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigdatabase config for the inventory daoObject of type PartitionedDatabaseConfigPartitionedDatabaseConfig

pragma.gateway.GameOperatorGatewayConfig #

  • Game Operator gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    loginQueueHostlogin queue host advertised to clientsStringmin: 0
    loginQueuePortlogin queue port advertised to clientsIntmin: 1, max: 65536
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536
    gameHostgame backend host advertised to clientsStringmin: 0
    gamePortgame backend port advertised to clientsIntmin: 1, max: 65536
    gameBindPortgame backend port the backend binds to (if 0, defaults to gamePort)Intmin: 0, max: 65536
    sdkCoreEnabledtemporary feature toggle for Core SDK until it is stableBooleanoptions: true, false

pragma.account.config.AccountDaoConfig #

  • AccountDaoNode service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigdatabase config for the account daoObject of type UnpartitionedDatabaseConfigUnpartitionedDatabaseConfig

pragma.payment.PaymentDaoConfig #

  • Configuration for the PaymentDaoNodeService
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigthe database config for the payment daoObject of type PartitionedDatabaseConfigPartitionedDatabaseConfig

pragma.gateway.SocialOperatorGatewayConfig #

  • Social Operator gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536

pragma.matchlifecycle.MatchLifecycleServiceConfig #

  • Configuration for the Match Lifecycle Service
  • type: Object
    fielddescriptiontypevalues/restrictions
    createMatchTimeoutMilliseconds to wait for a game server to send a match ready request before releasing the players attached to the match.Longmin: -9223372036854775808, max: 9223372036854775807
    matchEndTimeoutMilliseconds to wait to gather match end data to be sent on the match end notification to the players from the match.Longmin: -9223372036854775808, max: 9223372036854775807
    enableMatchAbsoluteTimeoutEnables the match absolute timeout that will end a match after a specific amount of time has elapsed.Booleanoptions: true, false
    matchAbsoluteTimeoutMillisMilliseconds to wait before ending a match. 0 or negative values means matches will never timeout. Will be ignored if enableMatchAbsoluteTimeout is false.Longmin: -9223372036854775808, max: 9223372036854775807
    enableKeepAliveEnables the match keep alive loop requiring game servers to send a keep alive request in a specified interval or else the match will be ended.Booleanoptions: true, false
    keepAliveIntervalMillisMilliseconds to wait between keep alive requests. This interval gets passed to the game server. Will be ignored if enableKeepAlive is false.Longmin: -9223372036854775808, max: 9223372036854775807
    keepAliveMissesLimitNumber of keep alive request misses before ending the match. Will be ignored if enableKeepAlive is false.Longmin: -9223372036854775808, max: 9223372036854775807
    enableMatchReconnectenables the match reconnect flowBooleanoptions: true, false
    matchReconnectSet match reconnect to required, optional, or off to determine a player client flow when recovering from an unexpected disconnect during a matchEnum MatchReconnectOptionallowed values: OFF, REQUIRED, OPTIONAL

pragma.telemetry.db.TelemetryDaoConfig #

  • DbTelemetryDao configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigdatabase config for the game daoObject of type UnpartitionedDatabaseConfigUnpartitionedDatabaseConfig

pragma.matchcapacity.MatchCapacityServiceConfig #

  • Match Capacity service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    matchCapacityConfigvalues controlling match capacityObject of type MatchCapacityConfigMatchCapacityConfig

pragma.telemetry.TelemetryServiceConfig #

  • The Telemetry service collects events and forwards them to a configured data store.
  • type: Object
    fielddescriptiontypevalues/restrictions

pragma.gateway.GamePartnerGatewayConfig #

  • Game Partner gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    loginQueueHostlogin queue host advertised to clientsStringmin: 0
    loginQueuePortlogin queue port advertised to clientsIntmin: 1, max: 65536
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536
    gameHostgame backend host advertised to clientsStringmin: 0
    gamePortgame backend port advertised to clientsIntmin: 1, max: 65536
    gameBindPortgame backend port the backend binds to (if 0, defaults to gamePort)Intmin: 0, max: 65536
    sdkCoreEnabledtemporary feature toggle for Core SDK until it is stableBooleanoptions: true, false

pragma.matchmaking.MatchmakingConfig #

  • Matchmaking service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    matchmakingDelayMillisdelay between matchmaking runsLongmin: -9223372036854775808, max: 9223372036854775807
    enableGetMatchmakingInfoenables the player-facing endpoint to retrieve operational info about the matchmaking serviceBooleanoptions: true, false

pragma.account.config.UnsafeIdentityDaoConfig #

  • UnsafeIdentityDaoNode service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    databaseConfigdatabase config for the unsafe identity providerObject of type UnpartitionedDatabaseConfigUnpartitionedDatabaseConfig
    canAuthenticatecan be used to authenticate playersBooleanoptions: true, false
    canFederatecan be used to federate playersBooleanoptions: true, false

pragma.SocialBackendPartnerClientConfig #

  • Partner client configuration used to communicate with a Pragma Social backend from a Game backend.
  • type: Object
    fielddescriptiontypevalues/restrictions
    bearerTokenThe bearer token to use when making partner calls to the social backendEncryptedStringmin: 0

pragma.payment.PaymentServiceConfig #

  • Configuration for the PaymentService
  • type: Object
    fielddescriptiontypevalues/restrictions

pragma.gateway.BackendGatewayConfig #

  • Backend gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    portport utilized for service-to-service communicationIntmin: -2147483648, max: 2147483647

pragma.gateway.GamePlayerGatewayConfig #

  • Game Player gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    loginQueueHostlogin queue host advertised to clientsStringmin: 0
    loginQueuePortlogin queue port advertised to clientsIntmin: 1, max: 65536
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536
    gameHostgame backend host advertised to clientsStringmin: 0
    gamePortgame backend port advertised to clientsIntmin: 1, max: 65536
    gameBindPortgame backend port the backend binds to (if 0, defaults to gamePort)Intmin: 0, max: 65536
    sdkCoreEnabledtemporary feature toggle for Core SDK until it is stableBooleanoptions: true, false

pragma.party.PartyConfig #

  • Party service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    maxPlayersPerPartymaximum players allowed in each partyIntmin: -2147483648, max: 2147483647
    disableMaxPlayerCountwhether to disable maximum player count limits in each partyBooleanoptions: true, false
    enableLocalGameServerVersionswhether to allow local game clients to override their game server version for local development purposesBooleanoptions: true, false
    repeatInviteDelaySecondsdefines the delay between a player inviting another player consecutive timesIntmin: -2147483648, max: 2147483647
    inventoryTagsToIncludetags used to filter player inventories, and items that match one or more tags will be includedMap of StringminLength: 0
    enableTransferPartyLeaderwhether to transfer party leader status from one to another when invoking AssignPartyLeaderV1Booleanoptions: true, false

pragma.gateway.SocialPartnerGatewayConfig #

  • Social Partner gateway configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    protocolprotocol of the host/portStringmin: 0
    webSocketProtocolprotocol of the WebSocket host/portStringmin: 0
    authenticateHostauthentication backend hostStringmin: 0
    authenticatePortauthentication backend portIntmin: 1, max: 65536
    loginQueueEnabledfeature toggle for login queueBooleanoptions: true, false
    socialHostsocial backend host advertised to clientsStringmin: 0
    socialPortsocial backend port advertised to clientsIntmin: 1, max: 65536
    socialBindPortsocial backend port the backend binds to (if 0, defaults to socialPort)Intmin: 0, max: 65536

pragma.databases.UnpartitionedDatabaseConfig #

  • Standard Pragma Engine database connection configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    driverwhich driver to use, default: MYSQLDBEnum DatabaseDriverallowed values: MYSQLDB
    usernameusername to useStringmin: 1
    passwordpassword to useEncryptedStringmin: 0
    hikariConnectionTimeoutMillisconnection timeout in millis for Hikari connection pool, default: 20,000msLongmin: -9223372036854775808, max: 9223372036854775807
    hikariMinimumIdleConnectionsminimum number of connections to hold open for Hikari connection pool, default: 0Intmin: -2147483648, max: 2147483647
    hikariConfigMaximumPoolSizemaximum connection pool size for Hikari connection pool, default: 10Intmin: -2147483648, max: 2147483647
    hikariConfigIdleTimeoutMillisidle timeout in millis for Hikari connection pool, default: 300,000msLongmin: -9223372036854775808, max: 9223372036854775807
    dynamicShardingSupportenables virtual nodes and sharding support, default:falseBooleanoptions: true, false
    hostPortSchemaschemaStringmin: 0

pragma.inventory.ContentAccessByTagsConfig #

  • Content filtering configuration on player endpoints by tags.
  • type: Object
    fielddescriptiontypevalues/restrictions
    hiddencontent filtering configuration on player endpoints by tags.Map of StringminLength: 0

pragma.inventory.InventoryCacheConfig #

  • Config for inventory data cache.
  • type: Object
    fielddescriptiontypevalues/restrictions
    maxTimeBetweenAccessMillisIf an entry has not been accessed in this amount of time, it is a candidate for removal in the next eviction sweep.Longmin: -9223372036854775808, max: 9223372036854775807
    sizeBeforeExpirationEnforcedSize of cache before eviction sweeping will start removing entries.Intmin: -2147483648, max: 2147483647
    sweepIntervalMillisTime in millis between calling sweep for the cache.Longmin: -9223372036854775808, max: 9223372036854775807

pragma.databases.PartitionedDatabaseConfig #

  • Standard Pragma Engine database connection configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    driverwhich driver to use, default: MYSQLDBEnum DatabaseDriverallowed values: MYSQLDB
    usernameusername to useStringmin: 1
    passwordpassword to useEncryptedStringmin: 0
    hikariConnectionTimeoutMillisconnection timeout in millis for Hikari connection pool, default: 20,000msLongmin: -9223372036854775808, max: 9223372036854775807
    hikariMinimumIdleConnectionsminimum number of connections to hold open for Hikari connection pool, default: 0Intmin: -2147483648, max: 2147483647
    hikariConfigMaximumPoolSizemaximum connection pool size for Hikari connection pool, default: 10Intmin: -2147483648, max: 2147483647
    hikariConfigIdleTimeoutMillisidle timeout in millis for Hikari connection pool, default: 300,000msLongmin: -9223372036854775808, max: 9223372036854775807
    dynamicShardingSupportenables virtual nodes and sharding support, default:falseBooleanoptions: true, false
    columnNameOfPropertyToConsistentHashproperty to shard by (ie playerId)Stringmin: 0
    hostPortSchemasschemas by indexMap of StringminLength: 0

pragma.matchcapacity.MatchCapacityConfig #

  • Match Capacity service requirement configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    floorempty system minimum match capacityIntmin: -2147483648, max: 2147483647
    ceilingabsolute maximum number of matchesIntmin: -2147483648, max: 2147483647
    headroomPercentdesired available capacity defined by % of existing matchesIntmin: -2147483648, max: 2147483647
    serverMaxStartDurationMillismaximum duration, in milliseconds, a game server can take to start before the allocation is declared failedLongmin: -9223372036854775808, max: 9223372036854775807
    serverHeartbeatPeriodMillisexpected heartbeat period a game server should report its stateLongmin: -9223372036854775808, max: 9223372036854775807
    serverHeartbeatExpiryFactornumber as a float of heartbeats before a game server is considered timed outDoublemin: 4.9E-324, max: 1.7976931348623157E308
    matchReadyTimeoutMillismaximum duration, in milliseconds, the platform will wait for a MatchReady call for a specific match before tearing down the matchLongmin: -9223372036854775808, max: 9223372036854775807

Plugin Configs #

pragma.inventory.SteamEntitlementConfig #

  • Steam entitlement provider plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    appConfigSteam app config for entitlement processingObject of type SteamAppConfigSteamAppConfig

demo.account.FakeAuthIdentityProviderPlugin$Config #

  • Fake Auth Identity Provider plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    identityProviderThe enum that this id provider is fakingEnum IdProviderallowed values: UNUSED, UNSAFE, EPIC, DISCORD, STEAM, EMAIL, GOOGLE, PLAYSTATION, TWITCH, CUSTOM, UNRECOGNIZED

pragma.gateway.FilePortalModulePlugin$Config #

  • File Portal Router plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    portalSourcepath to portal resource filesStringmin: 0
    modulesmodules enabled for the portalMap of StringminLength: 0
    defaultModulefirst module loaded when the portal is openedStringmin: 0
    discordClientIdclient id for Discord authenticationStringmin: 0
    googleClientIdclient id for Google authenticationStringmin: 0
    twitchClientIdclient id for Twitch authenticationStringmin: 0
    authenticationIdProvidersid providers enabled for portal loginMap of Enum IdProviderallowed values: UNUSED, UNSAFE, EPIC, DISCORD, STEAM, EMAIL, GOOGLE, PLAYSTATION, TWITCH, CUSTOM, UNRECOGNIZED
    redirectSignInToSocialcan be used to disable the social sign-in redirectBooleanoptions: true, false

pragma.gateway.ResourcePortalModulePlugin$Config #

  • Resource Portal Router plugin configuration
  • type: Object
    fielddescriptiontypevalues/restrictions
    basePackageresource package for portal filesStringmin: 0
    modulesmodules enabled for the portalMap of StringminLength: 0
    defaultModulefirst module loaded when the portal is openedStringmin: 0
    discordClientIdclient id for Discord authenticationStringmin: 0
    authenticationIdProvidersid providers enabled for portal loginMap of Enum IdProviderallowed values: UNUSED, UNSAFE, EPIC, DISCORD, STEAM, EMAIL, GOOGLE, PLAYSTATION, TWITCH, CUSTOM, UNRECOGNIZED
    redirectSignInToSocialcan be used to disable the social sign-in redirectBooleanoptions: true, false

pragma.matchmaking.FreeForAllWarmBodyMatchmakingStrategy$Config #

  • FreeForAllWarmBodyMatchmakingStrategy configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    numberOfPlayersnumber of players in the FFA matchIntmin: 1, max: 2147483647

pragma.config.EmptyPluginConfig #

  • Empty plugin config for configless plugins.
  • type: Object
    fielddescriptiontypevalues/restrictions

pragma.account.config.TwitchIdProviderConfig #

  • Twitch Id Provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    clientSecretyour app’s secret key (provided by Twitch)EncryptedStringmin: 0
    clientIdyour app’s id (provided by Twitch)Stringmin: 0
    redirectUriyour app’s redirect URI, as defined with TwitchStringmin: 0

pragma.payment.steam.SteamPaymentConfig #

  • Steam payment plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    appConfigSteam app config for payment processingObject of type SteamAppConfigSteamAppConfig
    defaultCurrencyCodethe default currency code to use when a player’s configured currency is not configured for a product entry.Enum CurrencyCodeallowed values: UNUSED_CURRENCY, USD, EUR, CAD, AED, ARS, AUD, BRL, CHF, CLP, CNY, COP, CRC, GBP, HKD, ILS, IDR, INR, JPY, KRW, KWD, KZT, MXN, MYR, NOK, NZD, PEN, PHP, PLN, QAR, RUB, SAR, SGD, THB, TRY, TWD, UAH, UYU, VND, ZAR, UNRECOGNIZED

demo.matchcapacity.SkeletonCapacityProvider$Config #

  • Generic skeleton match capacity provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    loadTestClienttype of client to use for making game launch requests, localhost loadtest only or remote capable [truefalse]Boolean
    capacityPerServeramount of matches a server can run concurrentlyIntmin: -2147483648, max: 2147483647
    startProcessCommandStrategyClass.JvmName of the start process command implementation classStringmin: 0
    matchLaunchertype of match launcher [demo.matchcapacity.LocalMatchLauncherdemo.matchcapacity.ForkProcessMatchLauncherString
    partnerConnectionInfoPragma Engine partner connection info for games to report their existenceObject of type PartnerConnectionInfoConfigPartnerConnectionInfoConfig
    clientInitialHeartbeatPeriodMillisheartbeat period used when the server has not yet respondedLongmin: -9223372036854775808, max: 9223372036854775807

pragma.party.DefaultGameServerCompatibilityPlugin$Config #

  • Pragma Engine Nomad match capacity provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    gameServerVersionhardcoded game server version to return, default value: GameServerVersion1Stringmin: 0

pragma.account.config.EmailIdProviderConfig #

  • Email Id Provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    privateKeyan encrypted private key used for encrypting emails in Pragma Engine’s databaseEncryptedStringmin: 0

pragma.account.SendInBlueEmailSenderPlugin$SendInBlueEmailSenderConfig #

  • EmailSender plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    providerAPIKeythe API key that will enable you to send emails with your providerEncryptedStringmin: 0
    apiUrlbase URL for the provider API to interact withStringmin: 0
    routethe HTTP route for the providerStringmin: 0
    verificationTemplateIdid of the email template to sendStringmin: 0
    fromEmailverified email address associated with the account in sendinblue that this email will be sent fromStringmin: 0
    fromNamename displayedStringmin: 0

pragma.metrics.StatsdRegistryProvider$Config #

  • Statsd metrics registry provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    flavorflavor of statsdEnum StatsdFlavorallowed values: ETSY, DATADOG, TELEGRAF, SYSDIG
    hosthost to send statsStringmin: 0
    portport to send statsIntmin: -2147483648, max: 2147483647
    protocolprotocol to send statsEnum StatsdProtocolallowed values: UDP, TCP
    maxPacketLengthmax packet length to send statsIntmin: -2147483648, max: 2147483647
    pollingFrequencySecondspolling frequency to send statsIntmin: -2147483648, max: 2147483647
    stepSecondsstep size to compute windowed statisticsIntmin: -2147483648, max: 2147483647
    publishUnchangedMeterswhether to publish unchanged metersBooleanoptions: true, false
    bufferedwhether to buffer metrics sentBooleanoptions: true, false

pragma.matchcapacity.MultiplayCapacityProvider$Config #

  • MultiplayClientNode service configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    capacityPerServeramount of matches a server can run concurrentlyIntmin: -2147483648, max: 2147483647
    regionIdregionId for Multiplay API callsStringmin: 0
    fleetIdfleetId for Multiplay API callsStringmin: 0
    profileIdprofileId for Multiplay API callsStringmin: 0
    projectGuidproject guid for Multiplay API callsStringmin: 0
    accessKeyClanforge Access Key for signing REST API calls to MultiplayStringmin: 0
    secretAccessKeyClanforge Secret Access Key for signing REST API calls to MultiplayEncryptedStringmin: 0
    useAllocateV2feature toggle to enable using Multiplay AllocateV2Booleanoptions: true, false
    pragmaGamePartnerBackendAddresstells the Multiplay game server where the Pragma Game Partner gateway is, and is only used when AllocateV2 is enabledStringmin: 0
    gameServerZoneToMultiplayRegionIdmap of gameServerZone to Multiplay region idMap of StringminLength: 0

pragma.matchmaking.CooperativeWarmBodyMatchmakingStrategy$Config #

  • CooperativeWarmBodyMatchmakingStrategy configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    numberOfPlayersnumber of players in the cooperative matchIntmin: 1, max: 2147483647

pragma.metrics.DatadogRegistryProvider$Config #

  • Datadog metrics registry provider configuration
  • type: Object
    fielddescriptiontypevalues/restrictions
    apiKeyDatadog API keyEncryptedStringmin: 0
    applicationKeyDatadog application keyEncryptedStringmin: 0
    descriptionswhether to send descriptions metadataBooleanoptions: true, false
    hostTaghost tag when shipping metricsStringmin: 0
    uriURI to ship metrics toStringmin: 0

pragma.inventory.TwitchDropsEntitlementConfig #

  • Twitch Drop entitlement provider plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    clientIdID of your client in the Twitch Dev PortalStringmin: 0
    clientSecretSecret of your client in the Twitch Dev PortalEncryptedStringmin: 0
    gameIdThe game ID associated with the drops to syncStringmin: 0

pragma.matchcapacity.PragmaNomadCapacityProvider$Config #

pragma.account.config.DiscordIdProviderConfig #

  • Discord Id Provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    clientSecretyour app’s secret key (provided by Discord)EncryptedStringmin: 0
    clientIdyour app’s id (provided by Discord)Stringmin: 0
    guildIdyour guild id, also known as server idStringmin: 0
    redirectUriyour app’s redirect URI, as defined with DiscordStringmin: 0
    botTokenbot token associated with your Discord Server’s botEncryptedStringmin: 0
    authorizedRoleIdsset of guild role ids that provide access to Pragma Engine social backendMap of StringminLength: 0

pragma.shared.SteamAppConfig #

  • Steam application configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    steamWebAPIKeyyour app’s secret web API key (provided by Steam)EncryptedStringmin: 0
    appIdyour app’s id (provided by Steam)Stringmin: 0

pragma.matchcapacity.LocalProcessCapacityProvider$Config #

  • Generic Local Process match capacity provider configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    processCommandfull command line including parameters run the processMap of StringminLength: 0
    serverIdParamname of the command line param to append with the allocated server idStringmin: 0
    logPathParamname of the command line param to append with the program log path, and this will result in a file inside logOutputPathStringmin: 0
    logOutputPathpath to a folder where to redirect log outputStringmin: 0
    maximumLocalServersmaximum number of local servers this provider can supportIntmin: -2147483648, max: 2147483647
    portParamname of the command line param to append with the allocated host port valueStringmin: 0
    gameServerZoneParamname of the command line param to append with the game server zoneStringmin: 0
    minPortminimum value of the game server host portIntmin: -2147483648, max: 2147483647
    maxPortmaximum value of the game server host portIntmin: -2147483648, max: 2147483647

pragma.party.OrderedGameServerCompatibilityPlugin$Config #

  • OrderedGameServerCompatibility plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    versionCompatibilitymap of all the server versions to compatible game client versionsMap of VersionCompatibilityVersionCompatibility

pragma.inventory.EpicEntitlementConfig #

  • Epic entitlement provider plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    sandboxIdID of the sandbox to operate onStringmin: 0
    deploymentIdID of the corresponding deployment in the Epic Dev PortalStringmin: 0
    clientIdID of your client in the Epic Dev PortalStringmin: 0
    clientSecretSecret of your client in the Epic Dev PortalEncryptedStringmin: 0

demo.matchlifecycle.GameFlowMatchFoundPlugin$Config #

  • GameFlowMatchFoundPlugin plugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    matchDurationMillisthe duration of match in millisecondsLongmin: -9223372036854775808, max: 9223372036854775807

pragma.matchmaking.WarmBodyMatchmakingPlugin$Config #

  • WarmBodyMatchmakingPlugin configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    numberOfTeamsnumber of teams required for the matchIntmin: 1, max: 2147483647
    playersPerTeamnumber of players required for each teamIntmin: 1, max: 2147483647

pragma.shared.SteamAppConfig #

  • Steam application configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    steamWebAPIKeyyour app’s secret web API key (provided by Steam)EncryptedStringmin: 0
    appIdyour app’s id (provided by Steam)Stringmin: 0

pragma.matchcapacity.PartnerConnectionInfoConfig #

  • Connection configuration for Pragma Partner endpoints.
  • type: Object
    fielddescriptiontypevalues/restrictions
    gameTokenauthentication token to the Pragma Engine Game platformEncryptedStringmin: 0
    socialTokenauthentication token to the Pragma Engine Social platformEncryptedStringmin: 0
    protocolPragma Engine partner protocol (http/https)Stringmin: 0
    hostPragma Engine partner host nameStringmin: 0
    portPragma Engine partner portIntmin: -2147483648, max: 2147483647

pragma.party.VersionCompatibility #

  • clientVersions to serverVersion support configuration.
  • type: Object
    fielddescriptiontypevalues/restrictions
    serverVersiongame server version string, must not be emptyStringmin: 0
    clientVersionsgame client versions supported by this server versionMap of StringminLength: 0