Web Analytics Made Easy - Statcounter

Tools / Valheim

Valheim World & Modpack Doctor

One page, two checkups. World: inspect a .fwl world file right in your browser - world name, seed, and stored world-modifier keys - then generate the documented -preset / -modifier / -setkey startup flags. Modpack: paste a Thunderstore profile code or package list and get missing dependencies, deprecated packages, version drift, and server-vs-client relevance.

Valheim 1.0 broke the mod stack. Iron Gate's own position is that with no official mod support they cannot guarantee any mod is functional at 1.0, and a major version bump normally breaks BepInEx plugins until each author ships an update. Launch day produced real damage from stale plugins, including a character duplicating itself repeatedly. Use the modpack check below to see which of your packages have shipped a new build and which are still on a pre-1.0 version, and load the world vanilla before concluding the save itself is damaged. If the world will not load at all.

Honest scope: your world header is read with the browser's FileReader and never uploaded. This tool deliberately does not write or edit world bytes - world modifiers are changed in-game or with the officially documented startup flags, which is exactly what it generates. Modpack data comes live from Thunderstore's API; where a package declares no Server-side/Client-side tag the verdict is "verify manually", never a guess.

1 · Inspect your world (in your browser)

Both save formats are read. Valheim 1.0 stores each world as a folder containing _main.N.fwl2, _main.N.db2, a chunk index and one .chunk file per piece of terrain. Before 1.0 a world was a .fwl and .db pair, and those files are still on disk after updating, frozen at your last pre-1.0 save.

Find either in worlds_local/ (Windows: %USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds_local, Linux server: ~/.config/unity3d/IronGate/Valheim/worlds_local).


Pick the folder named after your world. The newest save generation that finished writing (the one with its .ok marker) is the one read.

Parsed locally with FileReader. Nothing leaves your browser.

2 · World-modifier startup flags

Emits the flags documented in Iron Gate's dedicated-server guide, appended to a complete startup command. Reading a .fwl above pre-fills recognized modifiers here.

Do not type your real server password here. The output uses a placeholder.

Generating...

3 · Thunderstore modpack checkup

Text only, max 100 KB and 150 packages. Package data is fetched from thunderstore.io and cached.

Asking Thunderstore...

What's inside a .fwl file

A .fwl is the small metadata companion of the big .db world file. Its layout (little-endian, verified against multiple open-source parsers) is: a 4-byte payload length, the world version, the world name and seed as length-prefixed strings, the numeric seed value, the world's unique ID, the generator version, and - on worlds saved since the Hildir's Request update - the list of world-modifier keys such as combat_hard or nomap. That is what the inspector shows. Editing those bytes by hand is how worlds get corrupted, so this tool reads only, and hands you the equivalent documented startup flags instead.

Documented world-modifier flags

FlagAllowed values
-presetnormal, casual, easy, hard, hardcore, immersive, hammer
-modifier combatveryeasy, easy, hard, veryhard
-modifier deathpenaltycasual, veryeasy, easy, hard, hardcore
-modifier resourcesmuchless, less, more, muchmore, most
-modifier raidsnone, muchless, less, more, muchmore
-modifier portalscasual, hard, veryhard
-setkeynobuildcost, playerevents, passivemobs, nomap

Source: Iron Gate's "A Guide to Dedicated Servers" (valheimgame.com). Order matters: -preset first, then -modifier, then -setkey.

FAQ

Is my .fwl really not uploaded?

Really. The inspector uses the browser's FileReader API; there is no upload form and no network request involving the file. You can verify with the network tab open.

Why won't this tool edit my .fwl?

Because writing world files it can't fully verify is how saves get corrupted. The stored modifier keys are readable, and every one of them has a documented startup-flag equivalent - so the safe path (generate the flags, let the game write the file) loses you nothing.

The inspector shows a modifier key it doesn't recognize.

Worlds can carry keys beyond the documented modifier set (in-game sliders write keys like playerdamage 125). Unrecognized keys are shown verbatim and marked "verify manually" - the flag builder only ever emits documented flags.

My profile code returns "not found".

Profile codes are temporary server-side and expire within hours. Re-export the profile in r2modman / Thunderstore Mod Manager and paste the fresh code, or paste the package list as text.

Does "update available" mean I must update?

No. Pinned versions keep working; the finding is informational. When you do update, update the server and every client together - version drift causes join errors.

What should I do before updating mods?

Stop the server and copy the world somewhere safe first: on 1.0 that is the whole world folder, worlds_local/<World>/, not just one file. A mod update can change what the world holds, and a copy taken just before it is the clean way back. If you skipped it, World Recovery can restore one of Valheim's own <World>_backup_auto-<date> folders instead.

This tool: v1.11 · updated 24 Sep 2026