Repository navigation
Settings (World)
Since 1.2.6 the screen opens on two tabs, Server and App.
Server is everything this screen has always held: the boxes and dials that belong to the
realm you are standing on. Nothing on it is written until you press Save Config, and the
button sits at the top right where it always did.
App is the preferences that belong to BakaLoader itself rather than to any one realm. They
used to be at the foot of the Dashboard's Upkeep card, under a heading about keeping the app
current, which is where nobody went looking for the interface language. Every row on it
writes itself the moment you move it, the way it always did, so Save Config is hidden while
that tab is showing: there would be nothing for it to write.
Everything the server is started with, in one form. Name, password, port, world, difficulty dials, restart rules, RCON and folders.
These are per server. Each profile has its own copy. Nothing here reaches a running server: Valheim is handed its whole configuration on the command line when it launches, and it keeps that until it launches again. A restart is what puts a change in force, and since 1.0.8 any restart will do.

Save Config is top right. It writes the file straight away, and the next restart is what reads it.
You do not have to stop the server to change something. Save it, and the next restart comes back up on it.

While the server is up, a line sits directly above Save Config:
The server is running. Saved changes apply the next time it starts.
Press the button and the confirmation says the same thing, instead of a plain "saved" that reads as though the change were already in force:
Saved. The running server keeps its current settings until it restarts.
The change is on disk from that moment. What reads it is the next restart, and that means every kind: the Restart button, the scheduled one, the empty server one, the relaunch after a crash, the restart that carries mod updates in with it, and a held launch that gets retried later.
Before 1.0.8 none of those helped. A relaunch reused the settings the session had been started with, so a change sat on disk doing nothing until somebody pressed Stop and then Start, or closed and reopened BakaLoader. World difficulty was the one that hurt: a new set of dials could be ignored for a whole day of restarts, and nothing on screen said why.
If what you saved differs from what the live server started with, a Restart pending row appears on the condition bar with a Restart button on it. That button runs the same warned restart the Dashboard one does, never a bare stop.
Saving here is manual and always has been. What is new in 1.2.0 is that the form says when there is something to save.
Change anything on this hall and four things happen at once. The field you changed keeps a small ember dot beside its label and a rule down its left edge, and both stay there after you click somewhere else, which is the difference between them and the glow that follows the cursor. A notice slides into the bottom left corner of the hall, diagonally opposite Save Config, saying there are unsaved changes and that Save Config writes them. Save Config itself breathes. And the Settings entry on the rail grows a dot, so you can see it from any other hall.
The notice has no button on it. The only button it could carry is the one already in the other corner.
Nothing stops you walking to another hall and back: everything is exactly as you typed it, and the dot on the rail is there so you know. Everything clears the moment a save lands, and the moment the form is filled again from what is saved.
Switching to another server is the one thing that does ask. Filling the form from the new server's settings throws away whatever you typed for the old one, and until 1.2.6 it did that in silence, with the unsaved notice still up as the form was refilled underneath it. Now a switch away from unsaved work asks first, names both servers and which screens are holding something, and lets you go back to what you were doing. Discarding is a button you press rather than something that happens to you.
If you have asked Windows for less animation, the breathing button is a steady outline instead.
A snapshot of the form is taken whenever it is filled from what is saved, and again after a save writes. Every keystroke, switch and dropdown is compared against that snapshot, and what is marked is the set of fields that differ. That is why typing something and typing it back leaves nothing marked.
What is tracked is what Save Config actually sends: the server fields, the world, the five difficulty dials, max players, the restart and RCON settings, both Directories boxes and the launch arguments. The seed is not, because it is read only, and Process Priority is not, because the save has never sent it anywhere. A marker on a field nothing saves would be a lie.
Two of those are filled by BakaLoader after the form is drawn rather than with it: the max players count and the five dials both have to be fetched. When each one lands it is declared saved on its own, without touching anything else you have changed in the meantime.
The notice stands beside the hall rather than inside it, and the hall gives up a band at its foot for exactly as long as the notice is up. A hall scrolls inside itself, so anything pinned to the bottom of one has the form sliding along underneath, and the first thing to slide under this was the box that had just been typed into. Shortening the hall instead means the form ends above the notice at every scroll position rather than only at the last one.
The note follows the server's status. It is there while the server is Running or Starting and gone the rest of the time, so the header keeps its height either way.
A relaunch asks this profile for its saved settings in the moment before it launches, and builds the command line from those rather than from the ones the old session started with. The profile it reads is the session's own, so a second realm relaunching in the background comes back on its own settings and not on whichever ones are on screen.
It is best effort on purpose. If the saved settings cannot be read at all, the relaunch keeps the ones the server is already running and writes a line to the log rather than refusing to restart:
The saved settings for this profile could not be read, so the relaunch uses the ones the server is already running.
When the refresh does change the command line, the log says so once:
Relaunch uses the settings saved on disk
The Restart pending row sees less than the relaunch does. It works by comparing command lines, so it covers the settings that reach one: server name, port, world, visibility, save folder, save interval, the three backup values, password, crossplay, the world preset or the five difficulty dials, world keys, and additional launch arguments. RCON and its port and password, the three restart rules and their delays, the server log switch and the executable path raise nothing, because none of them appear on the command line. A relaunch still picks those up. It is only the row that cannot see them.
Save Config writes the world dials only when the dials on screen belong to the world being saved, which is right: one world's difficulty must never be stamped onto another. When they do not belong to it, the save used to skip them in silence under a success toast, and a difficulty you had just set looked saved and was not. Now it says so:
World difficulty was not saved for this world. Reopen Settings and save again.
The rest of the save still goes through. Reopen Settings so the dials load for the world named in the World box, check them, and save again. See World-modifiers.
Server Name is what shows in the community browser and in the join info. It can match the world name if you like; the only naming rule Valheim has is about the password, which must be at least 5 characters and cannot appear inside the server name or the world name.
World lists the worlds in this profile's save folder, and from 1.2.0 the last entry in that list is not a world at all. It reads New world…, and picking it opens a box to type a name into. Beside the list there is a COPY AS chip that duplicates the world you have chosen under a name of your own. The chip is there while the list is pointed at a world, and it goes while New world… is chosen, because a name you are still typing is not yet a world there is anything to copy. Both are covered below in A new world, and a copy of one. You can still found a whole new realm in the Forge and name its world there, and that is still the thing to do when you want a separate server with it.
World Seed is read only with a COPY chip. A world's seed is set when it is created and can never change. The one exception is a world that has not been created yet, where the first run wizard can set one.
Password with a SHOW chip, and under it a switch, Require a 5 character password.
The rule is Valheim's, not BakaLoader's. A public server needs a password. It has to be at least 5 characters, and it may not contain the server name or the world name. With the switch on, BakaLoader stops the start and names the rule that was broken: "The password needs at least 5 characters.", "The password may not contain the server name ('Baka Gaijin').", "The password may not contain the world name ('Midgard').", or "Community (public) servers require a password. Set one, or turn off the Community Server option."
With it off, BakaLoader starts the server anyway and leaves the last word to the game, which will turn the password down itself. The switch is app wide: it applies to every realm, not just this one.
Port defaults to 2456. The server also silently uses the port above it, so if you run two servers space their ports at least 2 apart.
Visibility is one switch, "Public, listed in community browser". Off means friends need the address, which is most private servers.
Crossplay adds the crossplay backend, which is what gives you a join code that works from consoles.
Save Interval (s) is how often the world is written, 600 seconds by default. This is your real crash exposure. Ten minutes means up to ten minutes lost if the machine dies.
Backups Kept, Backup Interval: Short (s) and Backup Interval: Long (s) are Valheim's own automatic backups, passed straight through as -backups, -backupshort and -backuplong. A fresh profile uses 4, 7200 and 43200. The save interval has to be less than or equal to both intervals, and short has to be less than or equal to long.
Two things live on the World box: naming a world that does not exist yet, and taking a copy of one that does.
Open the World list and the last entry in it reads New world…. Pick it and a text box appears under the list. Type a name in the box and press Save Config.
Nothing is created at that moment. The name is written into this profile's settings, and the next time the server starts it finds no world by that name and makes one, with a seed picked at random. Until then the World Seed box reads "not created yet · seed set on first launch", which is what it has always said for a world that has been named and never started.
The line under the box says what is wrong with a name while you are still typing it, rather than letting the save go and the start fail later:
A world name has to work as a folder name. Leave out slashes, colons, wildcards and the other characters Windows will not take, and do not end it with a dot or a space.
There is already a world called Midgard in this save folder.
A world name can be at most 64 characters long.
Reopen Settings afterwards and the name you typed is the entry the list has chosen, even though there is still nothing on disk under it.
Press the COPY AS chip beside the World list, or the one on any world's row in the Barrow, or the Copy world as button along the bottom of that world's own page in the Barrow, the page you reach by clicking the row. Type a name, and the world is duplicated beside itself under that name.
The copy is a world in its own right the moment it lands. It is in the World list, any realm can be pointed at it, and deleting one of the two leaves the other alone. The world you copied is not touched, and neither are its backups: those belong to the world that is staying.
This is the thing to reach for before you try something you might regret. Copy the world, point a realm at the copy, and let people loose on that one instead.
From 1.2.4 the copy is written with its own world id, and the dialog says so before you press Confirm. That id is what makes the copy a separate world to the game, and the price of it is that each player's map of the copy starts blank: explored ground and the pins a player made themselves are kept per world inside that player's own character file. What was written on a cartography table is part of the world save, so it comes across with the copy and the Atlas draws it. Up to 1.2.3 the copy carried the source's id, so pointing a realm at it kept everyone's map, and that is the one thing that is different now.
BakaLoader turns the copy down rather than making half of one. A world a server is running is turned down before the name box even opens, which is the refusal you are most likely to meet:
'Default' is running this world right now. Stop the server first.
The rest arrive after you have pressed Confirm:
'Default' is running 'Midgard' right now. Stop it before copying the world.
There is already a world called 'Second Midgard' in that save folder, so nothing was copied.
The world file for 'Midgard' could not be read, so nothing was copied.
The running world is refused twice on purpose. The window asks before it opens the box, and the app asks again on the way in, so a server started while the name box was sitting open is still caught.
A name the box itself turns down is said under the box with the name still in it, so you fix the one character rather than open the dialog again and type the whole name a second time. A character a folder cannot hold is caught there wherever you opened the box from. A name a world in that save folder already answers to is caught there when you opened it from the COPY AS chip beside the World list, or from a world's row in the Barrow, because those two know what else is in that folder. The Copy world as button on a world's own page in the Barrow was handed that one world and no listing of its neighbours, so rather than guess it says nothing, and a name already taken comes back there after Confirm as the refusal above. Either way the app looks at the save folder again on the way in, so no copy lands on a name that is already spoken for.
A world's name is written down twice. Once as the file or the folder it sits in, which is what the server is handed on the command line, and once inside the world's own header, which is what the game carries while it runs and what it builds the biome cache file name out of. A plain file copy would leave the second one saying the name of the world you copied from, so you would have two worlds answering to one name and sharing one cache.
So the copy is not a plain file copy. BakaLoader copies the files under the new name and then rewrites two things inside the copy's own header. The first is the name, which is what the game carries while it runs. The second, from 1.2.4, is the world id, the eight bytes sitting directly behind the seed, which is what makes the copy a world of its own rather than the same world wearing two names. Both are rewritten in both save formats: the pre 1.0 .fwl, and the _main.N.fwl2 inside a Valheim 1.0 world folder. Every generation in a 1.0 folder is rewritten and not only the newest one, because the game can be part way through rolling one over. Apart from those two fields the header stays exactly where it was, byte for byte, the seed above all: the seed is untouched, and it is what makes the copy the same map.
Nothing takes the new name until the whole copy is finished. Every file lands under a temporary name first, the header is rewritten on that, and only then is the finished copy moved into place. A header that cannot be read stops the copy before the move, and the temporary files go with it, so that refusal leaves the worlds folder exactly as it found it.
A header opens with the size of what follows it, and the rewrite holds that number to the file it is in. A header claiming more than the file has left is one the rewrite will not touch, because rebuilding it would mean copying a tail measured past the last byte there is. Neither is one claiming a size too small to cover the name written inside it, because there the tail is measured short of the name instead. Both are headers whose own size field is contradicted by the file it sits in, and a header rebuilt around a number that was never true is a world that will not open.
The world list never opens a header at all. It names a world by the file or the folder it sits in, so a world with a header like that is listed like any other and is offered a copy like any other. Pressing it comes back with "could not be read", whichever of the two it is, and whether the refusal came before the copy started or from inside it. Nothing is moved, and the world you asked to copy is exactly as it was.
The biome data cache travels too, under the new name. It is the grid the game spends a long first boot building, and because the game names that file after the header rather than after the folder, a copy would otherwise start by building its own.
The copy lands in the same worlds folder the world it came from sits in, so a world in the second worlds folder does not quietly hop into worlds_local.
A typed world name is held to one rule in three places now: the World box, the "Found a new realm" dialog in the Forge, and the name box for a copy. The rule is Windows' own rule for a folder name plus a length of 64, because a world name has to be a folder name before it can be anything else. The World box checks it while you type. The other two check on the press: Forge realm in the dialog, Confirm in the copy box. A space either side of what you typed is trimmed off before the rule looks at it, in the window and in the app alike, so a stray space is not something you are told off for, and the world lands under the name without it.
Only the copy is checked a second time on the way in. worlds.copyAs puts the new name through the same rule again, and looks at the save folder again, before it moves a byte, so a copy cannot land under a name the window would have turned away. The World box and the Forge's world box have the window's check and nothing behind it: the two calls they save through have been taking whatever was typed since long before this rule existed, and making them start refusing it would turn away names hosts already have saved. What those two checks buy you is the refusal arriving with the name still in front of you, as you type in the World box and as you press in the Forge, rather than at the first start, where it used to arrive.
Click the heading to open it.

Combat, Death Penalty, Resources, Raids and Portals are Valheim's own world modifier dials, the same ones the game offers when you create a world. They are saved per world, not per server.
Every dial carries a line underneath describing the option you have selected, and a ? beside its name. Put the pointer on the ? and a panel opens with the whole category: every option, what each one does, and the game settings each one applies. The same dials, lines and panels are in the "Found a new realm" dialog, so a world can be created the way you want it from the start.
Two options are worth knowing before you pick them. Death Penalty Hard deletes everything you were not wearing when you died: equipped gear still goes to the tombstone, the rest of the inventory is gone for good. Hardcore deletes every item and resets all of your skills, though your character itself is not deleted. The old permadeath wording is gone, because that is not what the setting does.
Under the dials, new in 1.2.1, are the five world switches: No build cost, Player based raids, Passive enemies, No map and Fire hazards, named after the key each one sets. They are saved with the world exactly as the dials are, they ride along with Save Config, an unsaved one is marked like any other field, and each has the same ? panel. The note under them says the rest: "switches are saved with the world, the same way the dials are, and go in the next time the server starts". Before 1.2.1 there was no way in the window to set one, and since BakaLoader clears the world's whole key list at every start, a switch set in the game client was wiped at the first start.
A key no control stands for is kept rather than dropped. If the world carries something like carryweightrate 150, a line under the switches names it: "also carried for this world: carryweightrate 150".
A world BakaLoader has never met before has its own settings read off the world itself and filled in here rather than cleared, and a notice on this card says once what came in. It happens before the first start, and it also happens the first time you look at that world on this screen, which is why the dials and switches are already filled in before you have started anything. See World-modifiers.
Under all of it: "BakaLoader clears the world's whole starting key list at every start and then puts back exactly what is stored here: these dials, the five switches, and any other key the world was carrying. A world made in the game client is read once, the first time BakaLoader starts it, so what it already had is brought in rather than wiped. A change made from the in-game console after that is not stored here, so it does not survive a restart." That reset is why lowering a dial actually takes, instead of leaving the old setting's key behind in the world.
Every option, what it sets, and what BakaLoader does with it at start: World-modifiers.
Max Players defaults to 10, which is the game's own cap. Setting it higher installs a small bundled plugin that raises the cap. The note under the dials says so: "modifiers saved per world · max players above 10 installs a small bundled server plugin · applies the next time the server starts".
A count you saved while an older third party max players mod was still locked by the running server is kept and migrated at the next start rather than lost. That was a real bug in 1.0.0, and so was the order of the swap: the bundled plugin is now installed before the old mod is removed, so a failure leaves you with the working old one rather than neither.
The number in this box is what you asked for, not proof it took. If the game's code is not the shape the plugin's patch expects, it refuses and keeps the vanilla 10 for that session, and says so on the server's output. BakaLoader raises that as a warning on the Log screen rather than leaving it in the chatter:
Max Players could not be raised on this build of the game, so this server keeps the vanilla limit of 10 players. The number saved in the World hall is not in force for this session.
So if the cap looks wrong, filter the log to Warn after a start, or search it for "vanilla limit". See The bundled plugins.
Click ADVANCED to open it. Everything here is about how the server behaves on its own.

Empty-Server Restart with Empty Delay (min). Restart the server when the last player has been gone this long. The label updates as you type, so it reads "Restart when empty for 5 min".
Scheduled Restart with Restart Interval (h). Restart every N hours with an in game countdown. The countdown is timed so the restart lands on the hour rather than starting its warnings then.
Restart on Crash with Crash Delay (s). Relaunch after a crash, after waiting this long.
Server Logs writes the server's own output to a file per session. See Log.
Autostart starts this profile when BakaLoader launches. A brand new profile always has this off, so a server you just created never surprises you by starting.
RCON with RCON Port and RCON Password. RCON is how BakaLoader sends commands to the running server: broadcasts, the restart countdown, player actions and live positions. The port defaults to 25575 and must not clash with the game port. The label reads "Bound on port 25575" or "Not bound".
Process Priority is Above Normal, Normal or High for the server process.

Two paths: where the server program is, and where its worlds are written. Both of them are set for you by the first time setup, and on most installs you never come back here.
Each of the two has a line above it that begins Currently. That line is the path BakaLoader will really use for this server, with any %VARIABLES% already filled in, and it ends with one word saying where the path came from:
- default means it came from the app wide setting, which is what the first time setup wrote and what every server falls back to.
- set for this server means somebody typed a path into the box below it, for this profile only.
Open sits on that line rather than beside the box, because Open opens that folder. Hover it and the tooltip names the folder it is about to open.
From 1.2.3 a line under the section says which of the two shapes this server is. A server with its own install and its own save folder says so: its mods and its worlds never mix with the others. The first server on a machine uses the shared install and the shared save folder, which is why both of its boxes show the defaults. See Multiple servers.
From 1.2.6 that line is two facts rather than one. The install and the save folder are separate switches in the forge and either can be this server's own on its own, and the old line decided what to say from both of them together: a server with its own install and the shared save folder was told it "uses the shared install", directly under a line reading its own install path, and told both boxes showed the defaults when one did not. A host who believed it would install a mod expecting every server to get it. The line now says which of the two the install is, then which of the two the worlds are, and it only says "both" when both are true.
The box underneath is an override. Leaving it empty is normal and is what most installs look like: an empty box means "use the path on the line above". A path typed into it applies to this one server and to nothing else. Browse opens Windows' own picker, filtered to valheim_server.exe for the first box and to a folder for the second; what it finds goes into the box and waits for Save Config like anything you typed by hand.
Either box takes an environment variable, written the Windows way with a percent sign at each end: %USERPROFILE%\AppData\LocalLow\IronGate\Valheim is in fact what the app wide save folder holds on every fresh install. What you type is stored exactly as you typed it, which is what keeps a path portable between machines and user accounts, and the variable is filled in every time the path is read. The Currently line above the box shows it filled in, so you can always see which folder a variable has resolved to on this machine.
A server given its own save folder in the forge is the one case BakaLoader writes a path into the box for you, and it writes it out in full rather than with a variable in it. The folder is servers\<server name> under the app wide save folder, it is a concrete place on this disk, and it is stored as one. See Multiple servers.
Under the box, while there is something in it, one line says what is actually at that path. It is never a refusal: Save Config saves whatever you typed either way. It is there so a path that will not work is something you find out about now rather than at the next start. What it can say:
| A Valheim dedicated server is here. | the path is a real server install |
| A dedicated server is started from valheim_server.exe, and this path names another file. | usually the game's own valheim.exe rather than the server's |
| There is no file at this path. | nothing is there |
| The file is there, but valheim_server_Data is not in the folder beside it, so the server has nothing to load. | the program was copied out of its install |
| This path names a folder rather than a file. The box wants the program itself, which is the valheim_server.exe inside that folder. | the install folder was given where the program was wanted |
| The folder is there and takes a write. | the save folder is fine |
| The folder is there and will not take a write, so worlds and backups cannot be saved into it. | |
| The folder is not there yet. It is created the first time the server starts. | a note rather than a problem |
| Neither this folder nor the one above it is there, so nothing can be created here. | |
| This path names a file rather than a folder, and the server cannot make a folder where a file of that name already sits. | |
| Windows will not take a path written this way. A name in it uses a mark that is not allowed in a file name, or is one Windows keeps for a device. | |
| This path could not be checked in time. A drive that is asleep or a folder on a machine that is not answering takes longer than the line under the box waits, so nothing here says the path is wrong. | a slow or sleeping drive, not a verdict |
If a box in this section has something unsaved in it, or something to say, the section unfolds itself. A warning folded away is a warning nobody reads. Fold it back and it stays folded.
The two paths live at two levels, and that is worth knowing because of how the section used to read. The first time setup writes its answers to the app wide settings, and the boxes here are the profile's own override, which is empty until somebody fills it. So on a normal install both boxes are empty and correct, and the app is using the setup's answers the whole time. Before 1.2.0 there was nothing on screen saying so, and a fresh install looked like a setting that had been lost. The Currently line is what says it. Nothing about where the values are stored has changed.
When the server starts, the path is worked out the same way: the profile's own value if it has one, otherwise the app wide one, with environment variables expanded. That is the same answer the Currently line shows, so what the line says and what the launcher does cannot drift apart.
From 1.2.9 that last sentence is true everywhere rather than in most places, and it is worth saying why it was not. Filling in a variable was done at each place that needed it, and a path with a variable still in it is not merely unexpanded: it is relative. Windows reads %USERPROFILE%\AppData\... as a folder called %USERPROFILE% with folders under it, and anchors it at whatever folder the program happens to be running from. So the readers that filled the variable in looked in C:\Users\<you>\AppData\LocalLow\IronGate\Valheim and the readers that did not looked inside the BakaLoader folder, and on an install where the second kind created something, the two halves of the app disagreed about where the worlds were for good. There is now one place that turns a stored path into a folder, it fills in the variables and anchors anything left over, and every reader goes through it: the lines in this section, the worlds list, the player lists, Open, the launch arguments, and the folder a new server's own save folder is made at. A folder a 1.2.8 install left behind is offered as a one-button move; see Troubleshooting.
The line under the box comes from a check that looks at the disk and nothing else. For the server program it asks whether the file is named valheim_server.exe, whether it is there, and whether valheim_server_Data is in the folder beside it. For the save folder it asks whether the folder is there, whether it takes a write (by writing a file that deletes itself), and if it is not there, whether the folder above it is, so it could be created. The check is asked a moment after you stop typing rather than on every keystroke, and an answer for a path you have since retyped is thrown away rather than shown.
Additional Launch Args are appended to the command line verbatim, last of everything. Four of them never reach the server and it is worth knowing why. -logFile would take away the output stream BakaLoader reads to know what the server is doing, so a start with it in the box is turned down. The other three are taken back out as the command line is built, with the reason written to the log: -demomode turns off all world saving, -joinserverwithcharacter makes the game try to join a server instead of hosting one, and -resetmodifiers is already sent by BakaLoader ahead of your world settings, so a second one down here would land after them and clear what they had just written, leaving the world with no modifiers at all. See World-modifiers.
A red button at the bottom, behind two confirmations. It clears the saved setup answers and runs the guided setup again. The note beside it is accurate: "resets setup answers only · server files and worlds are never touched".
One file: %USERPROFILE%\AppData\LocalLow\BakaLoader\ValheimBakaLoader\userprefs.json. Plain JSON, holding the app wide settings, every server profile and every world's modifier choices.
Passwords are stored in plain text in that file. Both the server password and the RCON password. There is no encryption. If that matters to you, that file is the one to think about. The only place a password is masked is in the log, where the launch command line is written with the password replaced by asterisks.
Every read, change and write of that file goes through one lock, because the whole document is loaded, changed and written back, and two threads doing that at once would lose one of the changes.
For the pref key behind every field and exactly what each one does to the command line, see Settings reference.
You want a private server for six friends, restarting nightly, with a password.
Set Server Name to something that is not the world name. Set Password. Leave Port at 2456. Turn Visibility off so it is not listed. Turn Crossplay on if anyone is on a console.
Leave Save Interval at 600, or drop it to 300 if the machine is not reliable.
Open Advanced. Turn on Scheduled Restart, set Restart Interval to 24. Turn on Restart on Crash. Leave RCON on so the countdown actually reaches people in game.
Press Save Config, then Restart on the Dashboard.
I changed a setting and nothing happened. The server reads its settings when it starts. Save, then restart, and any restart will do, including the automatic ones. While the server is up, the line above Save Config says so, and the condition bar raises Restart pending once what is saved differs from what the server started with.
I saved a difficulty and it was not saved. If the toast said the world difficulty was not saved for this world, the dials on screen belonged to another world, or to no world yet. Reopen Settings, check the dials, and save again. The rest of that save went through.
I changed the save folder while the server was running. The save landed, and from that moment BakaLoader itself reads the new folder: the worlds list, the player lists and Open all use it. The server that is up does not. Valheim is handed its save folder on the command line when it launches and goes on writing its world to the folder it was started with until it restarts, so for that one setting the two really are looking at different places until the next start. The toast after the save says both halves of that out loud, and Restart pending stands in the condition bar until the server comes back.
Can I change the seed of an existing world? No. That is Valheim's rule, not BakaLoader's. Create a new world if you want a different seed.
Why can two servers not share a port? Valheim uses the port you give it and the one above it. Space them by at least 2. BakaLoader picks free ports for you when you create a profile and warns about overlaps while you edit.
Do I need RCON? Only for anything that talks to the running server: broadcasts, restart countdowns, player actions and live positions. Everything else works without it.
Is my password safe in userprefs.json? It is plain text. Treat that file the way you would treat any file with a password in it.
The preferences about BakaLoader and this computer, moved here whole in 1.2.6. Each of them writes itself as you move it.

Save Config is not on this tab, and neither is the unsaved band at the foot of the hall. Both belong to the Server tab, where a form waits to be written; nothing here waits for anything.
From 1.2.7 the same is true of the band under the title bar that names the realm you are editing. Nothing on this tab belongs to a realm: these are settings for BakaLoader and for this computer, and they are the same whichever realm you happen to be standing on. The band comes straight back when you press Server.
Start BakaLoader with Windows adds an entry under the Windows Run key for your own account, which is a per user setting and needs no administrator rights: another account on this PC has its own switch and its own entry, and nothing you do here changes theirs. It is applied the moment you flip it, and a save of any other row on this tab writes nothing to the registry at all. Moving or renaming BakaLoader's folder is fine. The first launch from the new place points the entry at it, and writes the entry again if it has gone missing altogether, so the switch and Windows cannot drift apart. That last part cuts both ways: while the switch is on, an entry you delete by hand is written again at the next launch, so turn the switch off if you want it gone rather than removing the entry and expecting it to stay removed.
Six things can put a note under the switch, and each of them is a case where the switch alone would tell you something untrue. An entry for every account on this PC that names this copy, which happens when a version before 1.2.5 was run as administrator with this switched on: the note says how to take it away. An entry for every account that names a different copy: the note gives the path, because that copy is what Windows will start whatever this switch says. Your own entry naming another copy that is still installed: BakaLoader leaves it where it is, because choosing between two copies you have is yours to make, and the note gives the path, so turn this switch off and then on again to point Windows at the copy you are reading this in. That same entry of yours standing beside a machine wide entry for the copy you are in, which is the one case where off and on again cannot help: both the save and the launch ask Windows to take your stale entry away, so one still standing is one Windows refused to remove, and the note sends you to the Startup tab in Task Manager instead. A write Windows refused, which leaves the switch on while nothing would start. And your own entry still standing with the switch off, which is what a removal Windows refused leaves behind: Windows goes on starting BakaLoader, and the Startup tab in Task Manager clears that one without administrator rights. Each note is worked out again every time you open this tab, so none of them is a sentence you can only catch in the moment you move the switch, and the sentence a save shows you is the same one you find when you open the card again.
Two of them can stand at the same time, one under the other, because the machine wide entry and your own account's entry are separate things and both can be wrong at once: the machine one is shown first, and whatever your own account is doing is shown under it rather than hidden by it. Your own entry is also kept right whatever that machine wide one says. If it names a different copy, BakaLoader still writes and repairs your account's entry, so the copy you are in starts as well. If it already names this copy, BakaLoader writes nothing for your account, because two entries would start BakaLoader twice, and it takes away an entry of your own that named some other copy so only this one is left. See Troubleshooting.
Start minimized opens the window minimized to the taskbar. There is no tray icon, so it waits on the taskbar rather than in the notification area.
Share anonymous usage stats controls the heartbeat. Every five minutes: a one way hash of your MAC address and machine name, the app version, whether a server is running, and, new in 1.2.6, how many times each command was pressed since the last beat, counted per realm under a one way key. Counts and nothing else: a number of kicks travels and never a name, never an argument, and never the realm's own name. Turn it off and nothing is sent at all. See Privacy and network.
Show Norse names keeps the Norse caption under each plain label. Turn it off for plain English only.

Messages to players is a dropdown rather than a switch, new in 1.2.0. The line under it says what it covers: the language of the in-game restart countdown and of the Discord posts. It offers Same as the interface, which is the default, English, which is in the list without a download because it is built into the app, and every language you have a pack for. Your own window follows the globe in the title bar instead, so the two are independent: you can read English while the people on your server are counted down in Japanese. Your players install nothing, because Valheim draws the chat itself. See Languages.
Interface language is the same choice the globe in the title bar opens, written out where
you look for a setting rather than for an icon. It lists English, which is built into the
app, and every language you already have a pack for. The globe is still the one that offers
a download for a language that is not here yet, because that is a fetch rather than a
setting, and it is still in the title bar. See Languages.
New in 1.2.6, and the answer to a window whose smallest words are ten and eleven pixels of
mono. Normal, Large and Extra large. It takes effect the moment you choose it, with no
restart, and it is remembered.
The whole window is one page, so this is the page's zoom rather than a second set of font
sizes: Large is a fifth bigger and Extra large is getting on for half again, and the
text, the boxes around it and the gaps between them all grow together, which is the only way
a size setting stays laid out. The map's own labels grow with it as well: the chart is drawn
through the same ratio of screen pixels to CSS pixels that the zoom raises, so its text follows
without anything scaling it twice. See Map.
Because zooming the page makes the window smaller from the layout's side, BakaLoader raises
the smallest size the window can be dragged to by the same factor: about 1230 by 820 at
Large and about 1485 by 990 at Extra large, against 1024 by 680 at Normal. On a display
too small to hold that, the minimum is clamped to what the screen has and the halls fold the
way they do at their narrowest, so the setting is never a window you cannot fit.
Two things it does not change. The size of the text a PLAYER reads in the game is Valheim's own and nothing here touches it. And the sizes in the rail and on the pills under a Russian interface are already a step up from the English ones, measured against the longest word in the language, so those stay where they are and this zooms them with everything else.
Not a setting, but it belongs beside the one above. 1.2.6 measured every colour a word is drawn in against every background it can sit on and lifted five of them: the second reading tier, the quietest one, the blue, the red and the bronze a rune beside a card heading was drawn in were all under the accessibility floor for text on the lighter cards, and the quietest one was under it everywhere. Every word in the window is now at 4.5 to 1 or better wherever it lands, and the ten pixel sizes that carried words came up to eleven. It is measured on every build rather than looked at, so a colour edited back down does not ship.
Screens
Dashboard (Hearth) Players (Vikings) Mods BepInEx 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 Languages The condition bar Command palette and shortcuts Privacy and network Client companion
Reference
Settings reference How mods are matched and updated The bundled plugins World file formats How the map is drawn For mod authors
Help