-
Notifications
You must be signed in to change notification settings - Fork 0
Settings reference
Every setting, its key in userprefs.json, what it actually does, and when it takes effect. The friendly version is on the Settings page.
All of it lives in one file: %USERPROFILE%\AppData\LocalLow\BakaLoader\ValheimBakaLoader\userprefs.json. Plain JSON. App wide settings at the top, a servers array of profiles, a worlds array of per world modifier choices.
Every field is optional on disk. A key that is missing falls back to the built in default, so an old file never needs migrating.
These are read when the server session starts and handed to the server on its command line, so a running server keeps what it launched with. Every one of them takes effect at the next restart. Saving while the server runs writes the file at once and leaves the live server alone.
| Field on screen | Key | What it does |
|---|---|---|
| Server Name | name |
-name "<value>" |
| World | world |
-world "<value>" |
| Public | community |
-public 1 or -public 0
|
| Port | port |
-port <value> |
| Crossplay | crossplay |
adds -crossplay
|
| Password | password |
adds -password "<value>" when not blank |
| Save Interval (s) | saveInterval |
-saveinterval <value> |
| Backups Kept | backupCount |
-backups <value> |
| Backup Interval: Short (s) | backupIntervalShort |
-backupshort <value> |
| Backup Interval: Long (s) | backupIntervalLong |
-backuplong <value> |
| World modifiers | on the world entry, not the server |
-resetmodifiers first, every start, then -preset X or one -modifier key value per dial, then -setkey key. A preset wins and the two are never combined. The dials read Combat, Death Penalty, Resources, Raids and Portals, each option labelled by what it does, and Death Penalty Hard deletes unequipped items while Hardcore deletes everything and resets skills. Full list in World-modifiers. |
| Additional Launch Args | additionalArgs |
appended verbatim after sanitizing |
| Server Executable | valheimServerPath |
overrides the app wide exe path for this profile. Blank inherits. |
| Save Data Folder | valheimSaveDataFolder |
overrides the app wide save folder for this profile. Blank inherits. |
| Server Logs | writeServerLogsToFile |
writes ServerLogs-<profile>-<stamp>.txt for the session |
| Autostart | autoStart |
start this profile when BakaLoader launches. Read at app launch. |
| Restart on Crash | autoRestart |
relaunch after a non zero exit |
| Crash Delay (s) | autoRestartDelay |
wait before that relaunch. Default 10. |
| Empty-Server Restart | emptyServerRestart |
restart when the last player has been gone a while |
| Empty Delay (min) | emptyServerRestartDelayMinutes |
how long. Default 5. |
| Scheduled Restart | scheduledRestart |
restart on an interval with a countdown |
| Restart Interval (h) | scheduledRestartHours |
the interval. Default 6. |
| RCON | rconEnabled |
written into the Commander plugin's config at every server start |
| RCON Port | rconPort |
the same. Default 25575. |
| RCON Password | rconPassword |
the same. Plain text on disk. |
| (no control) | archived |
hides the profile from the sidebar. Set by the archive action. |
| (no control) | isolatedInstall |
whether BakaLoader provisioned this profile its own install |
| (no control) | modManifest |
the mod set this server was last seen running |
| (no control) |
lastLaunchedServerBuild, lastLaunchedServerFingerprint, lastLaunchedGameVersion
|
the launch guard's memory of what actually last ran |
Every row above takes effect at the next restart of that server, and it does not matter what caused the restart. Since 1.0.8 a relaunch reads the profile again in the moment before it launches, so the scheduled restart, the empty server restart, crash recovery, the restart that carries mod updates and the Restart button all come back up on what is saved. Before that they reused the settings the session had been started with, and only a stop and a start would do.
If the file cannot be read, the relaunch keeps the settings it is already running and writes a line to the log rather than refusing to restart.
autoStart is the one that works the other way round. It is read when BakaLoader launches, so it matters the next time the app starts rather than the next time this server does.
The Restart pending row on the condition bar is narrower than that. It works by comparing command lines, so it only notices a change to something that reaches one: name, world, community, port, crossplay, password, saveInterval, backupCount, backupIntervalShort, backupIntervalLong, valheimSaveDataFolder, the world modifiers and keys, and additionalArgs. rconEnabled, rconPort, rconPassword, autoRestart, autoRestartDelay, emptyServerRestart, emptyServerRestartDelayMinutes, scheduledRestart, scheduledRestartHours, writeServerLogsToFile and valheimServerPath never appear on the command line, so saving one of them while the server is up raises no row. The next restart still picks them up.
Server name must not equal the world name. Password rules apply when password validation is on. Port must be 1 to 65535. RCON port must differ from the game port. Save interval must be no larger than either backup interval. Short backup interval must be no larger than long. World preset, modifier and key names must be ones the game knows. -logFile in Additional Launch Args turns the start down outright. Three more are taken back out of the command line as it is built, each with its reason written to the log: -demomode, -joinserverwithcharacter and -resetmodifiers, the last because BakaLoader already sends a reset ahead of the world settings and a second one, appended last, would clear them.
| Field on screen | Key | What it does | Takes effect |
|---|---|---|---|
| Check for BakaLoader updates (Upkeep) | checkForUpdates |
asks GitHub for a newer release, at launch and again every six hours while the app is open. A restart asks as well when autoUpdateBakaLoader is on, because that is the path that installs one |
Immediately, read fresh on every check |
| Auto-update BakaLoader (Upkeep) | autoUpdateBakaLoader |
allows the self update to download and install on its own. Both this and checkForUpdates have to be on before anything installs itself unasked. An update you ask for in the update dialog only needs checkForUpdates, since you have answered the question the switch is there to answer |
Immediately, read fresh each time |
| Update mods at scheduled restarts (Upkeep) | autoUpdateMods |
installs waiting Thunderstore updates during a scheduled restart, and once the server has been empty for ten minutes | Immediately, read fresh each time |
| Start minimized (Upkeep) | startMinimized |
the window opens minimized to the taskbar | Next app launch |
| Require a 5 character password (Settings) | enablePasswordValidation |
stops a start whose password breaks Valheim's own rule, rather than letting the game turn it down | Next server start |
| Start BakaLoader with Windows (Upkeep) | startWithWindows |
writes or removes the Windows Run entry | Immediately |
| Share anonymous usage stats (Upkeep) | shareAnonymousStats |
allows the heartbeat | Immediately, read fresh on every beat |
| Show Norse names (Upkeep) |
plainTerminology, inverted |
swaps Norse labels for plain English | Immediately |
| Logs folder (Log settings) | logsFolderPath |
where both log kinds are written. Blank is the default. | Immediately for the app log, next session for a server log |
| Keep BakaLoader's own log (Log settings) | writeApplicationLogsToFile |
writes ApplicationLogs_<date>.txt
|
Immediately |
| Discord fields and toggles |
discordSharingEnabled, discordShareAddress, discordSharePassword, discordEventPosts, discordWebhookUrl, discordWebhookThreadId
|
see Discord | Immediately |
| Custom domain (the DOMAIN chip) | customJoinDomain |
shown in place of the raw public address | Immediately |
These are real and they work. They just have no switch at the moment.
darkMode themes the native window chrome, the splash and the system dialogs. The main screen has its own dark styling and does not follow it. Defaults on. Nothing re-applies it after a change, so it would need an app restart.
setupCompleted is the first run wizard's own flag, set by finishing or resetting setup.
windowBounds and windowMaximized are window geometry, saved when you resize or close.
discordStatusMessageId is the id of the Discord post, so it can be edited rather than re-posted.
saveProfileOnStart is present in the file and round trips, but nothing reads it.
The Windows Run key, SOFTWARE\Microsoft\Windows\CurrentVersion\Run, holds a value named after the app when Start with Windows is on. BakaLoader tries the machine wide key first and falls back to the per user one, which is the usual outcome. If you move the app, the stale entry is replaced with the new path.
analytics.json, beside userprefs.json, is the statistics journal. See Statistics.
players.json, in the same folder, holds the player records the roster is built from.
%LocalAppData%\ValheimBakaLoader\steamcmd\steamcmd.exe is BakaLoader's own copy of steamcmd, downloaded once.
%LocalAppData%\ValheimBakaLoader\AtlasCache holds rendered map images. Nothing prunes it.
Can I edit userprefs.json by hand? Close BakaLoader first, or your edit will be overwritten by whatever the app writes next. Keep a copy.
Which settings apply without a restart? All the app wide ones. None of the per server ones, because the running server was handed those on its command line when it launched. Every one of them is picked up by the next restart though, automatic ones included, so a stop and a start is no longer the only way in.
Where is the setting for X? If it is not on the Settings screen or in Upkeep, check the list of keys with no control above. Some real behaviour has no switch yet.
Screens
Dashboard (Hearth) Players (Vikings) Mods Hexium Configs (Runes) Settings (World) World modifiers Map (Atlas) Log (Saga) Discord (Herald) Statistics (Skald)
Guides
Running the server Automatic restarts Server updates and the launch guard Updating the server Updating BakaLoader Worlds, backups and restore Deleting a world Multiple servers Custom domain The condition bar Command palette and shortcuts Privacy and network
Reference
Settings reference How mods are matched and updated The bundled plugins World file formats How the map is drawn For mod authors
Help