Project Zomboid Sandbox-Einstellungen Erklärt (Build 42)
Project Zomboids Sandbox-Einstellungen liegen in einer einzigen Datei: Pterodactyl_SandboxVars.lua. Jeder Gameplay-Regler (Zombie-Population, Loot-Multiplikatoren, Skill-XP, Tageslänge, Wetter) wird hier gesteuert. Es ist die wichtigste Datei auf deinem Project Zomboid-Server. Diese Anleitung erklärt die Datei so, wie Build 42 sie tatsächlich schreibt, mit den echten Schlüsselnamen und den echten Standardwerten.
Kritisch: Stoppe den Server, bevor du etwas änderst. PZ schreibt
SandboxVars.luabeim Herunterfahren neu und überschreibt deine Änderungen, wenn du im laufenden Betrieb editierst.
Wo die Datei liegt
/home/container/.cache/Server/Pterodactyl_SandboxVars.lua
Wenn du deinen Server umbenannt hast, ersetze Pterodactyl durch den Servernamen.
Wie die Build-42-Datei aufgebaut ist
Build 42 hat viele Schlüsselnamen geändert und mehrere Gruppen von Einstellungen in verschachtelte Tabellen verschoben. Eine B42-Datei beginnt so:
SandboxVars = {
VERSION = 6,
Zombies = 4,
Distribution = 1,
...
ZombieLore = {
Speed = 4,
...
},
ZombieConfig = {
PopulationMultiplier = 0.65,
...
},
MultiplierConfig = {
Global = 1.0,
...
},
}
Daraus folgen vier Dinge, und genau hier gehen die meisten Änderungen schief:
VERSION = 6kennzeichnet das Build-42-Format. Steht dort eine kleinere Zahl, stammt die Datei aus Build 41, und dann existieren nicht alle Schlüssel von unten.- Zombie-Verhalten liegt nicht auf oberster Ebene.
Speed,Sight,Hearingund der Rest wirken nur innerhalb vonZombieLore = { ... }. - Respawn und Populations-Multiplikatoren liegen in
ZombieConfig = { ... }. - Skill-XP ist eine Tabelle (
MultiplierConfig), kein einzelner Multiplikatorwert.
Setzt du einen Schlüssel auf oberste Ebene, obwohl das Spiel ihn in einer Tabelle erwartet, passiert schlicht nichts: der Server startet normal und ignoriert ihn.
Zombie-Population
Der Hauptregler für die Population liegt auf oberster Ebene und hat sechs Stufen, nicht fünf.
| Einstellung | Standard | Skala | Wirkung |
|---|---|---|---|
Zombies |
4 (Normal) | 1=Insane, 2=Very High, 3=High, 4=Normal, 5=Low, 6=None | Gesamtzahl der Zombies |
Distribution |
1 (Urban Focused) | 1=Urban Focused, 2=Uniform | Wo sich Zombies konzentrieren |
ZombieRespawn |
4 (None) | 1=High, 2=Normal, 3=Low, 4=None | Wie oft neue Zombies hinzukommen |
ZombieMigrate |
true | true/false | Zombies dürfen in leere Zellen wandern |
Beachte, dass Zombies zugleich ZombieConfig.PopulationMultiplier setzt. Das Spiel hält beide synchron: Insane = 2.5, Very High = 1.6, High = 1.2, Normal = 0.65, Low = 0.15, None = 0.0.
Die feineren Populationsregler liegen in ZombieConfig = { ... }:
| Einstellung | Standard | Bereich | Wirkung |
|---|---|---|---|
PopulationMultiplier |
0.65 | 0.0-4.0 | Gesamtpopulation, wird von Zombies gesetzt |
PopulationStartMultiplier |
1.0 | 0.0-4.0 | Population an Tag eins |
PopulationPeakMultiplier |
1.5 | 0.0-4.0 | Population am Höhepunkt |
PopulationPeakDay |
28 | 1-365 | Tag, an dem die Population ihren Höhepunkt erreicht |
RespawnHours |
0.0 | 0.0-8760.0 | Stunden, bis Zombies in einer Zelle respawnen dürfen. 0 deaktiviert Respawn |
RespawnUnseenHours |
0.0 | 0.0-8760.0 | Stunden, die ein Chunk ungesehen sein muss |
RespawnMultiplier |
0.0 | 0.0-1.0 | Anteil der Zellpopulation, der pro Zyklus zurückkehrt |
ZombiesCountBeforeDelete |
300 | 0-5000 | Obergrenze getrackter Zombies vor der Bereinigung |
Praktisches Tuning: Vanilla B42 wird mit deaktiviertem Respawn ausgeliefert (RespawnHours = 0.0), eine geräumte Stadt bleibt also geräumt. Soll sich ein Langzeitserver wieder füllen, brauchst du alle drei Respawn-Schlüssel, zum Beispiel RespawnHours = 168.0, RespawnUnseenHours = 48.0, RespawnMultiplier = 0.1. Bleibt RespawnMultiplier auf 0.0, respawnt nichts, egal was die Stundenwerte sagen.
Lass ZombiesCountBeforeDelete auf 300. Ein höherer Wert oder 0 ist eine bekannte Ursache für schwere Performance-Probleme.
Zombie-Verhalten (in `ZombieLore`)
Hier sitzt der Schwierigkeitsgrad, und alles davon liegt in der Tabelle ZombieLore = { ... }. Mehrere B42-Standardwerte lauten "Random", was alle überrascht, die Build-41-Werte erwarten.
| Einstellung | Standard | Skala |
|---|---|---|
Speed |
4 (Random) | 1=Sprinters, 2=Fast Shamblers, 3=Shamblers, 4=Random |
SprinterPercentage |
0 | 0-100, wird nur bei Speed = 4 genutzt |
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 Tage) | 1=Instant, 2=0-30 Sek, 3=0-1 Min, 4=0-12 Std, 5=2-3 Tage, 6=1-2 Wochen, 7=Never |
Reanimate |
3 (0-1 Minute) | 1=Instant, 2=0-30 Sek, 3=0-1 Min, 4=0-12 Std, 5=2-3 Tage, 6=1-2 Wochen |
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) | 1=Never bis 7=Always |
ZombiesDragDown |
true | Zombies können dich von Seil oder Kante ziehen |
ZombiesFenceLunge |
true | Zombies stürzen sich über niedrige Zäune |
Einen Schlüssel MemoryDuration gibt es in Build 42 nicht, und Smell existiert überhaupt nicht. Die Gedächtnis-Einstellung heißt Memory.
Zu Sprintern: der Standard Speed = 4 ist Random, und Random nutzt SprinterPercentage, das bei 0 steht. Ein Standard-B42-Server hat also keine Sprinter. Für einen reinen Sprinter-Server setze Speed = 1. Für eine Mischung lass Speed = 4 stehen und erhöhe SprinterPercentage (10 bis 20 ist bereits brutal).
Loot
Build 42 hat die alten 1-5-Seltenheits-Dropdowns durch Float-Multiplikatoren ersetzt, und die Schlüsselnamen haben ein New-Suffix bekommen. FoodLoot, WeaponLoot und OtherLoot gibt es nicht mehr.
| Einstellung | Standard | Bereich | Deckt ab |
|---|---|---|---|
FoodLootNew |
0.8 | 0.0-4.0 | Verderbliche Lebensmittel |
CannedFoodLootNew |
0.6 | 0.0-4.0 | Konserven |
WeaponLootNew |
0.6 | 0.0-4.0 | Nahkampfwaffen |
RangedWeaponLootNew |
1.2 | 0.0-4.0 | Schusswaffen |
AmmoLootNew |
0.6 | 0.0-4.0 | Munition |
MedicalLootNew |
0.6 | 0.0-4.0 | Medizinische Gegenstände |
ToolLootNew |
0.6 | 0.0-4.0 | Allgemeines Werkzeug |
MechanicsLootNew |
0.6 | 0.0-4.0 | Fahrzeugteile und Mechaniker-Werkzeug |
ClothingLootNew |
0.6 | 0.0-4.0 | Kleidung |
MaterialLootNew |
0.6 | 0.0-4.0 | Crafting- und Baumaterialien |
FarmingLootNew |
0.6 | 0.0-4.0 | Samen, Schaufeln, Gartenwerkzeug |
LiteratureLootNew |
0.6 | 0.0-4.0 | Bücher und Zeitschriften |
SkillBookLoot |
0.6 | 0.0-4.0 | Skill-Bücher |
KeyLootNew |
0.4 | 0.0-4.0 | Schlüssel |
OtherLootNew |
0.8 | 0.0-4.0 | Alles ohne eigene Kategorie |
Der Wert 1.0 entspricht "wie vorgesehen", die Standarddatei liegt also bei den meisten Kategorien bereits darunter. Verdoppelst du eine Zahl, verdoppelst du grob gesagt, wie oft die Kategorie auftaucht.
Loot-Respawn ist ein eigenes Thema, und einen Schlüssel LootRespawn gibt es in Build 42 nicht:
| Einstellung | Standard | Wirkung |
|---|---|---|
HoursForLootRespawn |
0 | Spielstunden, bis geplünderte Container wieder befüllt werden. 0 deaktiviert das |
SeenHoursPreventLootRespawn |
0 | Blockiert Respawn in Zonen, die innerhalb dieser Stunden besucht wurden |
MaxItemsForLootRespawn |
5 | Container mit mehr Gegenständen werden nicht befüllt |
ConstructionPreventsLootRespawn |
true | Spielerbauten stoppen den Respawn in der Zone |
Für Langzeitserver: setze HoursForLootRespawn = 720 (ein Spielmonat) und SeenHoursPreventLootRespawn = 24. Sonst plündern die Spieler die Karte dauerhaft leer, und leer bleibt sie.
Lass RollsMultiplier auf 1.0. Die Datei warnt selbst davor, das zu ändern, und hohe Werte kosten Performance.
Zeit, Wetter und Versorgung
| Einstellung | Standard | Hinweise |
|---|---|---|
DayLength |
4 (1 Stunde, 30 Minuten) | 1=15 Min, 2=30 Min, 3=1 Std, 4=1 Std 30 Min, 5=2 Std, bis 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 (Juli) | 1-12 |
StartDay |
9 | Tag im Monat |
StartYear |
1 | Jahr ab 1993 gerechnet |
WaterShut |
2 (0-30 Tage) | Wann das Wasser abgestellt wird. 9 deaktiviert es |
ElecShut |
2 (14-30 Tage) | Wann das Stromnetz ausfällt. 9 deaktiviert es |
WaterShutModifier |
14 | Genauer Tages-Offset für Wasser |
ElecShutModifier |
14 | Genauer Tages-Offset für Strom |
AlarmDecay |
2 (0-30 Tage) | Wie lange Alarmbatterien nach dem Stromausfall halten |
Temperature |
3 (Normal) | Wärme des Klimas |
Rain |
3 (Normal) | Häufigkeit von Regen |
Einen Schlüssel HoursPerDay gibt es in Build 42 nicht. Die Tageslänge heißt DayLength, und die Skala reicht bis 27 für Echtzeit-Tage.
Langzeitserver: dreh WaterShutModifier und ElecShutModifier auf 60 oder höher, oder setze WaterShut und ElecShut auf 9 und schalte die Abschaltung ganz ab. Sonst geht Monat zwei komplett fürs Wasserschleppen drauf.
Skill-XP (in `MultiplierConfig`)
Einen Schlüssel XpMultiplier gibt es nicht. Build 42 nutzt eine Tabelle MultiplierConfig = { ... } mit einer globalen Rate plus einem Eintrag pro Skill.
MultiplierConfig = {
Global = 1.0,
GlobalToggle = true,
Fitness = 1.0,
Strength = 1.0,
Woodwork = 1.0,
...
}
| Einstellung | Standard | Wirkung |
|---|---|---|
Global |
1.0 | Rate, mit der alle Skills steigen, 0.0 bis 1000.0 |
GlobalToggle |
true | Bei true nutzen alle Skills Global, die Einzelwerte werden ignoriert |
| Einzel-Skills | je 1.0 | Fitness, Strength, Aiming, Mechanics, Cooking, Blacksmith und der Rest |
Um XP überall zu verdreifachen, setze Global = 3.0 und lass GlobalToggle = true stehen. Willst du nur Schusswaffen boosten, setze GlobalToggle = false und erhöhe Aiming und Reloading. Einen Einzelwert zu ändern, während GlobalToggle noch true ist, bewirkt nichts, und genau das ist die XP-Beschwerde, die wir am häufigsten sehen.
Zwei verwandte Schlüssel liegen auf oberster Ebene: CharacterFreePoints (Standard 0, zusätzliche Punkte bei der Charaktererstellung) und LevelForMediaXPCutoff (Standard 3).
Fahrzeuge
| Einstellung | Standard | Wirkung |
|---|---|---|
EnableVehicles |
true | Ob überhaupt Fahrzeuge spawnen |
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) | 1=Very Low bis 6=Full |
LockedCar |
4 (Sometimes) | 1=Never bis 6=Very Often |
CarGeneralCondition |
3 (Normal) | 1=Very Low bis 5=Very High |
VehicleEasyUse |
false | Entfernt Schlösser und Schlüsselbedarf |
CarGasConsumption |
1.0 | Wie durstig Fahrzeuge sind |
Welt und Bauen
| Einstellung | Standard | Wirkung |
|---|---|---|
ConstructionBonusPoints |
3 (Normal) | Zusätzliche Trefferpunkte für Spielerbauten |
AllClothesUnlocked |
false | Alle Kleidung bei der Charaktererstellung verfügbar |
MaxFogIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low, 4=None |
MaxRainFxIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low |
EnableSnowOnGround |
true | Schnee bleibt auf dem Boden liegen |
Basement.SpawnFrequency |
4 (Sometimes) | Build-42-Keller, in der Tabelle Basement = { ... } |
Map.AllowWorldMap |
true | In der Tabelle Map = { ... }, zusammen mit AllowMiniMap (standardmäßig false) |
Beachte, dass MaxFogIntensity und MaxRainFxIntensity in Build 42 ganzzahlige Stufen sind, nicht mehr die früheren 0.0-1.0-Floats. MaxFogIntensity = 0.0 bedeutet nicht "kein Nebel", es ist eine ungültige Stufe.
Die Datei sicher bearbeiten
- Stoppe den Server im Panel. Das ist nicht verhandelbar
- Öffne
/home/container/.cache/Server/Pterodactyl_SandboxVars.luaim Dateimanager oder per SFTP - Finde die Einstellung mit Strg+F und prüfe, ob sie auf oberster Ebene steht oder in
ZombieLore,ZombieConfig,MultiplierConfig,MapoderBasement - Ändere nur den Wert nach dem
=. Schlüsselname, Komma und umgebende Klammern bleiben unangetastet - Speichere die Datei
- Starte den Server
Die Werte müssen gültiges Lua sein: Speed = 1, und nicht Speed = "Sprinters". Booleans schreibt man als blankes true / false, nie in Anführungszeichen. Multiplikator-Schlüssel nehmen Dezimalzahlen (FoodLootNew = 1.2), Stufen-Schlüssel ganze Zahlen (CarSpawnRate = 4).
Startet der Server nach einer Änderung nicht mehr, fehlt fast sicher ein Komma oder eine schließende Klammer. Die Konsole nennt die Zeile.
Welche Änderungen in einer bestehenden Welt greifen
Sandbox-Einstellungen werden bei der Welterstellung gelesen, viele wirken also nur auf noch nicht generiertes Gelände. Einstellungen, die nach einem Neustart auch in einem bestehenden Spielstand greifen:
- Alles in
ZombieLore(Speed,Strength,Cognition,Sight,Hearing) - Die Respawn-Schlüssel in
ZombieConfig(RespawnHours,RespawnUnseenHours,RespawnMultiplier) - Loot-Respawn (
HoursForLootRespawn,SeenHoursPreventLootRespawn) - Die XP-Raten in
MultiplierConfig - Die Zeitpunkte der Wasser- und Stromabschaltung, solange die Abschaltung noch nicht stattgefunden hat
Einstellungen, die eine bestehende Welt nicht rückwirkend ändern:
StartMonth,StartDay,StartTime,StartYear- Die
*LootNew-Multiplikatoren für bereits generierte Container CarSpawnRateund die Fahrzeugplatzierung in erkundeten ChunksBasement.SpawnFrequency, da Keller zusammen mit dem Chunk platziert werden
Sandbox-Presets
Project Zomboid bringt eingebaute Presets mit, die du im Spiel im Menü Custom Sandbox vor der Welterstellung wählen kannst: Apocalypse (Standard), Survivor, Survival, Builder, Initial Infection, Six Months Later. Auf einem dedizierten Server gibt es keine Preset-Auswahl. Der praktikable Weg ist, das Preset in einem Singleplayer-Spiel einzustellen und die Werte aus der SandboxVars.lua dieses Spielstands in die Serverdatei zu kopieren. Behalte die Verschachtelung beim Kopieren bei.
FAQ
Meine Änderungen werden immer wieder zurückgesetzt. Du hast im laufenden Betrieb editiert. PZ hat beim Herunterfahren seinen Speicherzustand geschrieben und deine Datei überschrieben. Stoppe den Server immer zuerst.
Ich habe eine Zombie-Einstellung geändert und nichts passiert.
Sie steht mit hoher Wahrscheinlichkeit auf oberster Ebene. Speed, Sight, Hearing, Memory, Toughness und der Rest wirken nur in der Tabelle ZombieLore = { ... }. Dieselbe Falle betrifft RespawnHours, das in ZombieConfig gehört.
Warum respawnen meine Zombies, obwohl ich RespawnHours gesetzt habe?
Oder umgekehrt: es respawnt gar nichts. Alle drei Schlüssel zählen. RespawnHours setzt den Zyklus, RespawnUnseenHours koppelt ihn an die Sichtbarkeit, und RespawnMultiplier bestimmt, wie viele zurückkommen. B42 liefert alle drei praktisch deaktiviert aus.
Wo ist XpMultiplier?
Weg. Build 42 nutzt MultiplierConfig.Global, mit GlobalToggle = true, damit es für jeden Skill gilt.
Kann ich Einstellungen live mit /changeoption ändern? Nur einen kleinen Teil (PVP, max players, Voice-Einstellungen). Sandbox-Werte lassen sich nicht live ändern, sie brauchen einen Neustart.
Wo finde ich alle Vanilla-Standardwerte?
Boote einen frischen Server. Das Panel erzeugt beim ersten Start eine SandboxVars.lua mit allen Standardwerten, und über jedem Schlüssel steht ein Kommentar mit Skala und Standard. Diese Datei ist die Referenz, nicht eine alte Build-41-Anleitung.
Kostet eine höhere Zombie-Population Performance?
Ja, deutlich. Eine Verdopplung von PopulationPeakMultiplier schlägt mit rund 30% mehr RAM-Verbrauch und CPU-Last zu Buche. Plane mit unserem RAM-Rechner.
Bringen Mods eigene Sandbox-Einstellungen mit?
Manche schon. Mods, die Sandbox-Optionen registrieren, fügen ihre Felder beim Laden automatisch hinzu, und sie tauchen nach dem nächsten Serverstart in SandboxVars.lua auf.
