Web Analytics Made Easy - Statcounter

Tools / Vintage Story

Vintage Story World Handoff

Moving a world onto a dedicated server means putting the .vcdbs in the right place, bringing the right mods, and setting one line in serverconfig.json that silently costs you the world if it's wrong. Drop your folder and get a bundle laid out the way a server expects it. Read and packed in your browser; nothing is uploaded.

Drop your VintagestoryData folder here

Its Saves folder or a single .vcdbs works too.

or just the world file:

Your world never leaves your browser Server layout matches what we run in production Caches and logs dropped; unreadable mods kept

The one line that loses worlds

Vintage Story finds its world through SaveFileLocation in serverconfig.json. On a server it looks like this:

"SaveFileLocation": "./data/Saves/myworld.vcdbs"

If that path doesn't resolve, the server does not stop and does not print anything a normal person would notice. It generates a fresh world and starts it, which from the outside is indistinguishable from your world having been deleted. People then upload the file again, or restore a backup over the top, and make it worse. This tool writes the line for you from the filename it actually found, so the two cannot disagree.

While you are in that file, look at PassTimeWhenEmpty. When it is true the calendar keeps running with nobody online, and at default settings a game day is 48 real minutes, so an empty server gets through a 9-day month in about 7 hours, and everything that runs on the calendar runs with it. No command turns the calendar back afterwards. It is false by default, which pauses the world when the last player leaves.

Mods travel with the world, but not all of them

A world generated with content mods has those blocks and items baked into it. Start it on a server without those mods and the content disappears from the world, which is not something a restart fixes. So server-side mods have to come across.

Client-side mods are the opposite: they do nothing on a server, and each player installs them locally. This tool reads each mod's modinfo.json and separates the two. Where a zip has no readable modinfo.json, it is included anyway, because dropping a mod the world was built with costs far more than carrying a spare one.

What is deliberately left behind

Cache, Logs, RiverCache and BackupSaves are not in the bundle. The server rebuilds all of them, and on a mature world they are usually most of the bytes. Leaving them out is the difference between a bundle you can move and one you cannot.

Very large worlds

Past about half a gigabyte the world is described rather than packed: a browser cannot hold a multi-gigabyte zip in memory. That is not much of a limitation in practice, because a .vcdbs is a single file — upload it straight into the server's Worlds folder and use the config and mods from the bundle.

Player data

Single-player character data (inventory, position, health) lives inside the .vcdbs, so it moves with the world and needs nothing extra. A server's Playerdata folder is created per player on first join, so there is nothing to bring from a single-player world.

Moving to a managed server

On a managed Vintage Story server the Worlds and Mods folders are exposed directly in the file manager, so the bundle above maps onto them one for one, and a snapshot is taken before the swap.

Check the mods survive your version → · Check a world for damage → · Build a worldconfig →

Frequently asked questions

How do I move a single-player Vintage Story world to a dedicated server?

Stop the server first, then put the world's .vcdbs file into the server's Saves folder, copy the server-side mods into its Mods folder, and set SaveFileLocation in serverconfig.json to ./data/Saves/yourworld.vcdbs. Start the server and confirm the log names your world before letting anyone join. The single-player character data lives inside the .vcdbs, so it travels with the world.

Why did my Vintage Story server generate a new world instead of loading mine?

Almost always because SaveFileLocation does not resolve to the file you uploaded. Vintage Story does not raise a visible error for a path it cannot find; it simply creates a fresh world, which looks exactly like losing the old one. Check the value is ./data/Saves/ followed by the exact filename, including case and the .vcdbs extension, and that the file really is in the Saves folder.

Do I need to copy my mods to the server too?

Yes, for any mod that added content to the world. A world generated with content mods stores those blocks and items, and without the mods present on the server they disappear from the world. Client-side mods are the exception: they do nothing on a server and each player installs them locally instead.

Does my world get uploaded to this site?

No. The folder is read in your browser and the bundle is packed locally, so nothing is sent anywhere. A Vintage Story world folder can be several gigabytes and there is no upload endpoint here to send it to. Very large worlds are described rather than packed, because a browser cannot hold a multi-gigabyte zip in memory, and a .vcdbs is a single file that uploads fine on its own.

This tool: v1.6 · updated 24 Sep 2026