App & Framework Hosting is now generally available in all 30+ regions.

Game Servers

How to Upload an Existing Valheim World to a Server

Applies to: Valheim server hosting

Moving a Valheim co-op world from someone's PC to a dedicated server is a two-file copy job — but only if you copy both files and get the world name exactly right. A Valheim world is a .db/.fwl pair: the .fwl holds the world's name and seed, the .db holds everything that has actually happened — terrain changes, buildings, map exploration, and boss progress. This guide walks through the move and the classic “fresh-world” failure at the end.

01Find your local world files

On the PC that has been hosting the co-op sessions, worlds live in the Unity save path. Paste this into the File Explorer address bar:

%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds_local

Inside you will find pairs of files named after each world — for a world called Midgard:

Midgard.fwl   ← world name + seed (tiny)
Midgard.db    ← terrain, builds, exploration, progress (large)

You need both. You may also see .old backup copies of each — ignore those. If the folder is empty but the world definitely exists, Steam Cloud may be holding it: launch Valheim, open the world select screen, and use the option to move the world to local storage, then look again. Close Valheim before copying so the files are not mid-write.

02Stop the dedicated server

Stop the target server before uploading. Valheim servers save the active world periodically and on shutdown, so files dropped in while it is running will be overwritten by the in-memory world at the next save — usually within half an hour, and always when you stop it later. Stopped server first, files second, start last.

03Upload both files to the server's worlds folder

Connect over SFTP or use your panel's file manager and put the pair into the server's worlds folder. On a Linux server that is typically:

.config/unity3d/IronGate/Valheim/worlds_local/

(Managed hosts usually surface this simply as a worlds_local folder, or provide a world-upload button that targets it.) Keep the filenames untouched, and note that Linux filesystems are case-sensitive — Midgard.db and midgard.db are different worlds as far as the server is concerned.

04Set the world name in the start parameters

The server chooses which world to load from its -world launch parameter:

-name "My Server" -world "Midgard" -password "secret"

The value must exactly match the uploaded filenames without the extension — Midgard for Midgard.db/Midgard.fwl, matching case and spacing. This is the single most common failure in the whole process: if the name does not match an existing pair, Valheim does not error — it quietly generates a brand-new world under the name you gave it, and everyone joins an empty map. On a panel, this is the “world name” field rather than a raw launch flag.

05Start the server and verify

Start the server, let it finish loading, and join. You should spawn into familiar terrain with builds, map exploration, and boss progress intact. The seed needs no separate handling — it is stored inside the .fwl, so uploading the pair preserves it automatically. One thing that does not carry over with the world: player characters. Valheim characters are stored client-side on each player's own machine, so everyone keeps their own character, inventory and skills regardless of which server they join.

Run it on HostPanel: our Valheim server hosting plans support world uploads via the file manager, with the world name set from the panel and automatic backups from day one.

Troubleshooting

The server loaded a completely fresh world

The -world name does not match the uploaded files — check spelling and case against the filenames — or the files landed in the wrong folder. The new world the server just generated will have created its own .db/.fwl pair under the configured name; stop the server, remove those, fix the name/path, and start again.

Right seed and world name, but no builds or progress

Only the .fwl made it across. The .fwl carries the name and seed, so the server regenerated matching terrain from scratch and created a fresh .db — everything built or explored lives in the original .db. Stop the server, upload the real .db (overwriting the newly generated one), and start again.

The world uploaded fine but is out of date

You probably copied the files while Valheim or the old server was still running, or grabbed a stale .old copy. Close the game on the source machine, copy the current .db/.fwl pair (check the modified timestamps), and re-upload with the target server stopped.