Skip to main content

Config injection

Last updated on October 24, 2024

Introduction

You can use config injection in AccelByte Gaming Services (AGS) to override the SDK and OAuth Config at the game execution call. It supports multiple override commands.

note

When overriding the config, it will not modify the SDK config file value. It only overrides the value that is declared in the override commands and preserves the other config value.

Override commands

To inject the SDK and OAuth config, use the -AB<Config_Name> <Config_Value> command, as in the following example:

Set the commands as a command-line argument before executing the binary.

GameExecutable -ABIamServerUrl "https://dev.accelbyte.io/iam" -ABMatchmakingServerUrl "https://dev.accelbyte.io/matchmaking" -ABClientId "YourClientId" -ABClientSecret "YourClientSecret"

As of the release of AGS 3.78, you can also use an equals sign:

GameExecutable -ABIamServerUrl="https://dev.accelbyte.io/iam" -ABMatchmakingServerUrl="https://dev.accelbyte.io/matchmaking" -ABClientId="YourClientId" -ABClientSecret="YourClientSecret"

Config list

The list in this section is separated into common and engine-specific configs.

Available in all engines

All of these listed game clients and dedicated servers exist in the SDK for all engines.

NoNameTypeUsage
1NamespacestringThe game namespace
2PublisherNamespacestringThe studio or publisher namespace
3ClientIdstringThe ID for client OAuth config
4ClientSecretstringThe secret for client OAuth config
5BaseUrlstringThe base of service URL
6IamServerUrlstring
7PlatformServerUrlstring
8BasicServerUrlstring
9LobbyServerUrlstring
10CloudStorageServerUrlstring
11GameProfileServerUrlstring
12StatisticServerUrlstring
13QosManagerServerUrlstring
14AgreementServerUrlstring
15LeaderboardServerUrlstring
16CloudSaveServerUrlstring
17GameTelemetryServerUrlstring
18AchievementServerUrlstring
19UGCServerUrlstring
20ReportingServerUrlstring
21SeasonPassServerUrlstring
22SessionBrowserServerUrlstring
23SessionServerUrlstring
24MatchmakingV2ServerUrlstring
25GroupServerUrlstring
26ChatServerWsUrlstring
27ChatServerUrlstring
28GdprServerUrlstring
29AMSServerUrlstring
30RedirectURIstring
31AppIdstring
32UseTurnManagerbool
33TurnManagerServerUrlstring
34TurnServerHoststring
35TurnServerPortint
36TurnServerPasswordstring
37TurnServerSecretstring
38TurnServerUsernamestring
39PeerMonitorTimeoutMsint
40PeerMonitorIntervalMsint
41HostCheckTimeoutMsint
42EnablePreDefinedEventbool
43EnablePresenceBroadcastEventbool
44PresenceBroadcastEventIntervalint
45CustomerNamestring

Available in the Unreal SDK

The following are game client and dedicated server configs that are only available in the Unreal SDK.

NoNameType
1GameTelemetryCacheEnabledbool
2EnableAMSbool
3EnableHttpCachebool
4HttpCacheTypestring
5QosPingTimeoutint
6QosLatencyPollIntervalSecsint
7QosServerLatencyPollIntervalSecsint
8NonSeamlessTravelUseNewConnectionbool
9RequiresEncryptPacketsbool
10ConnectionIdleTimeoutint
11RequestConnectTimeoutint
12AutoLobbyConnectAfterLoginSuccessbool
13AutoChatConnectAfterLoginSuccessbool
14MultipleLocalUsersEnabledbool
15NativePlatformTokenRefreshManuallybool
16SecondaryPlatformNamestring
17EnableMatchTicketCheckbool
18MatchTicketCheckInitialDelayint
19MatchTicketCheckPollIntervalint
20EnableSessionInviteCheckPollingbool
21SessionInviteCheckPollInitialDelayint
22SessionInviteCheckPollIntervalint
23EnableSessionServerCheckPollingbool
24SessionServerCheckPollInitialDelayint
25SessionServerCheckPollIntervalint
26EnabledEncryptionbool
27Componentsstring

Available in the Unity SDK

The following are game client, dedicated server, and external configs that are only available in the Unity SDK.

NoNameType
1UsePlayerPrefsbool
2EnableDebugLogbool
3DebugLogFilterstring
4EnableAuthHandshakebool
5MaximumCacheSizeint
6MaximumCacheLifeTimeint
7PresenceBroadcastEventGameStateint
8PresenceBroadcastEventGameStateDescriptionstring
9EnableClientAnalyticsEventbool
10ClientAnalyticsEventIntervalfloat
11EnableAmsServerQosbool

Sample usage

This section lists a few scenarios in which you can use config injection.

Jump into another namespace

You can switch the namespace that your game currently points to. For instance, when you wish to test the build within the development namespace and later promote it to the stage namespace once the build is stable, you can accomplish this using config injection. This means you won't need to rebuild the game again.

Use the command applicable to your AGS account tier.

GameExecutable -ABNamespace "studionamespace-targetedgamenamespace" -ABClientId "YourClientId" -ABClientSecret "YourClientSecret"

As of the release of AGS 3.78, you can also use an equals sign:

GameExecutable -ABNamespace="studionamespace-targetedgamenamespace" -ABClientId="YourClientId" -ABClientSecret="YourClientSecret"

Jump into another environment

You also have the option to change the environment that your game currently references. This means transitioning from a namespace within the development environment to one in the stage environment, which might be designated for internal play test events or community play tests.

You can use this option in the following scenarios:

  • A config inject from an AGS Private Cloud environment to another AGS Private Cloud environment.
  • A config inject from an AGS Shared Cloud environment to an AGS Private Cloud environment and vice versa.
GameExecutable -ABNamespace "targetedgamenamespace" -ABPublisherNamespace "targetedpublishernamespace" -ABClientId "YourClientId" -ABClientSecret "YourClientSecret" -ABBaseUrl "https://cert.accelbyte.io"

As of the release of AGS 3.78, you can also use an equals sign:

GameExecutable -ABNamespace="targetedgamenamespace" -ABPublisherNamespace="targetedpublishernamespace" -ABClientId="YourClientId" -ABClientSecret="YourClientSecret" -ABBaseUrl="https://cert.accelbyte.io"