Serwery gier korzystają z regularnych restartów, które czyszczą wycieki pamięci, stosują zmiany konfiguracji i utrzymują stabilną wydajność podczas długich sesji gry. Ten przewodnik pokazuje, jak skonfigurować automatyczne zaplanowane restarty za pomocą funkcji Schedules w GPanel, dzięki czemu Twój serwer pozostaje sprawny bez ręcznej interwencji.
Dlaczego planować restarty?
Większość serwerów gier z czasem gromadzi zużycie pamięci i dane tymczasowe. Bez okresowych restartów możesz zauważyć:
- Rosnące lagi i efekt rubber-banding w miarę wzrostu zużycia RAM przez godziny lub dni
- Spowolnienia ładowania bytów i chunków w grach takich jak Minecraft i Project Zomboid
- Wycieki pamięci związane z modami, które resetują się tylko przy pełnym restarcie serwera
- Opóźnione zastosowanie zmian konfiguracji, które wymagają restartu, aby weszły w życie
Zaplanowany restart co 6 do 12 godzin jest najczęstszą konfiguracją i zapobiega większości tych problemów.
Wymagania wstępne
- Aktywny serwer gry w Legion Hosting
- Dostęp do GPanel z danymi uwierzytelniającymi Twojego konta
- Twój serwer powinien być w stanie Running (harmonogramy uruchamiają się tylko wtedy, gdy serwer jest online, chyba że skonfigurowano inaczej)
Krok 1: Otwórz kartę Schedules
- Zaloguj się do GPanel i wybierz swój serwer z listy serwerów.
- W lewym pasku bocznym kliknij kartę Schedules.
- Zobaczysz listę wszelkich istniejących harmonogramów. Jeśli jest to nowy serwer, lista będzie pusta.
Krok 2: Utwórz nowy harmonogram
- Kliknij przycisk Create Schedule.
- Wprowadź Name dla harmonogramu — coś opisowego, jak
Auto Restart Every 6 Hours. - Ustaw Cron Expression, aby kontrolować, kiedy harmonogram jest uruchamiany. Zobacz sekcję poniżej z typowymi przykładami.
- Upewnij się, że opcja Enabled jest włączona.
- Kliknij Save, aby utworzyć harmonogram.
Krok 3: Dodaj zadanie restartu do harmonogramu
- Po zapisaniu harmonogramu kliknij jego nazwę, aby go otworzyć.
- W sekcji Tasks kliknij New Task.
- Ustaw Action na Send power action.
- Ustaw Payload na Restart.
- Ustaw Time Offset na
0sekund (oznacza to, że zadanie zostanie uruchomione natychmiast po wyzwoleniu harmonogramu). - Kliknij Save.
Twój zaplanowany restart jest teraz aktywny. Serwer automatycznie zrestartuje się zgodnie ze skonfigurowanym wyrażeniem cron.
Zrozumienie wyrażeń cron
GPanel używa wyrażeń cron do określenia, kiedy harmonogram jest uruchamiany. Wyrażenie cron ma pięć pól oddzielonych spacjami:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Pole | Dozwolone wartości | Opis |
|---|---|---|
| Minute | 0–59 | Minuta godziny, w której zadanie jest uruchamiane |
| Hour | 0–23 | Godzina dnia (format 24-godzinny) |
| Day of Month | 1–31 | Dzień miesiąca |
| Month | 1–12 | Miesiąc roku |
| Day of Week | 0–6 (0 = niedziela) | Dzień tygodnia |
Znaki specjalne:
*— dopasowuje każdą wartość (symbol wieloznaczny)*/N— dopasowuje co N interwałów (np.*/6w polu Hour oznacza co 6 godzin),— oddziela wiele wartości (np.0,12oznacza o 0 i 12)
Typowe harmonogramy restartów
Oto najpopularniejsze interwały restartów oraz wyrażenia cron do użycia w GPanel:
| Częstotliwość restartu | Wyrażenie cron | Restart o (czas serwera) |
|---|---|---|
| Co 6 godzin | 0 */6 * * * |
12:00, 6:00, 12:00, 18:00 |
| Co 8 godzin | 0 */8 * * * |
12:00, 8:00, 16:00 |
| Co 12 godzin | 0 0,12 * * * |
12:00, 12:00 |
| Raz dziennie (4:00) | 0 4 * * * |
4:00 |
| Raz dziennie (6:00) | 0 6 * * * |
6:00 |
| Co 3 godziny | 0 */3 * * * |
0:00, 3:00, 6:00, 9:00, 12:00, 15:00, 18:00, 21:00 |
Ostrzeganie graczy przed restartem
Restart bez ostrzeżenia może przerwać graczom akcję w trakcie, powodując frustrację lub utratę postępów. Możesz użyć zadania Send Command w GPanel, aby nadać graczom komunikat ostrzegawczy przed nastąpieniem restartu.
Jak to działa
Zamiast pojedynczego zadania restartu tworzysz wiele zadań w ramach tego samego harmonogramu, rozłożonych w czasie za pomocą przesunięć czasowych:
- Zadanie Send Command z przesunięciem
0, które nadaje komunikat ostrzegawczy (np. „Server restarting in 5 minutes”) - Zadanie Send Command z przesunięciem
240(4 minuty później) z ostatecznym ostrzeżeniem (np. „Server restarting in 1 minute”) - Zadanie Send power action → Restart z przesunięciem
300(5 minut po pierwszym ostrzeżeniu)
0 dla natychmiastowego, 60 dla 1 minuty, 300 dla 5 minut itd.
Przykład: Pełny harmonogram z ostrzeżeniami
Oto jak wygląda kompletny harmonogram z 5-minutowym ostrzeżeniem, 1-minutowym ostrzeżeniem i restartem:
| Zadanie # | Action | Payload / Command | Time Offset |
|---|---|---|---|
| 1 | Send command | (polecenie ostrzeżenia specyficzne dla gry — zobacz poniżej) | 0 sekund |
| 2 | Send command | (polecenie ostatecznego ostrzeżenia specyficzne dla gry) | 240 sekund |
| 3 | Send power action | Restart | 300 sekund |
Polecenia ostrzeżeń specyficzne dla gier
Polecenie używane do nadawania komunikatu graczom różni się w zależności od gry. Poniżej znajdują się polecenia dla najpopularniejszych gier:
Project Zomboid
Użyj polecenia servermsg, aby wysłać komunikat w grze do wszystkich połączonych graczy:
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
Użyj polecenia say, aby nadać komunikat na czacie do wszystkich graczy:
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
Użyj polecenia broadcast, aby wyświetlić komunikat na ekranie wszystkim graczom:
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
Najlepsze praktyki
- Restartuj w godzinach poza szczytem. Jeśli Twój serwer ma przewidywalny harmonogram graczy, zaplanuj restarty na czas, gdy najmniej graczy jest online. Codzienny restart o 4:00 lub 6:00 dobrze sprawdza się w większości społeczności.
- Zawsze dołączaj ostrzeżenie. Nawet 1-minutowe ostrzeżenie daje graczom czas na dotarcie do bezpiecznego miejsca lub dokończenie handlu. 5-minutowe ostrzeżenie jest idealne.
- Używaj kopii zapasowych wraz z restartami. Jeśli Twoja gra lub GPanel obsługuje automatyczne kopie zapasowe, zaplanuj kopię zapasową przed restartem. Zapewnia to, że zawsze masz aktualny zapis na wypadek, gdyby coś poszło nie tak.
- Nie restartuj zbyt często. Restartowanie co godzinę jest niepotrzebne dla większości serwerów i będzie frustrować graczy. Co 6 do 12 godzin to złoty środek, chyba że prowadzisz serwer z dużą liczbą modów ze znanymi problemami z wyciekami pamięci.
- Przetestuj swój harmonogram. Po utworzeniu harmonogramu sprawdź ponownie po pierwszym oczekiwanym czasie wyzwolenia, aby potwierdzić, że restart nastąpił. Spójrz na dziennik konsoli GPanel pod kątem zdarzenia restartu.
- Nazywaj swoje harmonogramy wyraźnie. Używaj opisowych nazw, takich jak „6h Auto Restart with Warning”, aby szybko zidentyfikować, co robi każdy harmonogram.
Zarządzanie istniejącymi harmonogramami
Możesz modyfikować lub wyłączać harmonogramy w dowolnym momencie z karty Schedules w GPanel:
- Aby edytować harmonogram: kliknij nazwę harmonogramu, zmień wyrażenie cron lub zadania, a następnie kliknij Save.
- Aby tymczasowo wyłączyć harmonogram: otwórz harmonogram i wyłącz opcję Enabled. Harmonogram pozostanie zapisany, ale nie uruchomi się, dopóki nie włączysz go ponownie.
- Aby usunąć harmonogram: kliknij ikonę usuwania obok harmonogramu. Powoduje to jego trwałe usunięcie.
Rozwiązywanie problemów
| Problem | Co sprawdzić |
|---|---|
| Harmonogram nie uruchamia się | Otwórz harmonogram i potwierdź, że opcja Enabled jest włączona. Dokładnie sprawdź wyrażenie cron — częstym błędem jest użycie nieprawidłowej kolejności pól. Upewnij się, że serwer jest online, gdy harmonogram ma się uruchomić. |
| Restart następuje, ale komunikat ostrzegawczy nie pojawia się | Upewnij się, że zadanie Send Command używa właściwego polecenia dla Twojej gry. Sprawdź, czy przesunięcie czasowe jest mniejsze niż przesunięcie zadania restartu (np. ostrzeżenie o 0 sekund, restart o 300 sekund). |
| Serwer nie wraca online po restarcie | Sprawdź konsolę GPanel pod kątem błędów uruchamiania. Jeśli serwer uległ awarii podczas wyłączania, może nie zrestartować się poprawnie. Spróbuj ręcznego Start z GPanel. Jeśli problem nadal występuje, otwórz zgłoszenie do pomocy technicznej. |
| Wyrażenie cron nie jest akceptowane | GPanel wymaga dokładnie 5 pól w wyrażeniu cron (minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia). Nie dołączaj pola sekund. Upewnij się, że nie ma dodatkowych spacji ani znaków specjalnych. |
| Polecenie ostrzeżenia jest wysyłane, ale gracze go nie widzą | Niektóre gry wymagają specyficznego formatowania. W przypadku Project Zomboid komunikat musi być w cudzysłowie: servermsg "Your message here". W przypadku Minecraft say nie używa cudzysłowów. Sprawdź sekcję specyficzną dla gry powyżej. |
Potrzebujesz pomocy?
Jeśli masz problemy z konfiguracją zaplanowanych restartów lub Twój harmonogram nie działa zgodnie z oczekiwaniami, otwórz zgłoszenie do pomocy technicznej i dołącz:
- Nazwę swojego serwera z GPanel
- Wyrażenie cron, którego używasz
- Opis tego, co się dzieje (lub nie dzieje)
Nasz zespół pomocy technicznej pomoże Ci poprawnie skonfigurować harmonogram.