Przejdź do treści głównej
🧟 PZ Build 42 już jest! 25% zniżki:DOOM25
DayZDayz·Administracja

Jak zrestartować serwer DayZ bez utraty ekwipunku graczy

DayZ zapisuje postać dopiero przy poprawnym wylogowaniu. Dlaczego restarty cofają ekwipunek i jak ostrzegać graczy oraz planować bezpieczne restarty serwera.

Magnus·
5 min czytania
·
24 sie 2026
Spis treści

Jeśli twoi gracze logują się po restarcie i brakuje im sprzętu, który dopiero co znaleźli, albo stoją tam, gdzie byli pół godziny wcześniej, to jest rollback. To nie jest usterka twojego serwera. Tak właśnie DayZ decyduje, kiedy zapisać postać na dysk, a kiedy poznasz tę zasadę, możesz robić restarty, które nikogo nie kosztują lootu. Ten poradnik wyjaśnia, kiedy DayZ faktycznie zapisuje, i daje ci konfigurację, która zapisuje wszystkich przy wyłączaniu.

Kiedy DayZ zapisuje postać

DayZ nie ma ręcznego zapisu. Nie istnieje komenda konsoli, komenda RCON ani przycisk w żadnym panelu, który wymusiłby zapis postaci na dysk. Zapis dzieje się na własnych zasadach:

  • Postać trafia do persistence, gdy gracz poprawnie się wyloguje. Do tego służy 15-sekundowy licznik wylogowania. To moment, w którym serwer zapisuje ekwipunek, zdrowie i pozycję.
  • Persistence przedmiotów i pojemników, czyli namiotów, stashy, beczek i pojazdów, zapisuje się przy wyłączaniu serwera.
  • Pozycja jest śledzona częściej niż ekwipunek, dlatego rollback często zostawia gracza mniej więcej tam, gdzie był, ale zabiera to, co miał przy sobie.

Cały problem wynika z pierwszego punktu: jeśli proces serwera kończy się, gdy gracze są nadal połączeni i nic ich porządnie nie rozłączy, ich ścieżka zapisu nigdy się nie wykona. Wracają do ostatniego stanu, jaki serwer zdążył zapisać.

Dlatego gracz, który był online dwie godziny bez przelogowania, może stracić dwie godziny postępu, i dlatego czasem pojawiają się zduplikowane przedmioty. Przedmiot przeniesiony po ostatnim zapisie może zostać zarejestrowany w dwóch miejscach.

Bezpieczny sposób: pozwól DayZ wyłączyć się samemu

DayZ ma wbudowane wyłączanie, które robi to poprawnie, i mieszka ono w tym samym pliku messages.xml, który wysyła wiadomości serwera. Gdy odliczanie dojdzie do jednej minuty, serwer zapisuje wszystkich połączonych graczy, blokuje się, żeby nikt nie dołączył w trakcie wyłączania, i wyrzuca wszystkich, a następnie się kończy. Gracze są rozłączani poprawnie, więc ścieżka zapisu wykonuje się dla nich wszystkich.

Ustaw to raz:

  1. Otwórz serwer w panelu gry i przejdź do zakładki Files.
  2. Otwórz mpmissions/dayzOffline.chernarusplus/db/messages.xml. Na Livonii użyj dayzOffline.enoch, na Sakhal dayzOffline.sakhal.
  3. Zastąp zawartość odliczaniem. To restartuje serwer cztery godziny po jego uruchomieniu, ostrzegając przez cały czas:
<?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>
  1. Zapisz, a potem zrestartuj serwer raz, żeby plik został wczytany.

Odliczanie w messages.xml w edytorze plików panelu DoomHosting

deadline podaje się w minutach, a zegar rusza w momencie, gdy misja skończy się wczytywać, a nie gdy naciśniesz Start. Serwer powtarza ostrzeżenie w miarę zbliżania się deadline, a #tmin odlicza. W DoomHosting panel podnosi serwer od razu z powrotem, więc ten jeden wpis daje ci kompletny cykl restartów. Pełny opis tagów znajdziesz w jak ustawić automatyczne wiadomości na serwerze DayZ.

Dlaczego zwykły restart jest gorszy

Naciśnięcie Restart w panelu, zatrzymanie serwera, crash i zabicie procesu przez brak pamięci kończą proces bez tego, żeby DayZ zdążył wykonać swoją sekwencję zapisu i wyrzucenia graczy. Z perspektywy połączonego gracza to to samo zdarzenie i skutek jest ten sam: rollback. Różnica nie polega na tym, jak delikatnie kończy się proces, tylko na tym, czy gracze zostali wcześniej porządnie rozłączeni.

Używaj więc odliczania z messages.xml do rutynowych restartów, a przyciski zasilania w panelu zostaw na sytuacje, gdy naprawdę ich potrzebujesz, najlepiej gdy serwer jest pusty.

Zakładka Schedule w panelu gry DoomHosting

Jeśli wolisz restarty o stałych godzinach, ustaw shutdown na 0 i dodaj akcję Restart w zakładce Schedule, z deadline o kilka minut krótszym niż interwał harmonogramu. Ostrzeżenia nadal będą wysyłane, ale pamiętaj, że samo zatrzymanie jest wtedy zatrzymaniem z panelu, więc sekwencja zapisu i wyrzucenia graczy się nie wykona. W takiej konfiguracji to ostrzeżenia wykonują robotę, więc daj graczom hojne odliczanie.

Utrzymuj cykl restartów na tyle krótki, żeby miał znaczenie

Cykl czterogodzinny z ostrzeżeniami jest znacznie bezpieczniejszy niż dwunastogodzinny bez nich, ale sam interwał też ma znaczenie. Dłuższy czas pracy oznacza więcej niezapisanego postępu dla wszystkich, którzy się nie przelogowują, a serwery DayZ stają się mniej stabilne w miarę wzrostu zużycia pamięci. Większość zaludnionych serwerów ląduje na cyklu 3 do 4 godzin. Jeśli twój serwer jest oblegany i dostajesz skargi, skróć cykl, zanim zmienisz cokolwiek innego.

Chroń same pliki persistence

Rollbacki to przypadek typowy, ale pliki persistence mogą też zostać wprost uszkodzone. Pomagają dwie rzeczy:

Zakładka Backups w panelu gry DoomHosting

Rób kopie zapasowe. Używaj zakładki Backups, zanim zmienisz mody, ustawienia wipe albo cokolwiek w db/. Przywrócenie kopii cofa cały serwer do tamtego momentu, razem z bazami i danymi graczy, więc traktuj to jako odzyskiwanie po awarii, a nie sposób na naprawienie jednego gracza.

Dowiedz się, co robi storageAutoFix, zanim to włączysz. W serverDZ.cfg ustawienie storageAutoFix = 1; sprawia, że serwer sprawdza pliki persistence przy starcie i zastępuje uszkodzone pustymi. Utrzymuje to uszkodzony serwer w stanie zdatnym do uruchomienia, co jest coś warte, ale osiąga to przez odrzucenie uszkodzonych danych zamiast ich naprawy. Zostaw włączone dla dostępności, a w sprawach, które naprawdę chcesz odzyskać, polegaj na kopiach zapasowych.

Częste problemy

Gracze mimo ostrzeżeń tracą sprzęt. Ostrzeżenia pomagają tylko tym graczom, którzy na nie reagują. Ogłoś cykl restartów na swoim Discordzie i dodaj też wiadomość z repeat, żeby ludzie znali rytm, zamiast być zaskakiwani.

Sprzęt wraca po kolejnym restarcie. Zwykle znaczy to, że dwa foldery misji zapisują do tej samej persistence, albo że kopia zapasowa została przywrócona na żywe dane. Sprawdź, czy wartość mpmissions w zakładce Startup zgadza się z folderem, który edytowałeś.

Wszystko cofnęło się po crashu. Crash to jedyny przypadek, którego odliczanie nie obejmie. Jeśli crashe zdarzają się często, zacznij od zapasu RAM. Serwerowi DayZ, któremu skończy się pamięć, proces jest zabijany w trakcie sesji i zabiera ze sobą postęp wszystkich połączonych postaci.

Jeden gracz stracił sprzęt, a reszta nie. To zwykle rozłączenie po stronie klienta, a nie rollback serwera. Jeśli gra zamknęła się, zanim upłynęło 15 sekund, postać nigdy nie została zapisana.

Powiązane poradniki

Czy ten poradnik był pomocny?

Dayz

Uruchom swój serwer Dayz

Hosting o wysokiej wydajności z wsparciem 24/7

Więcej poradników Dayz