Les paramètres Sandbox de Project Zomboid expliqués (Build 42)
Tous les paramètres sandbox de Project Zomboid tiennent dans un seul fichier : Pterodactyl_SandboxVars.lua. Chaque réglage de gameplay, population de zombies, multiplicateurs de loot, XP des compétences, durée du jour, météo, se pilote depuis là. C'est le fichier le plus important de votre serveur Project Zomboid. Ce guide décrit le fichier tel que Build 42 l'écrit réellement, avec les vrais noms de clés et les vraies valeurs par défaut.
Important : arrêtez le serveur avant toute modification. PZ réécrit
SandboxVars.luaà l'extinction et écrasera vos changements si vous éditez pendant que le serveur tourne.
Où se trouve le fichier
/home/container/.cache/Server/Pterodactyl_SandboxVars.lua
Si vous avez renommé votre serveur, remplacez Pterodactyl par le nom du serveur.
Comment le fichier Build 42 est structuré
Build 42 a renommé beaucoup de clés et déplacé plusieurs groupes de réglages dans des tables imbriquées. Un fichier B42 commence ainsi :
SandboxVars = {
VERSION = 6,
Zombies = 4,
Distribution = 1,
...
ZombieLore = {
Speed = 4,
...
},
ZombieConfig = {
PopulationMultiplier = 0.65,
...
},
MultiplierConfig = {
Global = 1.0,
...
},
}
Quatre conséquences en découlent, et c'est là que la plupart des modifications échouent :
VERSION = 6identifie le format Build 42. Si votre fichier affiche un nombre inférieur, il a été écrit par Build 41 et les clés ci-dessous ne seront pas toutes présentes.- Le comportement des zombies n'est pas au niveau racine.
Speed,Sight,Hearinget les autres ne fonctionnent qu'à l'intérieur deZombieLore = { ... }. - Le respawn et les multiplicateurs de population sont dans
ZombieConfig = { ... }. - L'XP des compétences est une table (
MultiplierConfig), pas une valeur unique.
Coller une clé au niveau racine alors que le jeu l'attend dans une table ne produit rien : le serveur démarre normalement et l'ignore.
Population de zombies
Le réglage principal de population est au niveau racine, et il compte six paliers, pas cinq.
| Paramètre | Défaut | Échelle | Effet |
|---|---|---|---|
Zombies |
4 (Normal) | 1=Insane, 2=Very High, 3=High, 4=Normal, 5=Low, 6=None | Nombre total de zombies |
Distribution |
1 (Urban Focused) | 1=Urban Focused, 2=Uniform | Où les zombies se concentrent |
ZombieRespawn |
4 (None) | 1=High, 2=Normal, 3=Low, 4=None | Fréquence d'ajout de nouveaux zombies |
ZombieMigrate |
true | true/false | Les zombies peuvent migrer vers les cellules vides |
Notez que Zombies pilote aussi ZombieConfig.PopulationMultiplier. Le jeu garde les deux synchronisés : Insane = 2.5, Very High = 1.6, High = 1.2, Normal = 0.65, Low = 0.15, None = 0.0.
Les réglages fins de population sont dans ZombieConfig = { ... } :
| Paramètre | Défaut | Plage | Effet |
|---|---|---|---|
PopulationMultiplier |
0.65 | 0.0-4.0 | Population globale, définie par Zombies |
PopulationStartMultiplier |
1.0 | 0.0-4.0 | Population au premier jour |
PopulationPeakMultiplier |
1.5 | 0.0-4.0 | Population au jour de pic |
PopulationPeakDay |
28 | 1-365 | Jour où la population atteint son pic |
RespawnHours |
0.0 | 0.0-8760.0 | Heures avant qu'un zombie puisse réapparaître dans une cellule. 0 désactive le respawn |
RespawnUnseenHours |
0.0 | 0.0-8760.0 | Heures pendant lesquelles un chunk doit rester non vu |
RespawnMultiplier |
0.0 | 0.0-1.0 | Fraction de la population d'une cellule qui revient par cycle |
ZombiesCountBeforeDelete |
300 | 0-5000 | Plafond de zombies suivis avant nettoyage |
Réglage pratique : le B42 vanilla est livré avec le respawn désactivé (RespawnHours = 0.0), donc une ville nettoyée le reste. Pour qu'un serveur de longue durée se repeuple, il faut les trois clés de respawn, par exemple RespawnHours = 168.0, RespawnUnseenHours = 48.0, RespawnMultiplier = 0.1. Si RespawnMultiplier reste à 0.0, rien ne réapparaît, quelles que soient les valeurs horaires.
Laissez ZombiesCountBeforeDelete à 300. L'augmenter ou le mettre à 0 est une cause connue de graves problèmes de performances.
L'impact de ces multiplicateurs dépend de l'endroit où jouent vos joueurs : les villes denses comme Louisville comptent bien plus de zombies que la campagne. Notre carte Project Zomboid gratuite montre toutes les villes de Knox Country avec leurs coordonnées exactes.
Comportement des zombies (dans `ZombieLore`)
C'est là que se joue la difficulté, et tout se trouve dans la table ZombieLore = { ... }. Plusieurs valeurs par défaut de B42 valent "Random", ce qui surprend quiconque attend les valeurs de Build 41.
| Paramètre | Défaut | Échelle |
|---|---|---|
Speed |
4 (Random) | 1=Sprinters, 2=Fast Shamblers, 3=Shamblers, 4=Random |
SprinterPercentage |
0 | 0-100, utilisé uniquement quand Speed = 4 |
Strength |
2 (Normal) | 1=Superhuman, 2=Normal, 3=Weak, 4=Random |
Toughness |
4 (Random) | 1=Tough, 2=Normal, 3=Fragile, 4=Random |
Transmission |
1 (Blood and Saliva) | 1=Blood and Saliva, 2=Saliva Only, 3=Everyone's Infected, 4=None |
Mortality |
5 (2-3 jours) | 1=Instant, 2=0-30 s, 3=0-1 min, 4=0-12 h, 5=2-3 jours, 6=1-2 semaines, 7=Never |
Reanimate |
3 (0-1 minute) | 1=Instant, 2=0-30 s, 3=0-1 min, 4=0-12 h, 5=2-3 jours, 6=1-2 semaines |
Cognition |
3 (Basic Navigation) | 1=Navigate and Use Doors, 2=Navigate, 3=Basic Navigation, 4=Random |
Memory |
2 (Normal) | 1=Long, 2=Normal, 3=Short, 4=None, 5=Random, 6=Random between Normal and None |
Sight |
5 (Random between Normal and Poor) | 1=Eagle, 2=Normal, 3=Poor, 4=Random, 5=Random between Normal and Poor |
Hearing |
5 (Random between Normal and Poor) | 1=Pinpoint, 2=Normal, 3=Poor, 4=Random, 5=Random between Normal and Poor |
CrawlUnderVehicle |
5 (Often) | de 1=Never à 7=Always |
ZombiesDragDown |
true | Les zombies peuvent vous arracher d'une corde ou d'un rebord |
ZombiesFenceLunge |
true | Les zombies se jettent par-dessus les clôtures basses |
Il n'existe pas de clé MemoryDuration dans Build 42, ni aucune clé Smell. Le réglage de mémoire s'appelle Memory.
À propos des sprinters : la valeur par défaut Speed = 4 correspond à Random, et Random s'appuie sur SprinterPercentage, livré à 0. Un serveur B42 par défaut n'a donc aucun sprinter. Pour un serveur 100% sprinters, mettez Speed = 1. Pour un mélange, gardez Speed = 4 et montez SprinterPercentage (10 à 20 est déjà brutal).
Loot
Build 42 a remplacé les anciens menus de rareté 1-5 par des multiplicateurs décimaux, et les noms de clés ont pris le suffixe New. FoodLoot, WeaponLoot et OtherLoot n'existent plus.
| Paramètre | Défaut | Plage | Couvre |
|---|---|---|---|
FoodLootNew |
0.8 | 0.0-4.0 | Nourriture périssable |
CannedFoodLootNew |
0.6 | 0.0-4.0 | Conserves |
WeaponLootNew |
0.6 | 0.0-4.0 | Armes de mêlée |
RangedWeaponLootNew |
1.2 | 0.0-4.0 | Armes à feu |
AmmoLootNew |
0.6 | 0.0-4.0 | Munitions |
MedicalLootNew |
0.6 | 0.0-4.0 | Matériel médical |
ToolLootNew |
0.6 | 0.0-4.0 | Outils généraux |
MechanicsLootNew |
0.6 | 0.0-4.0 | Pièces auto et outils de mécanique |
ClothingLootNew |
0.6 | 0.0-4.0 | Vêtements |
MaterialLootNew |
0.6 | 0.0-4.0 | Matériaux de craft et de construction |
FarmingLootNew |
0.6 | 0.0-4.0 | Graines, pelles, outils de jardinage |
LiteratureLootNew |
0.6 | 0.0-4.0 | Livres et magazines |
SkillBookLoot |
0.6 | 0.0-4.0 | Manuels de compétence |
KeyLootNew |
0.4 | 0.0-4.0 | Clés |
OtherLootNew |
0.8 | 0.0-4.0 | Tout ce qui n'entre dans aucune autre catégorie |
La valeur 1.0 correspond au niveau prévu par les développeurs, le fichier livré est donc déjà en dessous sur la plupart des catégories. Doubler un nombre double en gros la fréquence d'apparition de la catégorie.
Le respawn du loot est un sujet à part, et il n'existe pas de clé LootRespawn dans Build 42 :
| Paramètre | Défaut | Effet |
|---|---|---|
HoursForLootRespawn |
0 | Heures de jeu avant que les conteneurs fouillés se remplissent. 0 désactive |
SeenHoursPreventLootRespawn |
0 | Bloque le respawn dans les zones visitées depuis moins de N heures |
MaxItemsForLootRespawn |
5 | Les conteneurs contenant plus d'objets ne se remplissent pas |
ConstructionPreventsLootRespawn |
true | Les constructions de joueurs bloquent le respawn dans la zone |
Pour les serveurs de longue durée : mettez HoursForLootRespawn = 720 (un mois de jeu) et SeenHoursPreventLootRespawn = 24. Sinon les joueurs vident la carte définitivement, et elle le reste.
Laissez RollsMultiplier à 1.0. Le fichier lui-même déconseille d'y toucher, et les valeurs élevées coûtent en performances.
Temps, météo et réseaux
| Paramètre | Défaut | Notes |
|---|---|---|
DayLength |
4 (1 heure 30 minutes) | 1=15 min, 2=30 min, 3=1 h, 4=1 h 30, 5=2 h, jusqu'à 27=Real-time |
StartTime |
2 (9 AM) | 1=7AM, 2=9AM, 3=12PM, 4=2PM, 5=5PM, 6=9PM, 7=12AM, 8=2AM, 9=5AM |
StartMonth |
7 (juillet) | 1-12 |
StartDay |
9 | Jour du mois |
StartYear |
1 | Année comptée à partir de 1993 |
WaterShut |
2 (0-30 jours) | Coupure de l'eau courante. 9 désactive la coupure |
ElecShut |
2 (14-30 jours) | Coupure du réseau électrique. 9 désactive la coupure |
WaterShutModifier |
14 | Décalage exact en jours pour l'eau |
ElecShutModifier |
14 | Décalage exact en jours pour l'électricité |
AlarmDecay |
2 (0-30 jours) | Durée de vie des piles d'alarme après la coupure |
Temperature |
3 (Normal) | Chaleur du climat |
Rain |
3 (Normal) | Fréquence de la pluie |
Il n'existe pas de clé HoursPerDay dans Build 42. La durée du jour s'appelle DayLength, et son échelle monte jusqu'à 27 pour des journées en temps réel.
Serveurs de longue durée : poussez WaterShutModifier et ElecShutModifier à 60 ou plus, ou mettez WaterShut et ElecShut à 9 pour supprimer complètement la coupure. Sinon le deuxième mois se passe uniquement à transporter de l'eau.
XP des compétences (dans `MultiplierConfig`)
Il n'existe pas de clé XpMultiplier. Build 42 utilise une table MultiplierConfig = { ... } avec un taux global plus une entrée par compétence.
MultiplierConfig = {
Global = 1.0,
GlobalToggle = true,
Fitness = 1.0,
Strength = 1.0,
Woodwork = 1.0,
...
}
| Paramètre | Défaut | Effet |
|---|---|---|
Global |
1.0 | Vitesse de progression de toutes les compétences, 0.0 à 1000.0 |
GlobalToggle |
true | Si true, toutes les compétences utilisent Global et les valeurs individuelles sont ignorées |
| Entrées par compétence | 1.0 chacune | Fitness, Strength, Aiming, Mechanics, Cooking, Blacksmith et les autres |
Pour tripler l'XP partout, mettez Global = 3.0 et laissez GlobalToggle = true. Pour ne booster que les armes à feu, mettez GlobalToggle = false puis montez Aiming et Reloading. Modifier une valeur individuelle alors que GlobalToggle est encore true ne fait rien, et c'est la plainte la plus fréquente que nous voyons au sujet de l'XP.
Deux clés voisines restent au niveau racine : CharacterFreePoints (défaut 0, points supplémentaires à la création du personnage) et LevelForMediaXPCutoff (défaut 3).
Véhicules
| Paramètre | Défaut | Effet |
|---|---|---|
EnableVehicles |
true | Si des véhicules apparaissent |
CarSpawnRate |
3 (Low) | 1=None, 2=Very Low, 3=Low, 4=Normal, 5=High |
ChanceHasGas |
2 (Normal) | 1=Low, 2=Normal, 3=High |
InitialGas |
2 (Low) | de 1=Very Low à 6=Full |
LockedCar |
4 (Sometimes) | de 1=Never à 6=Very Often |
CarGeneralCondition |
3 (Normal) | de 1=Very Low à 5=Very High |
VehicleEasyUse |
false | Supprime les serrures et le besoin de clés |
CarGasConsumption |
1.0 | Consommation des véhicules |
Monde et construction
| Paramètre | Défaut | Effet |
|---|---|---|
ConstructionBonusPoints |
3 (Normal) | Points de vie supplémentaires pour les constructions de joueurs |
AllClothesUnlocked |
false | Tous les vêtements disponibles à la création du personnage |
MaxFogIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low, 4=None |
MaxRainFxIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low |
EnableSnowOnGround |
true | La neige s'accumule au sol |
Basement.SpawnFrequency |
4 (Sometimes) | Sous-sols de Build 42, dans la table Basement = { ... } |
Map.AllowWorldMap |
true | Dans la table Map = { ... }, avec AllowMiniMap (false par défaut) |
Notez que MaxFogIntensity et MaxRainFxIntensity sont des paliers entiers dans Build 42, plus les décimales 0.0-1.0 d'avant. MaxFogIntensity = 0.0 ne veut pas dire "aucun brouillard", c'est un palier invalide.
Modifier le fichier sans risque
- Arrêtez le serveur depuis votre panel. Ce point n'est pas négociable
- Ouvrez
/home/container/.cache/Server/Pterodactyl_SandboxVars.luadans le gestionnaire de fichiers ou en SFTP - Trouvez le paramètre avec Ctrl+F, et vérifiez s'il est au niveau racine ou dans
ZombieLore,ZombieConfig,MultiplierConfig,MapouBasement - Ne changez que la valeur après le
=. Laissez le nom de clé, la virgule et les accolades en place - Enregistrez le fichier
- Démarrez le serveur
Les valeurs doivent être du Lua valide : Speed = 1, et non Speed = "Sprinters". Les booléens s'écrivent true / false sans guillemets. Les clés de multiplicateur prennent des décimales (FoodLootNew = 1.2), les clés de palier des entiers (CarSpawnRate = 4).
Si le serveur refuse de démarrer après une modification, vous avez presque certainement perdu une virgule ou une accolade fermante. La console indique la ligne.
Quelles modifications s'appliquent à un monde existant
Les paramètres sandbox sont lus à la création du monde, beaucoup ne concernent donc que le terrain pas encore généré. Paramètres qui s'appliquent à une sauvegarde existante après redémarrage :
- Tout ce qui est dans
ZombieLore(Speed,Strength,Cognition,Sight,Hearing) - Les clés de respawn de
ZombieConfig(RespawnHours,RespawnUnseenHours,RespawnMultiplier) - Le respawn du loot (
HoursForLootRespawn,SeenHoursPreventLootRespawn) - Les taux d'XP de
MultiplierConfig - Les dates de coupure d'eau et d'électricité, tant que la coupure n'a pas déjà eu lieu
Paramètres qui ne changent pas rétroactivement un monde existant :
StartMonth,StartDay,StartTime,StartYear- Les multiplicateurs
*LootNew, pour les conteneurs déjà générés CarSpawnRateet le placement des véhicules dans les chunks explorésBasement.SpawnFrequency, puisque les sous-sols sont posés avec le chunk
Préréglages sandbox
Project Zomboid embarque des préréglages que vous pouvez choisir dans le menu Custom Sandbox du jeu avant de générer un monde : Apocalypse (par défaut), Survivor, Survival, Builder, Initial Infection, Six Months Later. Sur un serveur dédié il n'y a pas de sélecteur de préréglage, la méthode pratique consiste donc à configurer le préréglage en solo puis à copier les valeurs du SandboxVars.lua de cette sauvegarde vers le fichier du serveur. Conservez l'imbrication en copiant.
FAQ
Mes modifications sont systématiquement annulées. Vous avez édité pendant que le serveur tournait. PZ a écrit son état mémoire à l'extinction et écrasé votre fichier. Arrêtez toujours le serveur d'abord.
J'ai changé un réglage de zombies et rien ne se passe.
Vous l'avez très probablement placé au niveau racine. Speed, Sight, Hearing, Memory, Toughness et les autres ne fonctionnent que dans la table ZombieLore = { ... }. Le même piège vaut pour RespawnHours, qui appartient à ZombieConfig.
Pourquoi mes zombies réapparaissent-ils alors que j'ai réglé RespawnHours ?
Ou l'inverse : rien ne réapparaît. Les trois clés comptent. RespawnHours fixe le cycle, RespawnUnseenHours le conditionne à la visibilité, et RespawnMultiplier décide combien reviennent. B42 livre les trois pratiquement désactivées.
Où est passé XpMultiplier ?
Il a disparu. Build 42 utilise MultiplierConfig.Global, avec GlobalToggle = true pour l'appliquer à toutes les compétences.
Puis-je changer des réglages à chaud avec /changeoption ? Seulement une petite partie (PVP, max players, réglages vocaux). Les valeurs sandbox ne se changent pas à chaud, elles demandent un redémarrage.
Où trouver toutes les valeurs par défaut vanilla ?
Démarrez un serveur neuf. Le panel génère SandboxVars.lua avec toutes les valeurs par défaut au premier démarrage, et le fichier porte un commentaire au-dessus de chaque clé indiquant son échelle et son défaut. C'est ce fichier la référence, pas un vieux guide Build 41.
Une population de zombies plus élevée pèse-t-elle sur les performances ?
Oui, nettement. Doubler PopulationPeakMultiplier ajoute environ 30% de RAM et de charge CPU. Anticipez avec notre calculateur de RAM.
Les mods ajoutent-ils leurs propres paramètres sandbox ?
Certains oui. Les mods qui enregistrent des options sandbox ajoutent leurs champs automatiquement au chargement, et ceux-ci apparaissent dans SandboxVars.lua après le démarrage suivant.
