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.
VintagestoryData folder here
Its Saves folder or a single .vcdbs works too.
or just the world file:
Want this on a real server? Supercraft hosts Vintage Story →
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.
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 →