Skip to content

Configuration

Ace! _SL/S edited this page Sep 3, 2026 · 12 revisions

Location

Configuration file will be created at ~/.config/SLSsteam/config.yaml (or ~/.var/app/com.valvesoftware.Steam/.config/SLSsteam/config.yaml for flatpak) automatically by SLSsteam if it does not exist.

Options

DisableFamilyShareLock: yes/no

This will disable any shared licenses from getting locked when someone starts using them. Works bi-directionaly, meaning that others can not lock licenses on your client nor will you lock any on theirs. Disabling the lock for others respects your UseWhitelist & AppIds setting, so no excluded AppIds will be affected.

UseWhitelist: yes/no

Enabling this will turn the AppIds setting into a whitelist mode instead of the default blacklist mode.

AppIds: List of positive numbers

This setting is used to control what Games & DLC SLSsteam will unlock. If you add a game's AppId here it'll ex-/include all it's children AppIds too.

AdditionalApps: List of positive numbers

This setting does almost the same as PlayNotOwnedGames. In addition it adds any AppId specified here to the list of your subscribed apps, which will make them visible in the Steam client. This can be used to unlock DLC on some games using Denuvo & bypass low violence checks.

DlcData: List of positive numbers, containing a map of positive numbers : string

This is only needed for a minority of games with more than 64 DLC which do not include an internal list of DLC to check for.

AppTokens: Map of positive number : positive number

Used to query an Apps product information from Steam. Mostly used to fix "invalid configuration" error.

CDKeys: Map of positive number : string

Legacy CD keys required by some games. Steam uses these to add them to the registry to verify a valid purchase in some games so specifying one here can help them run. If none are specified SLSsteam will make one up.

FakeOffline: List of positive numbers

Any AppId specified in this list will think Steam has no connection & is in offline mode. Useful for some games using Denuvo that want to reauthenticate when network connectivity exists.

FakeAppIds: Map of positive number : positive number

The first positive number is the AppId you want to replace with the second positive number. This can be used to play online in some games. You must not run two apps with the same FakeAppId. Doing so will most likely cause undefined behaviour, possibly breaking savegames, stats and more.

ManifestIds: Map of positive number: positive number

The first positive number is the DepotId you want to override the ManifestId with the second number. Can be used to download old game versions and also to lock owned games to a specific version.

DepotBlacklist: List of positive numbers

If you for some reason don't want steam to download a specific depot add it's Id here.

IdleStatus:

AppId: positive number
Title: "custom title"

Shows your account as playing the specified Game when no other games are running.

GameTitles: Map of positive number : string

Used to override owned game titles.

SubscriptionTimestamps: Map of positive number : positive number

Used to specify when exactly an AppId has been subscribed to. Probably purely cosmetic.

DenuvoGames: List of positive numbers containing lists of positive numbers

The first positive number specifies a users AccountId or SteamId64 you want to bind AppIds to so they do not unlock on the wrong accounts. Only really useful for keeping external Denuvo activations from breaking by running them on the wrong account.

SteamIdOverride: Map of positive number : positive number

The first positive number is the AppId you want to change the SteamId for, the second one is either a AccountId, SteamId64 or 0 to use the SteamId from the AppId's cached AppOwnershipTicket. Can be used to workaround Account locked games. Also necessary for some games that get your SteamId before requesting a ticket.

SmartTickets: positive number

SteamDRM = 0x1
Denuvo = 0x2

Enabling this setting will make SLSsteam analyse any process that connects to the Steamclient to detect DRMs to make the steamId spoofing logic for tickets just a tad smarter. Value for it gets calculated the same way LogLevels does.

MaxSchemaTries: positive number

Controls how many profiles SLSsteam should try to get achievement schemas from. Achievement schemas are required for games to be able to track your achievements & stats. If SLSsteam is unable to fetch a valid schema with the max amount of tries it will fall back to using the one on disk.

LaunchOptions: Map of positive number : string

Using this allows you to fully overwrite or modify what steam would launch for specific appIds, or 2 special appIds which overwrite all (unowned) games.
4294967294: Sets the launch option for all unowned apps
4294967295: Sets the launch option for all apps (gets overwritten by the unowned one, if it exists)
Additionally it supports using %command% to write the original launch command from steam into whatever you set it to.

SafeMode: yes/no

Enabling this will make sure your Steam client has been known to not crash when using SLSsteam, otherwise SLSsteam will automatically disable itself. This should be enabled on any device using SteamOS to prevent it from repeatedly crashing and entering a soft bricked state.

WarnHashMissmatch: yes/no

Similiar to SafeMode but instead of not loading SLSsteam entirely it will only pop up a warning via notification.

NotifyInit: yes/no

Enabling this will show a notification when SLSsteam successfully loaded.

API: yes/no

Enabling this will allow users/software to send commands to SLSsteam by writing them into /tmp/SLSsteam.API. Read docs/API/README.md for a list of available commands.

Plugins: yes/no

Controls wheter SLSsteam runs lua plugins from CONFIG_DIR/plugins. Plugins get executed via LuaJIT, so the things they can do are basically limitless. Only run plugins you trust! They can have full control over your steamClient. Check out docs/Lua for a list of available Lua commands & an example.

DisableCloud: yes/no

Enabling this will automatically turn off the Steamcloud for unlocked games. Enabled by default since Valve's backend blocks uploads to unowned AppIds. Set to no when using CloudRedirect

DisableUpdates: yes/no

Toggles wheter SLSsteam should block Steam from getting information about updates. Only works on unowned games, use ManifestIds for owned ones.

FakeName: string

Changes your Persona Name clientsidedly.

FakeEmail: string

Changes your users' E-Mail clientsidedly.

FakeWalletBalance: number

Changes your users' Wallet Balance clientsidedly.

LogLevels: positive number

Available log levels:
Trace = 0x1 -> Used for tracing. Not available in releases
Once = 0x2 -> Messages with this flag only get logged once
Debug = 0x4 -> Messages with this flag are meant for debugging
Warn = 0x8 -> This flag means something went wrong but it's not terrible
Error = 0x10 -> This flag means something went wrong and it's terrible/can't be recovered from. SLSsteam behaviour is affected
Info = 0x20 -> Messages with this flag are meant for the user
NotifyShort = 0x40 -> Messages with this flag will make a notification appear for 10 seconds
NotifyLong = 0x80 -> Messages with this flag will make a notification appear for 30 seconds

LogLevels below Warn are stripped from release versions. If you want to use them use a debug version.
LogLevels are bitwise flags, so for example to only show Long Notifications & Errors use 0x90 (calculated via 0x80 or 0x10).
Default config enables everything.

DumpClientInterfaces: yes/no

Dump all IClientInterface*Map virtual function tables used by SLSsteam into SLSsteam's logfile.

ExtendedLogging: yes/no

Will log any IPC functions the Steam client runs. Only useful for debugging.