Generate a Valheim start_headless_server.bat
Looking for Valheim's config file? It does not exist. The server takes every option as a command-line flag in its launch script, so editing files will never change how it behaves.
Start from a preset
Visual Settings
start_headless_server.bat
Advertisement
The start_headless_server.bat format
Options are flags on the server executable. Name, port, world and password each take a value after them, quoted if it has a space in it. Be careful with world: it refers to an existing save by name rather than seeding a new one, so misspell it and you silently get a fresh, empty world in place of the one you wanted.
Advertisement
The mistake that wastes an evening
The password rules can stop the server from starting, and you will not be told why. It has to be five characters or longer, and it cannot contain either the server name or the world name. Name the server Valhalla, set the password valhalla123, and it simply will not launch. If the server quits straight after starting, check the password first.
Flags the generator also covers
Beyond name, port, world and password, the server takes a handful of flags that matter on a long-running world. -saveinterval sets seconds between saves (1800 by default). -backups sets how many rolling backups to keep (4), and -backupshort and -backuplong set when they are taken (7200 and 43200 seconds). -savedir moves worlds and characters somewhere other than the default. -crossplay turns on the backend console players need. -preset applies one of the difficulty presets: casual, easy, normal, hard, hardcore, immersive or hammer.
Where the world files live
Unless -savedir says otherwise, worlds are stored under the account that runs the server: in AppData\LocalLow\IronGate\Valheim\worlds_local on Windows, and in ~/.config/unity3d/IronGate/Valheim/worlds_local on Linux. Each world is a .db and a .fwl with the same name. Copy them as a pair, and only while the server is stopped; a .db copied mid-save can be incomplete.