Skip to main content

Server Configuration

Configure your Vintage Story server with the serverconfig.json file.

Accessing Configuration

  1. Open Files in your panel
  2. Navigate to /data/ folder
  3. Open serverconfig.json
  4. Edit and save
  5. Restart server

Basic Server Settings

{
  "ServerName": "My Vintage Story Server",
  "ServerDescription": "A survival adventure awaits!",
  "MaxClients": 16,
  "Password": "",
  "WelcomeMessage": "Welcome to our server!"
}

Essential Options

SettingDescriptionDefault
ServerNameServer name in browser”Vintage Story Server”
ServerDescriptionShort description""
MaxClientsMaximum players16
PasswordServer password (empty = none)""
WelcomeMessageMessage on join""

Gameplay Settings

World Configuration

{
  "WorldConfig": {
    "WorldName": "world",
    "Seed": "",
    "WorldWidth": 1024000,
    "WorldHeight": 256,
    "WorldDepth": 1024000
  }
}

Spawn Settings

{
  "SpawnPlayerNear": "spawnpoint",
  "SpawnPlayerDistance": 100,
  "SpawnPlayerFarDistance": 5000
}

Game Mode

{
  "StartGameMode": "survival",
  "HostedMode": "false"
}

Player Settings

Default Permissions

{
  "DefaultRoleCode": "suplayer",
  "DefaultSpawnX": 0,
  "DefaultSpawnY": -1,
  "DefaultSpawnZ": 0
}

Available Roles

RoleDescription
suplayerStandard player permissions
sumodSuper moderator
adminFull administrator

Player Protection

{
  "OnlyWhitelisted": false,
  "VerifyPlayerAuth": true
}

Performance Settings

Tick Rates

{
  "TickRateMultiplier": 1.0,
  "MaxChunkRadius": 12,
  "MaxMainThreadBlockTicks": 10000
}

Chunk Loading

{
  "ChunkUnloadDistance": 128,
  "ChunkUnloadInterval": 180
}

Network Settings

Connection

{
  "Port": 42420,
  "UpnpEnabled": false,
  "CompressPackets": true
}

Rate Limiting

{
  "MaxConnectingClients": 50,
  "ConnectionTimeout": 15
}

Modding Settings

{
  "ModPaths": ["Mods"],
  "AllowAnyMod": false,
  "AllowedMods": []
}

Allowing Specific Mods

{
  "AllowAnyMod": false,
  "AllowedMods": [
    "modname1",
    "modname2"
  ]
}

Allow All Mods

{
  "AllowAnyMod": true
}

Backup Settings

{
  "AutoBackup": true,
  "AutoBackupInterval": 3600,
  "MaxBackups": 5
}
SettingDescription
AutoBackupEnable automatic backups
AutoBackupIntervalSeconds between backups
MaxBackupsNumber of backups to keep

Chat & Communication

{
  "AllowChat": true,
  "ChatRateLimit": 0.5,
  "MaxChatMessageLength": 500
}

Logging

{
  "LogChat": true,
  "LogCommands": true,
  "LogConnections": true
}

Full Example Configuration

{
  "ServerName": "Vexium VS Server",
  "ServerDescription": "A challenging survival experience",
  "MaxClients": 20,
  "Password": "",
  "WelcomeMessage": "Welcome! Type /help for commands.",
  
  "WorldConfig": {
    "WorldName": "world",
    "Seed": "",
    "WorldWidth": 1024000,
    "WorldHeight": 256
  },
  
  "DefaultRoleCode": "suplayer",
  "OnlyWhitelisted": false,
  "VerifyPlayerAuth": true,
  
  "Port": 42420,
  "CompressPackets": true,
  
  "AutoBackup": true,
  "AutoBackupInterval": 7200,
  "MaxBackups": 10,
  
  "AllowChat": true,
  "LogChat": true,
  "LogCommands": true
}

Configuration Tips

Always backup your config before making changes.
JSON format requires proper syntax. Use a JSON validator if you have issues.
Changes require a server restart to take effect.

Troubleshooting

Invalid JSON

If server won’t start after editing config:
  1. Check for missing commas or brackets
  2. Validate JSON at jsonlint.com
  3. Restore from backup if needed

Settings Not Applying

  1. Verify you saved the file
  2. Restart the server (not just reload)
  3. Check console for error messages

Next Steps