Om dina spelare loggar in efter en omstart och saknar gear de nyss hittat, eller står där de stod för en halvtimme sedan, är det en rollback. Det är inte ett fel på din server. Det är så DayZ avgör när en karaktär ska skrivas till disk, och när du känner till regeln kan du köra omstarter som inte kostar någon deras loot. Den här guiden förklarar när DayZ faktiskt sparar, och ger dig en omstartslösning som sparar alla på vägen ner.
När DayZ sparar en karaktär
DayZ har ingen manuell sparning. Det finns inget konsolkommando, inget RCON-kommando och ingen knapp i någon panel som tvingar en karaktär till disk. Sparandet sker på egna villkor:
- En karaktär skrivs till persistensen när spelaren loggar ut korrekt. Det är vad den 15 sekunder långa utloggningstimern är till för. Det är då servern sparar inventory, hälsa och position.
- Persistens för föremål och förvaring som tält, stashes, tunnor och fordon skrivs när servern stängs ner.
- Position spåras oftare än inventory, vilket är därför en rollback ofta placerar spelaren ungefär där hen var men tar bort det hen bar på sig.
Hela problemet följer av den första punkten: om serverprocessen avslutas medan spelare fortfarande är inne, och inget kopplar bort dem ordentligt, körs aldrig deras sparning. De återgår till det senaste läge servern hann spara.
Det är därför en spelare som varit inne i två timmar utan att logga om kan förlora två timmars framsteg, och därför dubbletter av föremål ibland dyker upp efteråt. Ett föremål som flyttats efter senaste sparningen kan hamna registrerat på två ställen.
Det säkra sättet: låt DayZ stänga ner sig själv
DayZ har en inbyggd nedstängning som hanterar det här korrekt, och den bor i samma messages.xml som skickar dina servermeddelanden. När nedräkningen når en minut sparar servern alla anslutna spelare, låser sig så att ingen ansluter mitt i nedstängningen, och kickar ut alla, och avslutas sedan. Spelarna kopplas bort korrekt, så sparningen körs för dem allihop.
Ställ in det en gång:
- Öppna din server i spelpanelen och gå till Files-fliken.
- Öppna
mpmissions/dayzOffline.chernarusplus/db/messages.xml. På Livonia använder dudayzOffline.enoch, på SakhaldayzOffline.sakhal. - Ersätt innehållet med en nedräkning. Den här startar om fyra timmar efter att servern kommit upp, med varningar hela vägen:
<?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>
- Spara och starta sedan om servern en gång så att filen läses in.

deadline anges i minuter, och klockan börjar när missionen har laddat klart, inte när du trycker Start. Servern upprepar varningen när deadline närmar sig, med #tmin som räknar ner. Hos DoomHosting startar panelen upp servern igen direkt efteråt, så den här enda posten ger dig en komplett omstartscykel. Hela taggreferensen finns i så ställer du in automatiska servermeddelanden i DayZ.
Varför en vanlig omstart är sämre
Att trycka Restart i panelen, stoppa servern, en krasch och en out of memory-kill avslutar alla processen utan att DayZ hinner köra sin spara-och-kicka-sekvens först. Ur en ansluten spelares perspektiv är det samma händelse, och resultatet blir samma rollback. Skillnaden ligger inte i hur mjukt processen avslutas, utan i om spelarna kopplades bort ordentligt innan den gjorde det.
Använd alltså messages.xml-nedräkningen för rutinmässiga omstarter, och spara panelens power-knappar till de gånger du verkligen behöver dem, helst när servern är tom.

Vill du hellre ha omstarter på fasta klockslag sätter du shutdown till 0 och lägger till en Restart-åtgärd under Schedule-fliken, med deadline några minuter kortare än schemats intervall. Varningarna går fortfarande ut, men tänk på att själva stoppet då är ett panelstopp, så spara-och-kicka-sekvensen körs inte. Det är varningarna som gör jobbet i den lösningen, så ge spelarna en generös nedräkning.
Håll omstartscykeln kort nog att spela roll
En fyratimmarscykel med varningar är betydligt säkrare än en tolvtimmarscykel utan, men intervallet spelar roll i sig. Längre drifttid betyder mer osparad progression för alla som inte loggar om, och DayZ-servrar blir instabilare när minnesanvändningen klättrar. De flesta befolkade servrar landar på en cykel på 3 till 4 timmar. Är din server välbesökt och du får klagomål, korta ner cykeln innan du ändrar något annat.
Skydda själva persistensfilerna
Rollbacks är det vanliga fallet, men persistensfiler kan också skadas helt. Två saker hjälper:

Ta backuper. Använd Backups-fliken innan du byter mods, ändrar wipe-inställningar eller redigerar något i db/. Att återställa en backup rullar tillbaka hela servern till det ögonblicket, inklusive baser och spelardata, så betrakta det som katastrofåterställning snarare än ett sätt att fixa en enskild spelare.
Ta reda på vad storageAutoFix gör innan du slår på det. I serverDZ.cfg gör storageAutoFix = 1; att servern kontrollerar persistensfilerna vid uppstart och ersätter skadade filer med tomma. Det håller en skadad server startbar, vilket är värt något, men det gör det genom att kasta bort den skadade datan i stället för att reparera den. Låt det vara på för drifttidens skull och lita på backuper för allt du faktiskt vill ha tillbaka.
Vanliga problem
Spelarna tappar gear trots varningar. Varningar hjälper bara de spelare som agerar på dem. Meddela omstartscykeln i din Discord och lägg till ett repeat-meddelande också, så att folk känner till schemat i stället för att bli överraskade.
Gear kommer tillbaka efter en andra omstart. Det betyder oftast att två missionsmappar skriver till samma persistens, eller att en backup återställts ovanpå levande data. Kontrollera att värdet för mpmissions under Startup-fliken stämmer med mappen du har redigerat.
Allt rullade tillbaka efter en krasch. En krasch är det enda fall en nedräkning inte täcker. Om kraschar är vanliga, titta först på RAM-marginalen. En DayZ-server som får slut på minne dödas mitt i sessionen och tar med sig alla anslutna karaktärers progression.
En spelare tappade sitt gear men ingen annan. Det är oftast en frånkoppling på klientsidan snarare än en rollback på servern. Om spelet stängdes innan de 15 sekunderna var klara sparades aldrig karaktären.
