txAdmin zaplanowane restarty: ustaw dzienny restart z ostrzeżeniami

Skonfiguruj automatyczne restarty w txAdmin: harmonogram restartów, ogłoszenia przed restartem, dlaczego codzienne restarty pomagają i jak zapisać dane gracza, gdy serwer się wyłącza.

FiveM serwer, który działa przez dni, powoli się pogarsza: pamięć rośnie, skrypty pozostawiają jednostki i hitchów staje się bardziej powszechne. Zaplanowany restart o ustalonej godzinie to najtańsza poprawka. txAdmin ma to wbudowane, z ostrzeżeniami dla graczy, więc nikt nie jest zaskoczony.

Dlaczego codzienne restarty pomagają

  • Pamięć. Niektóre zasoby ciągle dodają do tabel lub jednostek, które nigdy nie czyszczą. Restart zwraca serwer do świeżego stanu.
  • Utknięty stan. Pozostałe jednostki, zepsute sesje i skrypty w złym stanie znikają.
  • Przewidywalność. Gracze dowiadują się, że serwer wyłącza się na przykład o 05:00 i planują to.
  • Aktualizacje. Masz regularny punkt do zastosowania aktualizacji skryptów i nowych artefaktów. Zobacz aktualizowanie artefaktów serwera.

Restart ukrywa przeciek, go nie naprawia. Jeśli serwer jest wyraźnie wolniejszy po kilku godzinach, znajdź przyczynę za pomocą resmon.

Ustaw harmonogram w txAdmin

  1. Otwórz panel internetowy txAdmin i przejdź do Settings.
  2. Znajdź sekcję Restarter (zaplanowane restarty).
  3. Dodaj godziny dnia, kiedy chcesz restart, w pokazanym formacie, na przykład 05:00. Możesz dodać więcej niż jeden.
  4. Zapisz.

Dokładny układ różni się między wersjami, więc szukaj sekcji harmonogramu restartów. Czasy odpowiadają zegarowi maszyny, na której działa txAdmin, więc sprawdź jej strefę czasową, jeśli restart następuje o złej godzinie.

Wybierz najcichszą godzinę serwera. Sprawdź wykres graczy przed wyborem.

Ostrzeżenia przed restartem

txAdmin ogłasza zbliżające się restarty graczom w grze, z odliczaniem. Nie musisz pisać skryptu dla tego. Gdy restart jest zaplanowany, gracze otrzymują wiadomości w minutach poprzedzających i ostateczną wiadomość, gdy się zaczyna.

Możesz również zrestartować ręcznie z panelu w każdej chwili i podać powód. Wiadomość jest najpierw pokazana graczom.

Wskazówka: powiedz graczom godziny restartów na Discord i na ekranie ładowania. Niewielu ludzi będzie mieć problem z restartem, o którym foram powiedziano.

Zapisz dane gracza przy wyłączeniu

Ryzyko restartu to utrata postępu. Pomyśl o tym jako o trzech warstwach:

  1. Framework zapisuje postaci okresowo i gdy gracz się rozłącza (playerDropped). ESX, QBCore i QBox to robią. Gdy txAdmin zatrzymuje serwer, gracze są rozłączani, co wyzwala te zapisywania w normalnych warunkach.
  2. Twoje skrypty powinny przechowywać własne dane w bazie danych, gdy zmienia się, lub na timer'ze. Nie przechowuj postęp tylko w tabeli Lua i nie pisz go przy wyłączeniu.
  3. Háčki wyłączania to ostatnia szansa, a nie plan. Serwer, który jest zabity lub kraszuje, nigdy ich nie uruchamia.

txAdmin wysyła zdarzenia do Twoich zasobów, które możesz użyć, na przykład gdy zbliża się zaplanowany restart i gdy serwer się wyłącza. Dwa z nich to txAdmin:events:scheduledRestart i txAdmin:events:serverShuttingDown. Oba są zdarzeniami po stronie serwera.

lua
AddEventHandler('txAdmin:events:scheduledRestart', function(eventData)
    if GetInvokingResource() ~= 'monitor' then return end
    -- eventData holds the time left and the announcement text
    print('A restart is scheduled soon')
end)

AddEventHandler('txAdmin:events:serverShuttingDown', function(eventData)
    if GetInvokingResource() ~= 'monitor' then return end
    -- save anything your script still holds in memory
    SaveAllMyData()
end)

Sprawdzenie GetInvokingResource() upewnia się, że zdarzenie pochodzi z txAdmin (jego zasób jest nazywany monitor) a nie od gracza lub innego skryptu. Sprawdź dokumentację txAdmin dla pełnej listy pól danych zdarzeń w Twojej wersji.

SaveAllMyData oznacza Twoją własną funkcję, która zapisuje stan Twojego skryptu do bazy danych. Trzymaj to szybko: serwer nie czeka na zawsze.

Praktyczne porady

  • Restartuj rzadziej niż myślisz, że potrzebujesz, ale nie nigdy. Raz dziennie działa dla większości serwerów. Ciężkie serwery robią to dwukrotnie.
  • Utwórz kopię zapasową przed restartem. Zrzut bazy danych zaplanowany kilka minut wcześniej oznacza, że zawsze możesz wrócić. Zobacz tworzenie kopii zapasowej serwera.
  • Obserwuj pierwszy start po restarcie. Jeśli skrypt nie uruchomi się, chcesz wiedzieć, zanim gracze dołączą. Sprawdź konsolę txAdmin.
  • Używaj kolejności zasobów. Skrypty, które potrzebują bazy danych lub core, muszą się uruchomić po nich. Zobacz kolejność zasobów server.cfg.
  • Nie restartuj podczas zdarzeń. Jeśli uruchamiasz zaplanowane zdarzenie, przenieś restart lub zrób to ręcznie.

Co restart nie naprawia

Jeśli serwer hitchuje lub lag od momentu startu, problem to skrypt, a nie czas pracy. Sprawdź ostrzeżenia server thread hitch i resmon. Harmonogram tylko traktuje powolny wzrost.

Lista kontrolna

Objaw Rozwiązanie
Serwer powoli się spowalnia po godzinach Dodaj dzienny restart, a następnie znajdź wyciekający skrypt
Restart o złej godzinie Sprawdź strefę czasową maszyny, na której działa txAdmin
Gracze zaskoczeni restartem Użyj ogłoszeń txAdmin i publikuj godziny restartów
Postęp utracony przy restarcie Zapisz w bazie danych, gdy dane się zmienią, a nie tylko przy wyłączeniu
Potrzebna ostatnia oszczędność Obsługuj txAdmin:events:serverShuttingDown i sprawdzaj GetInvokingResource()
Restart łamie skrypty Napraw kolejność startu i przeczytaj konsolę po restarcie

Szybkie odpowiedzi

Jak często serwer FiveM powinien się restartować?

Większość serwerów restartuje się raz lub dwa razy dziennie, w najcichszej godzinie. Jeśli widzisz, że wydajność spada w ciągu dnia, restartuj częściej i szukaj skryptu, który to powoduje.

Czy gracze stracą postępy przy restarcie?

Nie, jeśli Twój framework i skrypty prawidłowo zapisują. Framework'i zapisują graczy okresowo i gdy odchodzą, a Twoje własne skrypty powinny również zapisywać się na timer'ach, a nie tylko przy wyłączeniu.

Gdzie mogę ustawić godziny restartów?

W ustawieniach panelu internetowego txAdmin, w sekcji restarter. Dodajesz godziny dnia, a txAdmin pokazuje ostrzeżenia dla graczy przed każdym.

Skrypty bez tego problemu

Crypto MiningKup magazyn, składaj koparki część po części i kop monety na żywym rynku.Zobacz skrypt →Arcade MachinesSiedem grywalnych gier arcade w prawdziwych automatach, z rankingami i zakładami.Zobacz skrypt →Tebex TemplateMotyw premium dla twojego sklepu Tebex, bez kodu — edytowany w całości z panelu Tebex.Zobacz skrypt →

Czytaj dalej