How to Set Up a Vintage Story Server
Host a Vintage Story server the developer's way (no SteamCMD): download the server package, install .NET, open port 42420, configure the world, and run it as a service.
Vintage Story is a deep, atmospheric survival sandbox with a devoted community, and it's genuinely pleasant to self-host. It isn't on Steam, so you install the server directly from the developers โ no SteamCMD involved. This guide covers the full setup on a Linux VPS.
What you need
- A Linux VPS: Ubuntu 22.04/24.04. Vintage Story is light โ 2โ4 GB RAM handles a typical group.
- .NET runtime: the server runs on .NET, so you'll install that.
- Open port: TCP 42420 (Vintage Story's default).
Step 1: Create a user and install .NET
sudo adduser --disabled-password --gecos "" vintagestory
sudo apt update
sudo apt install -y dotnet-runtime-7.0 screen curl
Step 2: Download the server package
Grab the latest stable server tarball from the official downloads. Replace the version with the current one from the Vintage Story account/downloads page:
sudo su - vintagestory
mkdir -p ~/server && cd ~/server
curl -sL "https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.19.8.tar.gz" -o vs_server.tar.gz
tar -xzf vs_server.tar.gz
rm vs_server.tar.gz
To update later, download the newer tarball and extract it over the top.
{{SCREENSHOT}}
Step 3: Open the firewall
sudo ufw allow 42420/tcp
sudo ufw reload
Open TCP 42420 on any provider firewall as well.
Step 4: First launch and configuration
Run the server once to generate its config, then stop it:
cd /home/vintagestory/server
./server.sh
Stop it and edit ~/.config/VintagestoryData/serverconfig.json, or manage settings live from the server console. Key settings:
- ServerName โ the name shown to players.
- Password โ set to keep the server private.
- MaxClients โ the player cap.
- WorldConfig โ world type, seed, and playstyle.
- Port โ 42420 by default; match your firewall.
You can also administer a running server from its console with commands like /op yourname to grant yourself admin, and /stop to shut down cleanly.
Step 5: Run it as a systemd service
Create /home/vintagestory/start.sh:
#!/bin/bash
cd /home/vintagestory/server
exec ./server.sh --dataPath /home/vintagestory/.config/VintagestoryData
chmod +x /home/vintagestory/start.sh
# /etc/systemd/system/vintagestory.service
[Unit]
Description=Vintage Story Dedicated Server
After=network-online.target
[Service]
Type=simple
User=vintagestory
ExecStart=/home/vintagestory/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now vintagestory
sudo journalctl -u vintagestory -f
Step 6: Mods
Vintage Story has a first-class mod database. Download .zip mods and drop them in the server's Mods/ folder, then restart. As with most survival games, players generally need the same client-side mods; server-only mods run purely on the server. Because you're managing updates yourself, keep an eye on new releases for security and bug fixes.
Back up your world
Vintage Story keeps its world database and player data in the data path you set (VintagestoryData/). Deep, long-lived worlds are exactly the kind you don't want to lose, so snapshot the data folder on a schedule โ ideally with the server briefly stopped so the database isn't mid-write:
# nightly backup, keep two weeks
0 4 * * * tar -czf /home/vintagestory/backups/vs-$(date +\%F).tar.gz /home/vintagestory/.config/VintagestoryData/Saves && find /home/vintagestory/backups -name 'vs-*' -mtime +14 -delete
Since you handle updates manually rather than through SteamCMD, take a backup before every version upgrade. A scheduled restart keeps a long-running world tidy, and how to back up your game server automatically covers a routine you can reuse across every server you run.
FAQ
What port does a Vintage Story server use?
TCP 42420 by default. Open it on the OS and provider firewalls, or change Port in serverconfig.json.
Do I need SteamCMD for Vintage Story?
No โ Vintage Story isn't distributed via Steam. Download the server package directly from the developers and extract it. Updates work the same way.
How much RAM does a Vintage Story server need?
2โ4 GB suits a typical group. It's a light .NET server, though large worlds and heavy mod lists benefit from a little more.
How do I get admin on a Vintage Story server?
From the server console, run /op yourname. That grants your account operator privileges for admin commands in-game.
Vintage Story runs beautifully on a modest box โ see our affordable VPS plans or explore game server hosting.