Serverele de jocuri beneficiază de reporniri regulate pentru a curăța scurgerile de memorie, a aplica modificările de configurare și a menține performanța stabilă pe parcursul sesiunilor lungi de joc. Acest ghid îți arată cum să configurezi reporniri programate automate folosind funcția Schedules din GPanel, astfel încât serverul tău să rămână sănătos fără intervenție manuală.
De ce să programezi reporniri?
Majoritatea serverelor de jocuri acumulează utilizare de memorie și date temporare în timp. Fără reporniri periodice, este posibil să observi:
- Lag în creștere și rubber-banding pe măsură ce utilizarea RAM crește de-a lungul orelor sau zilelor
- Încetiniri la încărcarea entităților și segmentelor în jocuri precum Minecraft și Project Zomboid
- Scurgeri de memorie legate de moduri care se resetează doar la o repornire completă a serverului
- Aplicarea întârziată a modificărilor de configurare care necesită o repornire pentru a avea efect
O repornire programată la fiecare 6 până la 12 ore este cea mai comună configurare și previne majoritatea acestor probleme.
Cerințe preliminare
- Un server de joc activ cu Legion Hosting
- Acces la GPanel cu credențialele contului tău
- Serverul tău ar trebui să fie în starea Running (programările se declanșează doar când serverul este online, dacă nu sunt configurate altfel)
Pasul 1: Deschide fila Schedules
- Conectează-te la GPanel și selectează serverul tău din lista de servere.
- În bara laterală din stânga, fă clic pe fila Schedules.
- Vei vedea o listă cu orice programări existente. Dacă acesta este un server nou, lista va fi goală.
Pasul 2: Creează o programare nouă
- Fă clic pe butonul Create Schedule.
- Introdu un Name pentru programare — ceva descriptiv precum
Auto Restart Every 6 Hours. - Setează Cron Expression pentru a controla când rulează programarea. Vezi secțiunea de mai jos pentru exemple comune.
- Asigură-te că Enabled este activat.
- Fă clic pe Save pentru a crea programarea.
Pasul 3: Adaugă o sarcină de repornire la programare
- După salvarea programării, fă clic pe numele acesteia pentru a o deschide.
- Sub secțiunea Tasks, fă clic pe New Task.
- Setează Action la Send power action.
- Setează Payload la Restart.
- Setează Time Offset la
0secunde (acest lucru înseamnă că sarcina rulează imediat când se declanșează programarea). - Fă clic pe Save.
Repornirea ta programată este acum activă. Serverul se va reporni automat conform expresiei cron pe care ai configurat-o.
Înțelegerea expresiilor cron
GPanel folosește expresii cron pentru a defini când rulează o programare. O expresie cron are cinci câmpuri separate prin spații:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Câmp | Valori permise | Descriere |
|---|---|---|
| Minute | 0–59 | Minutul orei în care rulează sarcina |
| Hour | 0–23 | Ora zilei (format 24 de ore) |
| Day of Month | 1–31 | Ziua lunii |
| Month | 1–12 | Luna anului |
| Day of Week | 0–6 (0 = duminică) | Ziua săptămânii |
Caractere speciale:
*— corespunde fiecărei valori (wildcard)*/N— corespunde fiecărui interval de N (de ex.,*/6în câmpul Hour înseamnă la fiecare 6 ore),— separă mai multe valori (de ex.,0,12înseamnă la 0 și 12)
Programări comune de repornire
Iată cele mai populare intervale de repornire și expresiile cron de folosit în GPanel:
| Frecvența repornirii | Expresie cron | Repornește la (ora serverului) |
|---|---|---|
| La fiecare 6 ore | 0 */6 * * * |
12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM |
| La fiecare 8 ore | 0 */8 * * * |
12:00 AM, 8:00 AM, 4:00 PM |
| La fiecare 12 ore | 0 0,12 * * * |
12:00 AM, 12:00 PM |
| O dată pe zi (4:00 AM) | 0 4 * * * |
4:00 AM |
| O dată pe zi (6:00 AM) | 0 6 * * * |
6:00 AM |
| La fiecare 3 ore | 0 */3 * * * |
12 AM, 3 AM, 6 AM, 9 AM, 12 PM, 3 PM, 6 PM, 9 PM |
Avertizarea jucătorilor înainte de o repornire
Repornirea fără avertisment poate întrerupe jucătorii în mijlocul unei acțiuni, cauzând frustrare sau pierderea progresului. Poți folosi sarcina Send Command din GPanel pentru a difuza un mesaj de avertizare jucătorilor înainte de a avea loc repornirea.
Cum funcționează
În loc de o singură sarcină de repornire, creezi mai multe sarcini în cadrul aceleiași programări, eșalonate cu decalaje de timp:
- O sarcină Send Command la decalajul
0care difuzează un mesaj de avertizare (de ex., „Serverul se repornește în 5 minute") - O sarcină Send Command la decalajul
240(4 minute mai târziu) cu un avertisment final (de ex., „Serverul se repornește în 1 minut") - O sarcină Send power action → Restart la decalajul
300(5 minute după primul avertisment)
0 pentru imediat, 60 pentru 1 minut, 300 pentru 5 minute etc.
Exemplu: Programare completă cu avertismente
Iată cum arată o programare completă cu un avertisment de 5 minute, un avertisment de 1 minut și repornirea:
| Sarcina # | Action | Payload / Command | Time Offset |
|---|---|---|---|
| 1 | Send command | (comandă de avertizare specifică jocului — vezi mai jos) | 0 secunde |
| 2 | Send command | (comandă de avertizare finală specifică jocului) | 240 secunde |
| 3 | Send power action | Restart | 300 secunde |
Comenzi de avertizare specifice jocurilor
Comanda pe care o folosești pentru a difuza un mesaj jucătorilor variază în funcție de joc. Mai jos sunt comenzile pentru cele mai populare jocuri:
Project Zomboid
Folosește comanda servermsg pentru a trimite un mesaj în joc tuturor jucătorilor conectați:
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
Folosește comanda say pentru a difuza un mesaj în chat tuturor jucătorilor:
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
Folosește comanda broadcast pentru a afișa un mesaj pe ecran pentru toți jucătorii:
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
Bune practici
- Repornește în orele cu trafic redus. Dacă serverul tău are un program previzibil de jucători, programează repornirile pentru momentul când sunt online cei mai puțini jucători. O repornire zilnică la 4:00 AM sau 6:00 AM funcționează bine pentru majoritatea comunităților.
- Include întotdeauna un avertisment. Chiar și un avertisment de 1 minut le oferă jucătorilor timp să ajungă într-o locație sigură sau să finalizeze un schimb. Un avertisment de 5 minute este ideal.
- Folosește copii de rezervă împreună cu repornirile. Dacă jocul tău sau GPanel acceptă copii de rezervă automate, programează o copie de rezervă înainte de repornire. Acest lucru asigură că ai întotdeauna o salvare recentă în cazul în care ceva merge prost.
- Nu reporni prea frecvent. Repornirea la fiecare oră este inutilă pentru majoritatea serverelor și îi va frustra pe jucători. La fiecare 6 până la 12 ore este punctul optim, cu excepția cazului în care rulezi un server puternic modificat cu probleme cunoscute de scurgeri de memorie.
- Testează programarea ta. După crearea unei programări, revino după primul moment de declanșare așteptat pentru a confirma că repornirea a avut loc. Verifică jurnalul consolei GPanel pentru evenimentul de repornire.
- Numește-ți programările clar. Folosește nume descriptive precum „6h Auto Restart with Warning" astfel încât să poți identifica rapid ce face fiecare programare.
Gestionarea programărilor existente
Poți modifica sau dezactiva programările oricând din fila Schedules din GPanel:
- Pentru a edita o programare: fă clic pe numele programării, schimbă expresia cron sau sarcinile și fă clic pe Save.
- Pentru a dezactiva temporar o programare: deschide programarea și dezactivează Enabled. Programarea va rămâne salvată, dar nu se va declanșa până când nu o reactivezi.
- Pentru a șterge o programare: fă clic pe pictograma de ștergere de lângă programare. Acest lucru o elimină definitiv.
Depanare
| Problemă | Ce să verifici |
|---|---|
| Programarea nu se declanșează | Deschide programarea și confirmă că Enabled este activat. Verifică din nou expresia cron — o greșeală frecventă este folosirea unei ordini incorecte a câmpurilor. Asigură-te că serverul este online când programarea ar trebui să se declanșeze. |
| Repornirea are loc, dar mesajul de avertizare nu apare | Asigură-te că sarcina Send Command folosește comanda corectă pentru jocul tău. Verifică dacă decalajul de timp este mai mic decât decalajul sarcinii de repornire (de ex., avertisment la 0 secunde, repornire la 300 de secunde). |
| Serverul nu revine online după repornire | Verifică consola GPanel pentru erori de pornire. Dacă serverul s-a blocat în timpul închiderii, este posibil să nu repornească curat. Încearcă un Start manual din GPanel. Dacă problema persistă, deschide un tichet de asistență. |
| Expresia cron nu este acceptată | GPanel necesită exact 5 câmpuri în expresia cron (minut, oră, ziua lunii, lună, ziua săptămânii). Nu include un câmp pentru secunde. Asigură-te că nu există spații suplimentare sau caractere speciale. |
| Comanda de avertizare se trimite, dar jucătorii nu o văd | Unele jocuri necesită o formatare specifică. Pentru Project Zomboid, mesajul trebuie să fie între ghilimele: servermsg "Your message here". Pentru Minecraft, say nu folosește ghilimele. Verifică secțiunea specifică jocului de mai sus. |
Ai nevoie de ajutor?
Dacă întâmpini dificultăți la configurarea repornirilor programate sau programarea ta nu funcționează conform așteptărilor, deschide un tichet de asistență și include:
- Numele serverului tău din GPanel
- Expresia cron pe care o folosești
- O descriere a ceea ce se întâmplă (sau nu se întâmplă)
Echipa noastră de asistență te va ajuta să configurezi programarea corect.