Project Zomboidin sandbox-asetukset selitettyinä (Build 42)
Project Zomboidin sandbox-asetukset ovat yhdessä ainoassa tiedostossa: Pterodactyl_SandboxVars.lua. Jokainen pelillinen säädin (zombipopulaatio, loot-kertoimet, taitojen XP, vuorokauden pituus, sää) ohjataan täältä. Tämä on palvelimesi tärkein tiedosto. Tässä oppaassa käydään tiedosto läpi sellaisena kuin Build 42 sen oikeasti kirjoittaa, oikeilla avainnimillä ja oikeilla oletusarvoilla.
Tärkeää: pysäytä palvelin ennen muokkaamista. PZ kirjoittaa
SandboxVars.lua-tiedoston uudelleen sammutuksen yhteydessä ja ylikirjoittaa muutoksesi, jos muokkaat tiedostoa palvelimen ollessa käynnissä.
Missä tiedosto sijaitsee
/home/container/.cache/Server/Pterodactyl_SandboxVars.lua
Jos olet nimennyt palvelimesi uudelleen, korvaa Pterodactyl palvelimesi nimellä.
Miten Build 42 -tiedosto on rakennettu
Build 42 muutti monen avaimen nimen ja siirsi useita asetusryhmiä sisäkkäisiin taulukoihin. B42-tiedosto alkaa näin:
SandboxVars = {
VERSION = 6,
Zombies = 4,
Distribution = 1,
...
ZombieLore = {
Speed = 4,
...
},
ZombieConfig = {
PopulationMultiplier = 0.65,
...
},
MultiplierConfig = {
Global = 1.0,
...
},
}
Tästä seuraa neljä asiaa, ja juuri niissä useimmat muokkaukset menevät pieleen:
VERSION = 6kertoo, että tiedosto on Build 42 -muotoa. Jos tiedostossasi lukee tätä pienempi luku, sen on kirjoittanut Build 41 eivätkä kaikki alla luetellut avaimet ole mukana.- Zombien käyttäytyminen ei ole ylimmällä tasolla.
Speed,Sight,Hearingja kumppanit toimivat vainZombieLore = { ... }-lohkon sisällä. - Populaation respawn ja kertoimet ovat
ZombieConfig = { ... }-lohkon sisällä. - Taitojen XP on taulukko (
MultiplierConfig), ei yksittäinen kerroinarvo.
Jos liität avaimen ylimmälle tasolle, kun peli odottaa sitä taulukon sisällä, mitään ei tapahdu: palvelin käynnistyy normaalisti ja yksinkertaisesti sivuuttaa avaimen.
Zombipopulaatio
Populaation pääsäädin on ylimmällä tasolla, ja siinä on kuusi porrasta, ei viittä.
| Asetus | Oletus | Vaihteluväli | Mitä se tekee |
|---|---|---|---|
Zombies |
4 (Normal) | 1=Insane, 2=Very High, 3=High, 4=Normal, 5=Low, 6=None | Zombien kokonaismäärä |
Distribution |
1 (Urban Focused) | 1=Urban Focused, 2=Uniform | Minne zombit keskittyvät |
ZombieRespawn |
4 (None) | 1=High, 2=Normal, 3=Low, 4=None | Kuinka usein uusia zombeja lisätään |
ZombieMigrate |
true | true/false | Zombit voivat vaeltaa tyhjiin ruutuihin |
Huomaa, että Zombies ohjaa myös arvoa ZombieConfig.PopulationMultiplier. Peli pitää nämä kaksi synkronissa: Insane = 2.5, Very High = 1.6, High = 1.2, Normal = 0.65, Low = 0.15, None = 0.0.
Tarkemmat populaatiosäätimet ovat ZombieConfig = { ... } -lohkon sisällä:
| Asetus | Oletus | Vaihteluväli | Mitä se tekee |
|---|---|---|---|
PopulationMultiplier |
0.65 | 0.0-4.0 | Kokonaispopulaatio, jonka Zombies asettaa |
PopulationStartMultiplier |
1.0 | 0.0-4.0 | Populaatio ensimmäisenä päivänä |
PopulationPeakMultiplier |
1.5 | 0.0-4.0 | Populaatio huippupäivänä |
PopulationPeakDay |
28 | 1-365 | Päivä, jona populaatio on huipussaan |
RespawnHours |
0.0 | 0.0-8760.0 | Tunnit, joiden jälkeen zombit voivat respawnata ruudussa. 0 poistaa respawnin käytöstä |
RespawnUnseenHours |
0.0 | 0.0-8760.0 | Kuinka monta tuntia aluetta ei saa nähdä ennen respawnia |
RespawnMultiplier |
0.0 | 0.0-1.0 | Kuinka suuri osa ruudun populaatiosta palaa joka kierroksella |
ZombiesCountBeforeDelete |
300 | 0-5000 | Seurattujen zombien katto ennen siivousta |
Käytännön viritys: vanilja-B42 tulee respawn pois päältä (RespawnHours = 0.0), joten tyhjennetty kaupunki pysyy tyhjänä. Jos haluat pitkäikäisen palvelimen täyttyvän uudelleen, tarvitset kaikki kolme respawn-avainta: esimerkiksi RespawnHours = 168.0, RespawnUnseenHours = 48.0, RespawnMultiplier = 0.1. Jos RespawnMultiplier jää arvoon 0.0, mitään ei respawnaa riippumatta siitä, mitä tunneissa lukee.
Jätä ZombiesCountBeforeDelete arvoon 300. Sen nostaminen tai nollaaminen on tunnettu syy vakaviin suorituskyky-ongelmiin.
Zombien käyttäytyminen (`ZombieLore`-lohkossa)
Nämä ovat vaikeustason säätimiä, ja ne kaikki ovat ZombieLore = { ... } -taulukon sisällä. Useampi B42-oletus on "Random", mikä yllättää ne, jotka odottavat Build 41:n arvoja.
| Asetus | Oletus | Asteikko |
|---|---|---|
Speed |
4 (Random) | 1=Sprinters, 2=Fast Shamblers, 3=Shamblers, 4=Random |
SprinterPercentage |
0 | 0-100, käytössä vain kun 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 Days) | 1=Instant, 2=0-30 sec, 3=0-1 min, 4=0-12 hours, 5=2-3 days, 6=1-2 weeks, 7=Never |
Reanimate |
3 (0-1 Minutes) | 1=Instant, 2=0-30 sec, 3=0-1 min, 4=0-12 hours, 5=2-3 days, 6=1-2 weeks |
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 ... 7=Always |
ZombiesDragDown |
true | Zombit voivat vetää sinut alas köydeltä tai reunalta |
ZombiesFenceLunge |
true | Zombit syöksyvät matalien aitojen yli |
Build 42:ssa ei ole MemoryDuration-avainta eikä Smell-avainta lainkaan. Muistiasetus on Memory.
Sprinttereistä: oletus Speed = 4 on Random, ja Random käyttää arvoa SprinterPercentage, joka on oletuksena 0. Oletusarvoisella B42-palvelimella ei siis ole yhtään sprintteriä. Jos haluat pelkkiä sprinttereitä, aseta Speed = 1. Jos haluat sekoituksen, pidä Speed = 4 ja nosta SprinterPercentage-arvoa (10-20 on jo raakaa).
Loot
Build 42 korvasi vanhat 1-5-harvinaisuusvalikot liukuluvuilla, ja avainnimiin tuli New-pääte. FoodLoot, WeaponLoot ja OtherLoot eivät ole enää olemassa.
| Asetus | Oletus | Vaihteluväli | Kattaa |
|---|---|---|---|
FoodLootNew |
0.8 | 0.0-4.0 | Ruoka, joka voi pilaantua |
CannedFoodLootNew |
0.6 | 0.0-4.0 | Säilyvä ruoka |
WeaponLootNew |
0.6 | 0.0-4.0 | Lähitaisteluaseet |
RangedWeaponLootNew |
1.2 | 0.0-4.0 | Tuliaseet |
AmmoLootNew |
0.6 | 0.0-4.0 | Ammukset |
MedicalLootNew |
0.6 | 0.0-4.0 | Lääkintätarvikkeet |
ToolLootNew |
0.6 | 0.0-4.0 | Yleiset työkalut |
MechanicsLootNew |
0.6 | 0.0-4.0 | Ajoneuvon osat ja mekaanikon työkalut |
ClothingLootNew |
0.6 | 0.0-4.0 | Vaatteet |
MaterialLootNew |
0.6 | 0.0-4.0 | Craftaus- ja rakennusmateriaalit |
FarmingLootNew |
0.6 | 0.0-4.0 | Siemenet, lapiot ja istutustyökalut |
LiteratureLootNew |
0.6 | 0.0-4.0 | Kirjat ja lehdet |
SkillBookLoot |
0.6 | 0.0-4.0 | Taitokirjat |
KeyLootNew |
0.4 | 0.0-4.0 | Avaimet |
OtherLootNew |
0.8 | 0.0-4.0 | Kaikki muu, mikä ei kuulu muihin ryhmiin |
Arvo 1.0 tarkoittaa "kuten suunniteltu", joten vakiotiedosto on useimmissa kategorioissa jo perustasoa alempana. Luvun tuplaaminen suunnilleen tuplaa sen, kuinka usein kyseistä tavaraa löytyy.
Lootin respawn on erillinen asia, eikä Build 42:ssa ole LootRespawn-avainta:
| Asetus | Oletus | Mitä se tekee |
|---|---|---|
HoursForLootRespawn |
0 | Pelin sisäiset tunnit, joiden jälkeen tyhjennetyt säilöt täyttyvät. 0 poistaa käytöstä |
SeenHoursPreventLootRespawn |
0 | Estää respawnin alueilla, joilla on käyty näin monen tunnin sisällä |
MaxItemsForLootRespawn |
5 | Säilöt, joissa on tätä enemmän tavaraa, eivät täyty |
ConstructionPreventsLootRespawn |
true | Pelaajien rakentamat rakennelmat estävät respawnin alueella |
Pitkään pyöriville palvelimille: aseta HoursForLootRespawn = 720 (yksi pelin sisäinen kuukausi) ja SeenHoursPreventLootRespawn = 24. Muuten pelaajat kalustavat kartan lopullisesti tyhjäksi.
Jätä RollsMultiplier arvoon 1.0. Tiedosto itse varoittaa sen muuttamisesta, ja korkeat arvot syövät suorituskykyä.
Aika, sää ja infra
| Asetus | Oletus | Huomioita |
|---|---|---|
DayLength |
4 (1 Hour, 30 Minutes) | 1=15 min, 2=30 min, 3=1 tunti, 4=1 tunti 30 min, 5=2 tuntia, aina arvoon 27=reaaliaika |
StartTime |
2 (9 AM) | 1=7AM, 2=9AM, 3=12PM, 4=2PM, 5=5PM, 6=9PM, 7=12AM, 8=2AM, 9=5AM |
StartMonth |
7 (heinäkuu) | 1-12 |
StartDay |
9 | Kuukauden päivä |
StartYear |
1 | Vuosisiirtymä vuodesta 1993 |
WaterShut |
2 (0-30 Days) | Milloin vesijohtovesi loppuu. 9 poistaa katkon käytöstä |
ElecShut |
2 (14-30 Days) | Milloin sähköverkko kuolee. 9 poistaa katkon käytöstä |
WaterShutModifier |
14 | Tarkka päiväsiirtymä vedelle |
ElecShutModifier |
14 | Tarkka päiväsiirtymä sähkölle |
AlarmDecay |
2 (0-30 Days) | Kuinka kauan hälytinparistot kestävät sähköjen mentyä |
Temperature |
3 (Normal) | Ilmaston lämpimyys |
Rain |
3 (Normal) | Sateen yleisyys |
Build 42:ssa ei ole HoursPerDay-avainta. Vuorokauden pituus on DayLength, ja sen asteikko ulottuu arvoon 27 asti eli reaaliaikaisiin vuorokausiin.
Pitkään pyörivät palvelimet: nosta WaterShutModifier ja ElecShutModifier arvoon 60 tai ylemmäs, tai aseta WaterShut ja ElecShut arvoon 9, jolloin katkoja ei tule lainkaan. Muuten toinen kuukausi menee pelkkään veden raahaamiseen.
Taitojen XP (`MultiplierConfig`-lohkossa)
XpMultiplier-avainta ei ole. Build 42 käyttää MultiplierConfig = { ... } -taulukkoa, jossa on yleiskerroin ja yksi rivi kutakin taitoa kohden.
MultiplierConfig = {
Global = 1.0,
GlobalToggle = true,
Fitness = 1.0,
Strength = 1.0,
Woodwork = 1.0,
...
}
| Asetus | Oletus | Mitä se tekee |
|---|---|---|
Global |
1.0 | Nopeus, jolla kaikki taidot kehittyvät, 0.0-1000.0 |
GlobalToggle |
true | Kun tosi, jokainen taito käyttää arvoa Global ja taitokohtaiset arvot sivuutetaan |
| Taitokohtaiset rivit | 1.0 kukin | Fitness, Strength, Aiming, Mechanics, Cooking, Blacksmith ja loput |
Jos haluat kolminkertaisen XP:n kaikkeen, aseta Global = 3.0 ja jätä GlobalToggle = true. Jos haluat nostaa vain tuliaseita, aseta GlobalToggle = false ja nosta arvoja Aiming ja Reloading. Taitokohtaisen arvon asettaminen silloin, kun GlobalToggle on yhä tosi, ei tee mitään, ja tämä on yleisin XP-valitus, jonka näemme.
Kaksi liittyvää avainta on ylimmällä tasolla: CharacterFreePoints (oletus 0, lisäpisteitä hahmonluonnissa) ja LevelForMediaXPCutoff (oletus 3).
Ajoneuvot
| Asetus | Oletus | Vaikutus |
|---|---|---|
EnableVehicles |
true | Spawnaako ajoneuvoja lainkaan |
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 ... 6=Full |
LockedCar |
4 (Sometimes) | 1=Never ... 6=Very Often |
CarGeneralCondition |
3 (Normal) | 1=Very Low ... 5=Very High |
VehicleEasyUse |
false | Poistaa lukot ja avainvaatimukset |
CarGasConsumption |
1.0 | Kuinka paljon ajoneuvot juovat bensaa |
Maailma ja rakentaminen
| Asetus | Oletus | Vaikutus |
|---|---|---|
ConstructionBonusPoints |
3 (Normal) | Lisäkestävyyttä pelaajien rakentamiin rakennelmiin |
AllClothesUnlocked |
false | Kaikki vaatteet käytettävissä hahmonluonnissa |
MaxFogIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low, 4=None |
MaxRainFxIntensity |
1 (Normal) | 1=Normal, 2=Moderate, 3=Low |
EnableSnowOnGround |
true | Lumi kertyy maahan |
Basement.SpawnFrequency |
4 (Sometimes) | Build 42:n kellarit, Basement = { ... } -taulukon sisällä |
Map.AllowWorldMap |
true | Map = { ... } -taulukon sisällä, yhdessä avaimen AllowMiniMap kanssa (oletuksena false) |
Huomaa, että MaxFogIntensity ja MaxRainFxIntensity ovat Build 42:ssa kokonaislukuportaita, eivät enää liukulukuja väliltä 0.0-1.0. MaxFogIntensity = 0.0 ei tarkoita "ei sumua", se on kelvoton porras.
Tiedoston turvallinen muokkaus
- Sammuta palvelin paneelista. Tästä ei jousteta
- Avaa
/home/container/.cache/Server/Pterodactyl_SandboxVars.luatiedostonhallinnassa tai SFTP:n kautta - Etsi asetus Ctrl+F:llä ja tarkista, onko se ylimmällä tasolla vai lohkossa
ZombieLore,ZombieConfig,MultiplierConfig,MaptaiBasement - Muuta vain
=-merkin jälkeinen arvo. Jätä avainnimi, pilkku ja ympäröivät aaltosulkeet rauhaan - Tallenna tiedosto
- Käynnistä palvelin
Arvojen pitää olla kelvollista Luaa: Speed = 1, eikä Speed = "Sprinters". Totuusarvot kirjoitetaan ilman lainausmerkkejä muodossa true / false. Kerroinavaimet ottavat desimaaleja (FoodLootNew = 1.2), porrasavaimet kokonaislukuja (CarSpawnRate = 4).
Jos palvelin kieltäytyy käynnistymästä muokkauksen jälkeen, olet lähes varmasti pudottanut pilkun tai sulkevan aaltosulkeen. Console kertoo rivin.
Mitkä muutokset vaikuttavat olemassa olevaan maailmaan
Sandbox-asetukset luetaan maailmaa luotaessa, joten moni niistä vaikuttaa vain maastoon, jota ei ole vielä generoitu. Asetukset, jotka kyllä vaikuttavat olemassa olevaan tallennukseen uudelleenkäynnistyksen jälkeen:
- Kaikki
ZombieLore-lohkossa (Speed,Strength,Cognition,Sight,Hearing) ZombieConfig-lohkon respawn-avaimet (RespawnHours,RespawnUnseenHours,RespawnMultiplier)- Lootin respawn (
HoursForLootRespawn,SeenHoursPreventLootRespawn) MultiplierConfig-lohkon XP-kertoimet- Sähkö- ja vesikatkojen ajoitukset, kunhan katko ei ole jo tapahtunut
Asetukset, jotka eivät muuta olemassa olevaa maailmaa takautuvasti:
StartMonth,StartDay,StartTime,StartYear*LootNew-kertoimet niiden säilöjen osalta, jotka on jo generoituCarSpawnRateja ajoneuvojen sijoittelu jo tutkituissa alueissaBasement.SpawnFrequency, koska kellarit sijoitetaan alueen mukana
Sandbox-esiasetukset
Project Zomboidissa on valmiita esiasetuksia, jotka voi ottaa käyttöön pelin Custom Sandbox -valikosta ennen maailman generointia: Apocalypse (oletus), Survivor, Survival, Builder, Initial Infection ja Six Months Later. Dedikoidulla palvelimella esiasetusvalitsinta ei ole, joten käytännön reitti on säätää esiasetus yksinpelissä ja kopioida arvot sen tallennuksen SandboxVars.lua-tiedostosta palvelimesi tiedostoon. Säilytä lohkorakenne kopioidessasi.
FAQ
Muutokseni palautuvat koko ajan entiselleen. Muokkasit palvelimen ollessa käynnissä. PZ tallensi muistissa olleen tilansa sammutuksen yhteydessä ja ylikirjoitti tiedostosi. Pysäytä palvelin aina ensin.
Muutin zombiasetusta eikä mitään tapahtunut.
Laitoit sen lähes varmasti ylimmälle tasolle. Speed, Sight, Hearing, Memory, Toughness ja loput toimivat vain ZombieLore = { ... } -taulukon sisällä. Sama ansa nappaa avaimen RespawnHours, joka kuuluu ZombieConfig-lohkoon.
Miksi zombini respawnaavat, vaikka asetin RespawnHours-arvon?
Tai toisin päin: mikään ei respawnaa. Kaikilla kolmella avaimella on merkitystä. RespawnHours asettaa kierron, RespawnUnseenHours sitoo sen näkyvyyteen ja RespawnMultiplier päättää, kuinka moni palaa. B42:ssa kaikki kolme ovat käytännössä pois päältä.
Missä XpMultiplier on?
Poissa. Build 42 käyttää arvoa MultiplierConfig.Global, ja GlobalToggle = true saa sen vaikuttamaan jokaiseen taitoon.
Voinko muuttaa asetuksia lennossa komennolla /changeoption? Vain pientä osaa (PVP, pelaajien enimmäismäärä, ääniasetukset). Sandbox-arvoja ei voi muuttaa lennossa, ne vaativat uudelleenkäynnistyksen.
Mistä löydän kaikki vanilja-oletukset?
Käynnistä tuore palvelin. Paneeli luo SandboxVars.lua-tiedoston kaikilla oletusarvoilla ensimmäisellä käynnistyksellä, ja tiedostossa on jokaisen avaimen yläpuolella kommentti, joka kertoo asteikon ja oletuksen. Tuo tiedosto on oikea lähde, ei vanha Build 41 -opas.
Heikentääkö suurempi zombipopulaatio palvelimen suorituskykyä?
Kyllä, merkittävästi. Arvon PopulationPeakMultiplier tuplaaminen lisää muistinkäyttöä ja prosessorikuormaa noin 30 %. Suunnittele RAM-laskurillamme.
Tuovatko modit omia sandbox-asetuksiaan?
Osa tuo. Modit, jotka rekisteröivät sandbox-asetuksia, lisäävät omat kenttänsä automaattisesti latautuessaan, ja ne ilmestyvät SandboxVars.lua-tiedostoon seuraavan käynnistyksen jälkeen.
