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
- Otwórz panel internetowy txAdmin i przejdź do Settings.
- Znajdź sekcję Restarter (zaplanowane restarty).
- Dodaj godziny dnia, kiedy chcesz restart, w pokazanym formacie, na przykład
05:00. Możesz dodać więcej niż jeden. - 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:
- 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. - 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.
- 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.
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 →