Le fichier serverconfig.json est le cœur de votre serveur Vintage Story. Nom affiché, mot de passe, whitelist, nombre de joueurs, PvP, distance de vue, rôles… tout se règle ici. Ce guide passe en revue les options qui comptent vraiment, avec des valeurs recommandées.
Où trouver serverconfig.json ?
Le fichier est créé au premier démarrage du serveur, à la racine du dossier de données :
| Système | Emplacement |
|---|---|
| Windows | %appdata%\VintagestoryData\serverconfig.json |
| Linux | ~/.config/VintagestoryData/serverconfig.json |
Avec --dataPath | À la racine du dossier indiqué |
| Chez HebergTonServ | À la racine des fichiers du serveur, dans le panel |
🚨 Règle d'or : arrêtez le serveur avant d'éditer
Le serveur réécrit serverconfig.json quand il s'arrête. Si vous modifiez le fichier pendant qu'il tourne, vos changements seront perdus. Arrêtez → éditez → redémarrez.
⚠️ JSON strict
Une virgule en trop ou un guillemet oublié empêche le serveur de démarrer. Faites une copie du fichier avant de le modifier et vérifiez la syntaxe avec un validateur JSON en cas de doute.
Identité et accès du serveur
{
"ServerName": "Survie FR - Vintage Story",
"ServerDescription": "Serveur survie francophone, mods légers, whitelist sur Discord.",
"WelcomeMessage": "Bienvenue {0}, survis bien et prospère !",
"ServerLanguage": "fr",
"Password": null,
"MaxClients": 16,
"AdvertiseServer": false
}
| Clé | Défaut | Rôle |
|---|---|---|
ServerName | "Vintage Story Server" | Nom affiché dans la liste des serveurs (4 à 80 caractères) |
ServerDescription | null | Description dans la liste publique (supporte le VTML) |
WelcomeMessage | "Welcome {0}, ..." | Message d’accueil, {0} = pseudo du joueur |
ServerLanguage | "en" | Langue des messages serveur (code ISO à 2 lettres) |
Password | null | Mot de passe de connexion, null = aucun |
MaxClients | 16 | Nombre maximum de joueurs connectés |
MaxClientsInQueue | 0 | Joueurs en file d’attente quand le serveur est plein |
AdvertiseServer | false | Publie le serveur dans la liste publique officielle |
💡 Serveur public
Pour apparaître dans la liste des serveurs en jeu, passez AdvertiseServer à true et soignez ServerName et ServerDescription : ce sont vos seuls arguments face aux autres serveurs.
Whitelist : qui peut rejoindre
Depuis les versions récentes, la whitelist se règle avec WhitelistMode (l’ancienne clé OnlyWhitelisted n’est plus prise en compte).
| Valeur | Mode | Effet |
|---|---|---|
0 | default | Whitelist active sur un serveur dédié, inactive en solo ouvert au LAN |
1 | off | Tout le monde peut rejoindre (sauf bannis) |
2 | on | Seuls les joueurs whitelistés peuvent rejoindre |
Sans éditer le fichier, depuis la console :
/serverconfig whitelistmode on
/player PseudoAmi whitelist on
Réseau
| Clé | Défaut | Rôle |
|---|---|---|
Port | 42420 | Port d’écoute (TCP, et UDP depuis 1.20) |
Ip | null | Interface réseau, null = toutes |
Upnp | false | Ouverture automatique du port sur la box (auto-hébergement) |
CompressPackets | true | Compresse les données envoyées aux joueurs |
ClientConnectionTimeout | 150 | Délai (s) avant déconnexion d’un client muet |
VerifyPlayerAuth | true | Vérifie que chaque joueur possède une licence valide |
🚨 Ne désactivez pas VerifyPlayerAuth
Sans vérification, n'importe qui peut se connecter sous le pseudo de n'importe qui, y compris le vôtre… avec vos droits admin.
Gameplay
| Clé | Défaut | Rôle |
|---|---|---|
AllowPvP | true | Autorise le combat entre joueurs |
AllowFireSpread | true | Le feu se propage aux blocs voisins |
AllowFallingBlocks | true | Sable et gravier tombent |
PassTimeWhenEmpty | false | Le temps (et les saisons) avance sans joueur connecté |
DefaultSpawn | null | Coordonnées du point d’apparition |
WarnClientsAfterAfkSeconds | 0 | Avertit les joueurs inactifs (0 = désactivé) |
KickClientsAfterAfkSeconds | 0 | Expulse les joueurs inactifs (0 = désactivé) |
💡 PassTimeWhenEmpty
Laissez-le à false sur un petit serveur entre amis : sinon vos cultures pourrissent et l'hiver arrive pendant que tout le monde dort. Sur un serveur public actif, true garde un monde vivant.
Performances
Ces options ont un impact direct sur la charge CPU et RAM. Détails dans notre guide pour optimiser son serveur Vintage Story.
| Clé | Défaut | Rôle |
|---|---|---|
MaxChunkRadius | 12 | Distance de vue maximale autorisée aux joueurs (en chunks) |
TickTime | 33.333 | Durée d’un tick en ms (30 ticks/s). Ne pas modifier |
SpawnCapPlayerScaling | 0.5 | Augmentation du nombre de créatures par joueur |
BlockTickChunkRange | 5 | Rayon (chunks) des ticks aléatoires de blocs autour des joueurs |
RandomBlockTicksPerChunk | 16 | Fréquence des mises à jour aléatoires (herbe, cultures…) |
DieBelowDiskSpaceMb | 400 | Arrête le serveur si l’espace disque passe sous ce seuil |
DieAboveMemoryUsageMb | 50000 | Arrête le serveur au-delà de cette RAM consommée |
Sécurité et anti-abus
| Clé | Défaut | Rôle |
|---|---|---|
AntiAbuse | 0 | Niveau de protection contre certaines actions malveillantes |
LoginFloodProtection | false | Limite les tentatives de connexion en rafale |
TemporaryIpBlockList | false | Bloque temporairement les IP abusives |
ChatRateLimitMs | 1000 | Délai minimal entre deux messages (anti-spam) |
LogBlockBreakPlace | false | Journalise les blocs posés/cassés (utile contre le grief) |
ModIdBlackList / ModIdWhiteList | null | Interdit / autorise des mods côté client |
Sur un serveur public, activez LoginFloodProtection, TemporaryIpBlockList et LogBlockBreakPlace.
Rôles et permissions
La section Roles définit les rôles disponibles, et DefaultRoleCode celui attribué aux nouveaux joueurs ("suplayer" par défaut).
| Code | Niveau | Usage |
|---|---|---|
suvisitor / crvisitor | -1 | Visiteur (ne peut pas construire) |
limitedsuplayer / limitedcrplayer | -1 | Joueur limité |
suplayer | 0 | Joueur survie standard |
crplayer | 100 | Joueur créatif |
sumod | 200 | Modérateur survie |
crmod | 500 | Modérateur créatif |
admin | 99999 | Administrateur (tous les droits) |
Chaque rôle possède aussi ses réglages de land claim (LandClaimAllowance, LandClaimMaxAreas). Pour un serveur public, une bonne pratique est de mettre DefaultRoleCode sur suvisitor puis de promouvoir les joueurs après validation. Voir le guide des commandes admin.
Le monde : WorldConfig
La section WorldConfig décrit le monde chargé :
"WorldConfig": {
"Seed": null,
"SaveFileLocation": "/chemin/vers/Saves/default.vcdbs",
"WorldName": "A new world",
"AllowCreativeMode": true,
"PlayStyle": "surviveandbuild",
"WorldType": "standard",
"WorldConfiguration": null
}
| Clé | Rôle |
|---|---|
Seed | Graine de génération (null = aléatoire) |
SaveFileLocation | Fichier .vcdbs du monde à charger |
WorldName | Nom du monde |
AllowCreativeMode | Autorise /gamemode creative |
PlayStyle | surviveandbuild, exploration, wildernesssurvival, homosapiens, creativebuilding |
WorldType | standard ou superflat |
WorldConfiguration | Réglages détaillés (saisons, tempêtes temporelles, hostilité…) |
ℹ️ Réglages de monde
Le style de jeu et la génération ne s'appliquent qu'à la création du monde. Le plus simple pour un monde sur mesure : le créer en solo via le menu Customize, puis l'importer sur le serveur. Certains réglages restent modifiables après coup avec /worldconfig.
Exemple complet : serveur entre amis
{
"ServerName": "La Bande - Vintage Story",
"WelcomeMessage": "Salut {0} ! Pense à dormir avant l'hiver.",
"ServerLanguage": "fr",
"Password": "pas-d-espace-svp",
"MaxClients": 8,
"WhitelistMode": 2,
"AdvertiseServer": false,
"AllowPvP": false,
"PassTimeWhenEmpty": false,
"MaxChunkRadius": 10
}
N’ajoutez que les clés que vous modifiez à un fichier existant : ne supprimez pas les autres.
Modifier la config sans redémarrer
Certaines options se changent à chaud depuis la console :
/serverconfig password monmotdepasse
/serverconfig maxclients 20
/serverconfig whitelistmode on
Questions fréquentes
Où se trouve serverconfig.json ?
À la racine du dossier de données : %appdata%\VintagestoryData sur Windows, ~/.config/VintagestoryData sur Linux, ou le dossier --dataPath. Chez un hébergeur, à la racine des fichiers du serveur.
Comment activer la whitelist ?
WhitelistMode sur 2, ou /serverconfig whitelistmode on. Ajoutez ensuite chaque joueur avec /player Pseudo whitelist on.
Comment mettre un mot de passe ?
Clé Password dans le fichier puis redémarrage, ou /serverconfig password monmotdepasse. Pas d’espace dans le mot de passe.
Pourquoi mes modifications disparaissent ?
Le serveur réécrit serverconfig.json à l’arrêt. Arrêtez le serveur avant d’éditer le fichier.
Besoin d’un serveur prêt à configurer ? Choisissez votre hébergeur Vintage Story et suivez nos offres.
Équipe HebergTonServ
Administrateurs serveurs de jeux