serverconfig.json is Vintage Story’s main dedicated-server configuration file. It controls the server’s name, network port, public listing, password, player access, roles, performance limits, mods, logging, and the settings used when a world is created. On Windows it is normally at %appdata%/VintageStoryData/serverconfig.json; on Linux the usual path is /var/vintagestory/data/serverconfig.json, unless you configured a different data directory. Stop the server before editing, keep the JSON valid, save a backup, and relaunch: configuration changes do not apply while the process is running.
Godlike.Host offers hosted Vintage Story servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
What serverconfig.json controls
A dedicated Vintage Story server reads serverconfig.json from its data path at startup. The file is separate from the game client’s options and from an individual world save. It determines how the server presents itself, where it listens, who can join, which role new players receive, how much work it attempts to do, where it finds mods, and which world-generation options are used for a new world.
As an Amazon Associate I earn from qualifying purchases.
Free tools Windows power users keep installed
One-click scans. No signup required.
The official Server Config reference was last verified for Vintage Story 1.20.0. Field names and access-control behavior can change between game versions, so check the comments in the configuration generated by your own server before copying an older file.
Finding the file on Windows and Linux
Windows default location
The multiplayer setup guide gives this default Windows path:
#1 Best Overall
- ENTERTAINING AND UNEXPECTED QUESTIONS: This handy box is filled with 140 surprising and engaging prompts to inspire reminiscences between family, friends, or couples!
- FAMILY GAME NIGHT FUN: A special way to inspire intergenerational sharing. Great family game for kids and adults.
- TAKE IT ANYWHERE: The portable box is the ideal size to throw in your bag to take on vacation or to a family get-together.
- A FUN GIFT: Perfect for game night enthusiasts; kids, parents, and grandparents wanting to connect across the generations; anyone in search of birthday presents, anniversary gifts, or stocking stuffers for adults, teens, or the whole family.
- EXPLORE THE ENTIRE SERIES: This game is part of the Games Room series, a collection of elegantly designed, geometrically patterned small boxes filled with engaging games to inspire lively conversation and endless laughs.
%appdata%/VintageStoryData/serverconfig.json
In File Explorer, enter %appdata% in the address bar and open the VintageStoryData folder. If you started the server with a custom data-path argument or service configuration, use that configured directory instead of assuming the default.
Linux default location
The documented Linux path is:
/var/vintagestory/data/serverconfig.json
Package layouts, containers, systemd units, and manual installations can place the data directory elsewhere. The authoritative location is the server’s configured data path. If you cannot find the file, inspect the startup command or service unit for its data-directory setting, then look for serverconfig.json below that directory.
If no file exists
Run the dedicated server once so it can create its data files, stop it cleanly, and then inspect the data directory. Do not create several copies in different folders and edit one at random; the server will only read the file associated with the data path used at launch.
Core server settings
The following fields are the ones most administrators change. Values shown as defaults are the documented values in the official 1.20.0 example; your generated file may contain additional fields or comments.
| Setting | Purpose | Documented default or behavior |
|---|---|---|
ServerName |
Name shown to players and in listings | Set the text you want displayed |
ServerDescription |
Longer description for the server browser | Set your own description |
WelcomeMessage |
Message shown when a player joins | The {0} token is replaced by the player’s nickname |
Ip |
Network interface on which the server listens | If omitted, listens on all interfaces |
Port |
TCP/UDP game-listening port | 42420 |
Upnp |
Whether the server attempts automatic router port forwarding | Controlled by the generated configuration |
AdvertiseServer |
Whether to publish the server in the public list | Disabled by default starting with version 1.20 |
Password |
Password required to log in | A non-null value enables password login |
MaxClients |
Maximum simultaneous players | 16 |
MaxChunkRadius |
How far around players the server keeps chunks active | 12 |
ClientConnectionTimeout |
How long a client connection may take before timing out | 150 seconds |
DefaultRoleCode |
Role assigned to a newly joining player | Choose a role such as suplayer or a restricted suvisitor |
ModPaths |
Directories searched for server mods | Use paths appropriate to your installation |
WorldConfig |
Nested world-save and world-creation settings | Contains save location, world name, type, play style, and generation options |
JSON is case-sensitive. Keep property names exactly as generated, use double quotation marks around strings, and do not leave a trailing comma after the final property in an object.
Changing the listening port and network exposure
Port and interface
Set Port to the number clients should use. The documented default is 42420. If another application already occupies that port, choose an unused port and allow it through the host firewall. The Ip field limits listening to a particular local interface; omitting it makes the server listen on all interfaces, which is convenient for multi-interface machines but exposes more network interfaces than a deliberately bound address.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesRank #2
- HOWDY PARTNER - Welcome to Disney Pixar Toy Story Obstacles & Adventures, the cooperative deck-building game that brings the world of Toy Story to life! Play as your favorite characters from the films - Sheriff Woody, Buzz Lightyear, Jesse, Rex and Bo Peep
- TO INFINITY, AND BEYOND - This family board game features artwork, characters, obstacles, and adventures from across all the Toy Story movies and television films - Toy Story, Toy Story 2, Toy Story 3, Toy Story 4, Toy Story of Terror!, and Toy Story That Time Forgot
- THERE'S A SNAKE IN MY BOOT - Watch out for the hazards and obstacles that try and end playtime, While the toys may be cute, don't let them deceive you as there are serious challenges along the way
- YOU'VE GOT A FRIEND IN ME - Work together in this cooperative group game as you build your deck and move along the 6 sequential games that build on their level of difficulty
- 2-5 players | Ages 8+ | 30-90+ Min Play Time
UPnP and manual forwarding
Upnp controls whether the server asks a compatible router to create a port-forwarding rule automatically. UPnP can simplify a home setup, but it depends on router support and gives the application a way to alter router mappings. If you prefer predictable network changes, disable UPnP and create a forwarding rule manually for the selected port, then open the same port in the operating system firewall.
Public listing
AdvertiseServer controls publication in Vintage Story’s public server list. Leave it false for a private group and give players the address directly. If you turn advertising on, use a strong password or whitelist rather than treating obscurity as access control.
Passwords, whitelist modes, and player roles
Password access
Set Password to a non-null string to require a login password. Use a long, unique value and distribute it through a private channel. A password is shared by everyone who needs access; it does not replace per-player authorization when you need individual control.
Whitelist behavior in version 1.20 and later
Access-control naming is version-sensitive. The Dedicated Server guide states that dedicated servers use whitelisting by default as of game version 1.20. Use the current WhitelistMode field, whose documented values are:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →off: do not require whitelist membership.on: require players to be on the whitelist.default: use the version’s default behavior.
The older OnlyWhitelisted field is obsolete for 1.20 and later. Do not add both fields and expect them to be merged; remove or ignore the legacy setting according to the version-specific guide.
Adding and removing players
For a 1.20-or-newer server, the documented command to whitelist a player is:
Rank #3
- A WHOLE NEW WAY TO PARTY: Skip the small talk and spark unforgettable conversations with It’s Kind of a Fun Story, the adult party game where the story of your life earns you points. Perfect for adult game nights, pre-games, happy hours, bachelorette parties, or family gatherings.
- EASY TO LEARN, FUN TO PLAY: Take turns drawing cards and answering questions to be the first player to earn seven points! Story Cards put you in the spotlight to tell a story from your life, but watch out, if another player thinks they have a better tale, they can play a Hear Me Out Card to try to steal your points. Left or Right, Point a Finger, and Everybody Answers cards keep every round fresh, fast-paced, and full of surprises.
- FUN, HEARTFELT, AND FULL OF CONNECTION: With 320 conversation cards, every round is unique, hilarious, and full of exciting stories. More than just a funny adult card game, it brings people closer: laugh together, share embarrassing memories, and bond over stories that are silly, surprising, or even deep.
- CUSTOMIZE YOUR VIBE: Keep it clean or make it spicy with the included R-Rated mini-expansion pack. Clearly marked R-Rated cards let you adjust to your group, and every player gets a Nope Card to skip any topic they’re not comfortable with. Everyone stays engaged and having fun. Perfect as a drinking game, icebreaker game, or casual conversation game.
- PERFECT FOR EVERY OCCASION: Ideal for friends’ game nights, family gatherings, pre-games, happy hours, bachelorette parties, or adult game nights. It’s Kind of a Fun Story is the ultimate adult storytelling card game that gets everyone laughing, sharing, and connecting every time you play.
/player <username> whitelist on
Run it from the server console or an authorized in-game account, replacing <username> with the player’s exact game name. Use the corresponding whitelist-off command when access should be revoked. Keep administrative permissions limited to trusted operators.
Default roles
DefaultRoleCode determines the role given to new players. The guide uses suplayer for a normal survival player and suvisitor for a more restricted visitor role. Assign the least-privileged default that fits your community, then grant elevated privileges deliberately rather than making every new account an administrator.
Performance limits: MaxClients and MaxChunkRadius
Player capacity
MaxClients defaults to 16. Raising it does not create extra CPU or memory; it permits more simultaneous connections and increases the work the server may need to perform. The official comments warn that higher values require more RAM and CPU.
Chunk radius
MaxChunkRadius defaults to 12. A larger radius keeps more terrain available around players, which can improve the experience for fast travel and distant visibility but increases memory use, chunk loading, and generation work. Change one performance setting at a time and watch server behavior under the actual number of players and mods you run.
Connection timeout
ClientConnectionTimeout is documented as 150 seconds. A lower value can drop very slow or unstable connections sooner; a higher value gives a struggling client longer to complete its connection. It is a connection-establishment limit, not a way to fix overloaded simulation performance.
Recommended Free Tools
Mods and client synchronization
ModPaths tells the server where to search for installed mods. Keep paths explicit and ensure the account running the server can read them. The dedicated-server guide distinguishes mod types:
Rank #4
- In Prey, you awaken aboard Talos I, a space station orbiting the moon in the year 2032.
- You are the key subject of an experiment meant to alter humanity forever - but things have gone terribly wrong.
- The space station has been overrun by hostile aliens and you are now being hunted.
- Server-side and universal mods can be offered for client download through the server’s mod mechanism.
- Client-side-only mods must be installed by each player separately.
When a mod update causes startup errors or join failures, first confirm that the server and clients have compatible versions, then temporarily remove the newest mod from the configured path and relaunch. Avoid changing the mod directory while the server is running; stop it, make a backup, adjust one mod at a time, and review the log after restart.
Understanding the WorldConfig section
WorldConfig contains settings tied to a world save and to the options used when a new world is generated. Important members include SaveFileLocation, WorldName, WorldType, PlayStyle, and a nested WorldConfiguration object.
Generation and play options
The nested world configuration can include game mode, climate, seasons, death punishment, days per month, cave-ins, and related generation choices. These options determine the initial rules and terrain of a newly created world. Keep them in the world section rather than looking for separate top-level server fields.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchStarting with a custom world
The official setup guidance recommends creating the world in single-player with the advanced world-creation options, then transferring that save to the server while the server is stopped. The workflow is:
- Create and test the world in single-player using the desired advanced settings.
- Locate the resulting
.vcdbssave file and make a backup copy. - Stop the dedicated server before changing files.
- Copy the save into the server’s data area, rename it to
default.vcdbs, or setWorldConfig.SaveFileLocationto the chosen.vcdbsfile. - Start the server and confirm that the expected world name, climate, and rules load before inviting players.
Changing initial-generation values in serverconfig.json does not regenerate terrain in an existing save. For an already-created world, use the documented world-configuration commands where supported, or create a new save when a generation change cannot be applied safely.
A safe edit-and-restart procedure
- Stop the server cleanly. Editing while it is running risks having the process overwrite your changes or continuing with old values.
- Back up both
serverconfig.jsonand the active.vcdbsworld save. Include the date in the backup filename. - Open the configuration in a text editor that does not silently convert quotes or add formatting. Make a small, clearly identified change.
- Check JSON syntax: matching braces, commas between properties, double-quoted strings, and valid JSON booleans such as
trueandfalserather than quoted words. - Save the file in the same data directory the server uses. Confirm that the editor did not create
serverconfig.json.txt. - Relaunch the dedicated server. The official guide states that serverconfig changes do not take effect until the server is relaunched.
- Read the startup log and test the changed behavior with a non-administrator account before opening the server to everyone.
For supported values, commands can be safer than direct editing on a live installation. Examples documented by the guide include:
Best Value
- 3-Piece Premium Metal Puzzle Set for Adults 15+: This curated bundle has 3 unique vintage metal disentanglement puzzles for teens and adults craving brain challenges. Precision-cast high-strength alloy brings solid weight and smooth burr-free edges, no cheap plastic parts at all.
- Durable Anti-Rust Build for Long-Term Play & Collection:Premium electroplated vintage metal coating resists scratches, fading and rust after months of repeated twisting. The sturdy structure won’t bend or break easily, making it a long-lasting collection piece for countless play sessions.
- Boost Spatial Logic & Focus in a Screen-Free Way:This 3D IQ game trains your patience, spatial imagination and reverse thinking as you twist and explore hidden mechanisms. Gradual difficulty keeps you engaged for hours, melting work stress and keeping your mind sharp.
- Pocket-Sized Fun for Travel, Parties & Gatherings:Compact and lightweight enough to slip into your bag or jeans pocket, it lets you enjoy brain teasers on commutes, trips or family game nights. It livens up group interactions and pulls everyone away from mindless scrolling.
- Thoughtful Gift for Puzzle Lovers & Special Occasions:With clear illustrated instructions, this challenging disentanglement set is perfect for birthdays, anniversaries and holiday gifting. It’s more than a game — a fun, memorable way to share quality time with friends and partners.
/serverconfig name <new-name>
/serverconfig password <new-password>
/serverconfig advertise <true|false>
/serverconfig upnp <true|false>
/serverconfig WhitelistMode <off|on|default>
Use the command spelling and value format accepted by the version running on your server, then verify the resulting configuration after a restart.
Troubleshooting changes that do not apply
The server still shows the old name or port
- Confirm the process was fully stopped and relaunched; a reload is not enough.
- Check that you edited the data directory used by the startup command, not a second installation.
- Verify the property name and capitalization, especially
Port,Ip, andAdvertiseServer. - Look for a JSON parse error in the startup log caused by a missing comma or quote.
Players cannot connect after a port change
- Give clients the new port and confirm the host firewall allows it.
- Forward the same port on the router if the server is behind NAT.
- If relying on UPnP, verify that the router accepted the mapping; otherwise use a manual rule.
- Check that
Ipis not bound to an interface that does not carry the incoming traffic.
Players are rejected unexpectedly
- Check the active
WhitelistModevalue and the player’s exact username. - On version 1.20 or later, do not rely on obsolete
OnlyWhitelistedsettings. - Check whether a password is still configured and communicate the current value securely.
- Verify that the player’s assigned role is not more restrictive than intended.
A world setting appears unchanged
World-generation choices apply when a world is created. Editing them after terrain already exists will not rebuild that terrain. Restore the backup if necessary, use a supported world-configuration command, or make a new world with the desired options.
Security and administration checklist
- Use a strong password whenever password access is enabled.
- Keep
AdvertiseServerset tofalsefor a private server. - For version 1.20 and later, use
WhitelistModeand the documented/player <username> whitelist oncommand. - Grant administrator privileges deliberately through console commands or controlled startup commands.
- Back up the configuration and world before edits, migrations, mod changes, or version updates.
- Limit filesystem permissions so ordinary users cannot replace the configuration or world save.
- Review logs after every restart and investigate unknown connection or privilege changes.
Self-hosting decisions that affect this file
Whether the server runs on a home PC, a Linux virtual machine, a container, or managed infrastructure, the same operational questions determine how easy serverconfig.json is to maintain:
| Concern | What to verify |
|---|---|
| Operating system | Windows, Linux, and ARM64 support for the server build and any required runtime |
| Data-path control | Which directory actually contains serverconfig.json and the .vcdbs save |
| Backups | Whether configuration and saves can be copied and restored without the process running |
| Networking | Firewall rules, port forwarding, UPnP behavior, and public-listing control |
| Mods | How server-side, universal, and client-side mods are installed and synchronized |
| Resources | RAM and CPU headroom for the selected MaxClients and MaxChunkRadius |
| Administration | Console access, controlled restarts, logs, and permission management |
| Updates | A rollback plan for the server binary, configuration, mods, and world save |
On Linux, a systemd service or container can make restarts and backups repeatable, but it also makes the service’s data path less obvious. Record the path in the service definition and test a restore before relying on automation.
Documented defaults at a glance
| Field | Value | Qualification |
|---|---|---|
Port |
42420 | Official Server Config example |
MaxClients |
16 | Default capacity; higher values require more RAM and CPU |
MaxChunkRadius |
12 | Higher values increase resource use |
ClientConnectionTimeout |
150 seconds | Connection timeout shown in the official example |
The Bottom Line
Edit the serverconfig.json that belongs to the server’s actual data path, stop the process first, validate the JSON, and relaunch before testing. Use top-level server fields for networking and access, WorldConfig for world and generation options, and version-appropriate whitelist commands for player control.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

