How to Host a Vintage Story Server (2026 Guide)

Host a Vintage Story server: run VintagestoryServer, edit serverconfig.json, open port 42420 TCP and UDP, set world generation, add mods and whitelist players.

Updated Oct 3, 2026 · 6 min read

On this page

To host a Vintage Story server, install the .NET 10 runtime (needed since 1.22), download the server for your game version, and run VintagestoryServer with a --dataPath folder. Settings live in serverconfig.json in that folder, the default port is 42420 (open both TCP and UDP), and dedicated servers whitelist by default, so add each friend with /player NAME whitelist on. Mods are .zip files from the ModDB dropped into the Mods folder.

A Vintage Story settlement with fields and timber buildings on a multiplayer server

What do you need to run a Vintage Story server?

Vintage Story is light compared with most 3D survival games. The developers suggest about 1 GB of RAM plus 300 MB per player, and mods come on top. Explored terrain grows over the months too, so leave headroom.

Group RAM Notes
2 to 6 friends, vanilla 4 GB Typical private world
8 or more, or a mod list 8 GB Room for content mods and a wide explored map
Busy server with a big modpack 12 GB Public or long running community worlds

Software wise you need the .NET runtime that matches your game version: .NET 10 for 1.22 and newer, .NET 8 for 1.21. The server runs on Windows and Linux, including ARM64. The dedicated server page on the Vintage Story wiki lists every requirement and has an install script for Linux.

As of October 2026 the stable branch is 1.22.x. 1.22.0 arrived on 21 April 2026 with fishing, grindstones and blade sharpening, and patch releases have followed since. Server and players must run the same version, so pick yours before inviting anyone.

How do I install the server?

Windows: the normal game install already contains VintagestoryServer.exe. You can also download the standalone server from your account page at vintagestory.at. Run it with a separate data folder so the server's saves and config do not mix with your own single player data:

"C:\Games\Vintagestory\VintagestoryServer.exe" --dataPath="C:\VSserverData"

Linux: download the server archive for your version from your account page, unpack it, install the .NET runtime and start it:

dotnet VintagestoryServer.dll --dataPath /home/vs/data

The bundled server.sh script wraps start, stop and status commands if you want something closer to a service. Run the server once, stop it with /stop, and the data folder now holds serverconfig.json, Saves, Mods and Logs.

What goes in serverconfig.json?

Stop the server before editing, or your changes can be overwritten. The top level settings most groups change:

{
  "ServerName": "Our Vintage Story Server",
  "Port": 42420,
  "MaxClients": 16,
  "Password": null,
  "WhitelistMode": 0,
  "AdvertiseServer": false,
  "ModPaths": ["Mods"],
  "DefaultRoleCode": "suplayer"
}
Key Default What it does
ServerName Vintage Story Server Name in the server list
Port 42420 Game port, TCP and UDP
MaxClients 16 Player cap
Password null Join password
WhitelistMode 0 0 is default (whitelist on for dedicated servers), 1 is off, 2 is on
AdvertiseServer false List the server on the public master list
ModPaths Mods Folders the server loads mods from
DefaultRoleCode suplayer Role new players get (survival player)
Roles The role list and what each role may do

How do I set up world generation?

World generation is set in the WorldConfig block, and most of it only applies when a world is first created. Decide before the first start:

"WorldConfig": {
  "Seed": null,
  "SaveFileLocation": "C:\\VSserverData\\Saves\\default.vcdbs",
  "WorldName": "A new world",
  "PlayStyle": "surviveandbuild",
  "WorldType": "standard",
  "MapSizeY": null,
  "WorldConfiguration": {
    "gameMode": "survival",
    "worldClimate": "realistic",
    "deathPunishment": "drop",
    "temporalStorms": "sometimes",
    "worldWidth": "1024000"
  }
}
  • PlayStyle picks the preset: surviveandbuild is the standard experience, and the others include wildernesssurvival (harsher), exploration and creativebuilding.
  • Seed set to a number reproduces a world you liked. null picks one at random.
  • WorldConfiguration holds the individual rules: climate, death penalty, temporal storms, world size and many more. The easiest way to get a full, valid block is to create a single player world with the settings you want and copy the values.
  • SaveFileLocation decides which save loads. Point it at a new file name to start a fresh world without deleting the old one.

How do I add mods?

Vintage Story mods come from the ModDB at mods.vintagestory.at. Download the version that matches your game version, then upload the .zip into the server's Mods folder and restart. Do not unzip it.

The nice part: mods marked universal or server side are offered to players automatically when they join, so friends do not have to hunt down your mod list. Client only mods (shaders, minimaps, HUD tweaks) are each player's choice.

Big content mods can break an older world after an update. Back up the Saves folder before updating the game or any mod, and update mods and game version together.

How do I manage the whitelist and admins?

Dedicated servers whitelist by default, which surprises a lot of first time hosts: a friend connects and gets turned away. From the server console:

/op YourName
/player FriendName whitelist on

/op gives full admin rights, after which you can run the rest from in game chat. /player NAME whitelist off removes someone. To run an open server instead, set WhitelistMode to 1 and restart, ideally with a Password set. For public servers, the /land commands and roles help with claims and protecting builds.

What port does a Vintage Story server use?

Port 42420. Since 1.20 the game uses both protocols, so forward and allow TCP and UDP 42420. Players join through Multiplayer > Add server with your IP, plus :port if you changed it. If you have never forwarded a port, our port forwarding guide covers it.

How do I move my single player world to the server?

Single player saves are .vcdbs files in %AppData%\VintagestoryData\Saves on Windows. Stop the server, upload the file into the server's Saves folder (SFTP is easiest, see what SFTP is), and point SaveFileLocation at it. Make sure the server runs the same game version and mods as the world was played with.

The easy option: host it with GamezServers

Our Vintage Story server hosting lets you pick the release branch (stable, unstable or pre-release) and exact version from the panel, so the server always matches your group's client. serverconfig.json is in the file manager, mods upload over SFTP, and you can bring a single player save.

Plan RAM Price a month
Starter 4 GB 9.99 USD
Standard 8 GB 19.99 USD
Pro 12 GB 29.99 USD

New customers get 50% off the first month on monthly plans, and backups run before game updates. A settlement can split the bill so everyone pays their own share. Looking for something similar to play next? See the best cozy games with dedicated servers.

FAQ

What port does a Vintage Story server use?

42420 by default, over both TCP and UDP since version 1.20. Change it with Port in serverconfig.json.

Why can my friend not join my Vintage Story server?

Most often the whitelist. Dedicated servers whitelist by default, so run /player NAME whitelist on. A version mismatch between server and client is the second most common cause.

How much RAM does a Vintage Story server need?

About 1 GB plus 300 MB per player, before mods. 4 GB suits a small vanilla group and 8 GB a modded one.

Do players have to install the server's mods?

Mostly not. Universal and server side mods are offered automatically when a player joins. Client only mods are optional.

How do I start a new world without losing the old one?

Stop the server and change SaveFileLocation to a new file name. A new world generates on the next start, and the old save stays in the Saves folder.

Skip the setup. Your own Vintage Story server.

$4.99USD first month

Then $9.99/mo. Just trying it? $2.50 for 3 days

Keep reading