Playing Vintage Story With Friends: LAN, VPN, or a Hosted Server
"What is the best way to play Vintage Story with a friend or two?" is the most repeated multiplayer question in the community, and it does not have one answer. There are three practical setups, they fail in different ways, and the right one depends less on your technical skill than on whether everyone plays at the same time.
This page compares the three, then tells you what to do regardless of which you pick.
The Three Options at a Glance
| Setup | Who can play, and when | Effort | Where it breaks |
|---|---|---|---|
| Host from your own PC | Only while your machine is on and the game is open | Low, until the network fights you | Port forwarding, CGNAT, your upload speed, your bedtime |
| Virtual LAN or VPN tool | Same as above, still tied to the host being online | Low for you, extra software for everyone else | Every player must install and join the same network; relay latency |
| Always-on server | Anyone, any time, including when you are asleep | One-time setup | Costs money; you pin and manage the version yourself |
Option 1: Host From Your Own Machine
Vintage Story can accept direct connections without any third-party software. The catch is the network path, not the game. Players outside your house have to reach your router, and that is where most attempts die.
The settings that matter live in serverconfig.json:
{
"Port": 42420,
"Ip": null,
"Upnp": false,
"AdvertiseServer": false
}
- Forward both TCP and UDP on the same port. Vintage Story uses 42420 for both. Forwarding only TCP is the single most common mistake.
- Leave
Ipasnullso the server binds to every interface. A fixed bind is for people who know exactly why they need one. - Set
Upnptofalseand forward manually. UPnP frequently reports success while nothing is actually reachable. - Leave
AdvertiseServeroff until a direct IP join works. Getting listed publicly before the port is reachable just adds a variable.
If port forwarding looks perfect and still nothing connects: ask your ISP whether your connection is behind CGNAT. On a CGNAT line you do not have your own public address, so inbound traffic never arrives no matter what the router says. No amount of config fixes this, and it is the point where most people move to option 2 or 3. See Unable to Connect to Server for the full diagnosis order.
Option 2: Virtual LAN and VPN Tools
The community's standard workaround is a virtual LAN tool, which puts every player on one synthetic private network so the game behaves as though you are all in the same building. It sidesteps port forwarding entirely, which is exactly why it gets recommended so often, and it is genuinely the fastest way to get three friends into a world tonight.
Be clear about what it does not solve:
- Everyone installs software and joins the same network before they can play. That is a support burden every time a new person joins.
- The host is still the server. Close the game and the world is gone for everybody.
- Traffic may take a detour through a relay, which can add latency that is worse than a direct connection would have been.
- Whitelisting behaves differently.
WhitelistModedefaults to on for dedicated servers and off for LAN-style play, so confirm which side of that line your setup lands on before assuming strangers cannot walk in.
Option 3: An Always-On Server
A rented or dedicated server is the only option that decouples the world from any one player's machine. That single difference is what people are actually buying, and it matters more than most first-time hosts expect.
- Nobody has to be the host. Your friend in a different timezone can play at 3am without waking you up.
- No port forwarding and no CGNAT problem. The port is already reachable from the internet.
- Progress continues sensibly. Decide deliberately whether
PassTimeWhenEmptyshould be on. Left at the default, world time does not advance while the server is empty, which is usually what small groups want for crops and cellars. - You own the version. That is a responsibility, not a downside. See updating without losing your world.
Which One Should You Pick
| Your situation | Pick |
|---|---|
| Two or three people, same evenings, one of you has a good connection and no CGNAT | Host from your PC |
| You want to play tonight and the router is not cooperating | Virtual LAN tool |
| Different schedules or timezones, or a world you intend to keep for months | Always-on server |
| You are behind CGNAT and want people outside your household to join | Always-on server |
Three Things to Do Whichever You Choose
- Match versions before blaming the network. Client and server builds must agree. A mismatched client cannot connect, and the error can easily read like a connection fault. Check the server log for the incompatible version flag first.
- Back up the world file on a schedule. The world lives in a single
.vcdbsfile underdata/Saves. Copy it while the server is stopped. See Save Management. - Decide your whitelist posture on day one, not after someone unexpected turns up. Admin commands covers the access model.
Next Steps
- How to host a Vintage Story dedicated server
- Joining your server
- Port configuration
- Catching xray, admin abuse, and unapproved mods
The official documentation for the built-in multiplayer path is the Vintage Story multiplayer server wiki page.
Want the always-on option without managing any of it? Run Vintage Story on Supercraft with the port already exposed and the join path handled for you.