Hvis spillerne dine logger inn igjen etter en omstart og mangler utstyr de nettopp fant, eller står der de var for en halvtime siden, er det en rollback. Det er ikke en feil på serveren din. Det er slik DayZ bestemmer når en karakter skrives til disk, og når du kjenner regelen, kan du kjøre omstarter som ikke koster noen loot. Denne guiden forklarer når DayZ faktisk lagrer, og gir deg et omstartoppsett som lagrer alle på vei ned.
Når DayZ lagrer en karakter
DayZ har ingen manuell lagring. Det finnes ingen konsollkommando, ingen RCON-kommando og ingen knapp i noe panel som tvinger en karakter til disk. Lagringen skjer på spillets egne premisser:
- En karakter skrives til persistence når spilleren kobler fra på riktig måte. Det er det utloggingstimeren på 15 sekunder er til for. Det er øyeblikket serveren lagrer inventaret, helsen og posisjonen deres.
- Persistence for gjenstander og beholdere, som telt, stashes, tønner og kjøretøy, lagres når serveren slås av.
- Posisjonen spores oftere enn inventaret, og derfor setter en rollback ofte spilleren omtrent der de var, men uten det de bar på.
Hele problemet følger av det første punktet: hvis serverprosessen avsluttes mens spillere fortsatt er tilkoblet og ingenting kobler dem fra ordentlig, blir karakterene deres aldri lagret, og de går tilbake til siste tilstand serveren lagret.
Derfor kan en spiller som har vært pålogget i to timer uten å logge inn på nytt, miste to timer med fremgang, og derfor dukker det av og til opp dupliserte gjenstander etterpå. En gjenstand som ble flyttet etter siste lagring, kan ende opp registrert to steder.
Den trygge måten: la DayZ slå seg av selv
DayZ har en innebygd nedstengning som håndterer dette riktig, og den ligger i den samme messages.xml-filen som sender servermeldingene dine. Når nedtellingen når ett minutt, lagrer serveren alle tilkoblede spillere, låser seg så ingen kan koble til midt i nedstengningen, og kaster ut alle, og avslutter deretter. Spillerne kobles fra på riktig måte, så lagringen kjøres for alle.
Sett det opp én gang:
- Åpne serveren din i kontrollpanelet og gå til Filer-fanen.
- Åpne
mpmissions/dayzOffline.chernarusplus/db/messages.xml. På Livonia bruker dudayzOffline.enoch, og på SakhaldayzOffline.sakhal. - Bytt ut innholdet med en nedtelling. Denne starter serveren på nytt fire timer etter at den har kommet opp, og varsler spillerne hele veien:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<messages>
<message>
<deadline>240</deadline>
<shutdown>1</shutdown>
<text>#name restarts in #tmin minutes. Find a safe spot and log out.</text>
</message>
</messages>
- Lagre, og start serveren på nytt én gang så filen blir lest inn.

deadline er i minutter, og klokken starter når missionen er ferdig lastet, ikke når du trykker Start. Serveren gjentar varselet etter hvert som fristen nærmer seg, mens #tmin teller ned. Hos DoomHosting starter panelet serveren igjen med en gang etterpå, så denne ene oppføringen gir deg en komplett omstartsyklus. Den fullstendige oversikten over taggene finner du i slik setter du opp automatiske servermeldinger i DayZ.
Hvorfor en vanlig omstart er verre
Å trykke Start på nytt i panelet, stoppe serveren, et krasj og en out of memory-kill avslutter alle sammen prosessen uten at DayZ først kjører lagre-og-kast-ut-sekvensen. Sett fra en tilkoblet spillers side er det den samme hendelsen, og resultatet er den samme rollbacken. Forskjellen ligger ikke i hvor skånsomt prosessen avsluttes, men i om spillerne ble koblet fra ordentlig før det skjedde.
Bruk derfor nedtellingen i messages.xml til faste omstarter, og spar strømknappene i panelet til de gangene du faktisk trenger dem, helst når serveren er tom.

Vil du heller ha omstarter på faste klokkeslett, setter du shutdown til 0 og legger til en Start på nytt-handling i Planlegging-fanen, med deadline noen minutter kortere enn planleggingsintervallet. Varslene sendes fortsatt ut, men vær klar over at selve stoppet er et panelstopp, så den kjører ikke lagre-og-kast-ut-sekvensen. I det oppsettet er det varslene som gjør jobben, så gi spillerne en romslig nedtelling.
Hold omstartsyklusen kort nok til at den betyr noe
En syklus på fire timer med varsler er langt tryggere enn en på tolv timer uten, men intervallet betyr noe i seg selv. Lengre oppetid betyr mer ulagret fremgang for alle som ikke logger inn på nytt, og DayZ-servere blir mindre stabile etter hvert som minnebruken stiger. De fleste servere med mange spillere lander på en syklus på 3 til 4 timer. Hvis serveren din er travel og du får klager, bør du korte ned syklusen før du endrer noe annet.
Beskytt selve persistence-filene
Rollbacks er det vanlige tilfellet, men persistence-filene kan også bli direkte skadet. To ting hjelper:

Ta sikkerhetskopier. Bruk Sikkerhetskopier-fanen før du endrer mods, justerer wipe-innstillinger eller redigerer noe i db/. Når du gjenoppretter en sikkerhetskopi, rulles hele serveren tilbake til det tidspunktet, inkludert baser og spillerdata, så se på det som katastrofegjenoppretting og ikke som en måte å fikse én spiller på.
Vit hva storageAutoFix gjør før du slår det på. I serverDZ.cfg får storageAutoFix = 1; serveren til å sjekke persistence-filene ved oppstart og erstatte ødelagte filer med tomme filer. Det holder en skadet server oppstartbar, og det er verdt å ha, men det skjer ved at de skadede dataene kastes i stedet for å repareres. La det stå på for oppetidens skyld, og stol på sikkerhetskopier for alt du faktisk vil ha tilbake.
Vanlige problemer
Spillerne mister fortsatt utstyr selv med varsler. Varsler hjelper bare spillere som handler på dem. Kunngjør omstartsyklusen på Discord og legg i tillegg til en repeat-melding, så folk kjenner planen i stedet for å bli overrasket.
Utstyret kommer tilbake etter en ny omstart. Det betyr som regel at to missionmapper skriver til samme persistence, eller at en sikkerhetskopi ble gjenopprettet oppå live data. Sjekk at mpmissions-verdien i Oppstart-fanen samsvarer med mappen du har redigert.
Alt ble rullet tilbake etter et krasj. Et krasj er det ene tilfellet en nedtelling ikke kan dekke. Krasjer serveren ofte, bør du først se på hvor mye RAM du har å gå på. En DayZ-server som går tom for minne, blir drept midt i økten og tar med seg fremgangen til alle tilkoblede karakterer.
Én spiller mistet utstyret sitt, men ingen andre. Det er som regel en frakobling på klientsiden og ikke en rollback på serveren. Hvis spillet deres lukket seg før utloggingen på 15 sekunder var ferdig, ble karakteren aldri lagret.
