I server di gioco beneficiano di riavvii regolari per liberare perdite di memoria, applicare modifiche alla configurazione e mantenere prestazioni stabili durante lunghe sessioni di gioco. Questa guida ti mostra come configurare riavvii automatici programmati utilizzando la funzionalità Schedules in GPanel, così il tuo server rimane in salute senza intervento manuale.
Perché Programmare i Riavvii?
La maggior parte dei server di gioco accumula utilizzo di memoria e dati temporanei nel tempo. Senza riavvii periodici, potresti notare:
- Lag crescente e rubber-banding man mano che l'utilizzo della RAM aumenta nel corso di ore o giorni
- Rallentamenti nel caricamento di entità e chunk in giochi come Minecraft e Project Zomboid
- Perdite di memoria causate dalle mod che si risolvono solo con un riavvio completo del server
- Applicazione ritardata delle modifiche alla configurazione che richiedono un riavvio per avere effetto
Un riavvio programmato ogni 6-12 ore è la configurazione più comune e previene la maggior parte di questi problemi.
Prerequisiti
- Un server di gioco attivo con Legion Hosting
- Accesso a GPanel con le tue credenziali
- Il tuo server dovrebbe essere nello stato Running (le pianificazioni si attivano solo quando il server è online, salvo diversa configurazione)
Passaggio 1: Aprire la Scheda Schedules
- Accedi a GPanel e seleziona il tuo server dalla lista dei server.
- Nella barra laterale sinistra, clicca la scheda Schedules.
- Vedrai un elenco delle pianificazioni esistenti. Se si tratta di un nuovo server, l'elenco sarà vuoto.
Passaggio 2: Creare una Nuova Pianificazione
- Clicca il pulsante Create Schedule.
- Inserisci un Nome per la pianificazione — qualcosa di descrittivo come
Auto Restart Every 6 Hours. - Imposta l'Espressione Cron per controllare quando la pianificazione si esegue. Consulta la sezione seguente per esempi comuni.
- Assicurati che Enabled sia attivato.
- Clicca Save per creare la pianificazione.
Passaggio 3: Aggiungere un Task di Riavvio alla Pianificazione
- Dopo aver salvato la pianificazione, clicca sul suo nome per aprirla.
- Nella sezione Tasks, clicca New Task.
- Imposta l'Action su Send power action.
- Imposta il Payload su Restart.
- Imposta il Time Offset a
0secondi (questo significa che il task si esegue immediatamente quando la pianificazione scatta). - Clicca Save.
Il tuo riavvio programmato è ora attivo. Il server si riavvierà automaticamente secondo l'espressione cron che hai configurato.
Comprendere le Espressioni Cron
GPanel utilizza espressioni cron per definire quando una pianificazione si esegue. Un'espressione cron ha cinque campi separati da spazi:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Campo | Valori Consentiti | Descrizione |
|---|---|---|
| Minute | 0–59 | Il minuto dell'ora in cui il task si esegue |
| Hour | 0–23 | L'ora del giorno (formato 24 ore) |
| Day of Month | 1–31 | Il giorno del mese |
| Month | 1–12 | Il mese dell'anno |
| Day of Week | 0–6 (0 = Domenica) | Il giorno della settimana |
Caratteri speciali:
*— corrisponde a ogni valore (wildcard)*/N— corrisponde a ogni N intervalli (es.*/6nel campo Hour significa ogni 6 ore),— separa valori multipli (es.0,12significa alle 0 e alle 12)
Pianificazioni di Riavvio Comuni
Ecco gli intervalli di riavvio più popolari e le espressioni cron da usare in GPanel:
| Frequenza di Riavvio | Espressione Cron | Riavvii Alle (Ora del Server) |
|---|---|---|
| Ogni 6 ore | 0 */6 * * * |
12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM |
| Ogni 8 ore | 0 */8 * * * |
12:00 AM, 8:00 AM, 4:00 PM |
| Ogni 12 ore | 0 0,12 * * * |
12:00 AM, 12:00 PM |
| Una volta al giorno (4:00 AM) | 0 4 * * * |
4:00 AM |
| Una volta al giorno (6:00 AM) | 0 6 * * * |
6:00 AM |
| Ogni 3 ore | 0 */3 * * * |
12 AM, 3 AM, 6 AM, 9 AM, 12 PM, 3 PM, 6 PM, 9 PM |
Avvisare i Giocatori Prima di un Riavvio
Riavviare senza preavviso può interrompere i giocatori durante un'azione, causando frustrazione o perdita di progressi. Puoi usare il task Send Command di GPanel per inviare un messaggio di avviso ai giocatori prima che il riavvio avvenga.
Come Funziona
Invece di un singolo task di riavvio, crei più task all'interno della stessa pianificazione, sfalsati con offset temporali:
- Un task Send Command con offset
0che invia un messaggio di avviso (es. "Server in riavvio tra 5 minuti") - Un task Send Command con offset
240(4 minuti dopo) con un avviso finale (es. "Server in riavvio tra 1 minuto") - Un task Send power action → Restart con offset
300(5 minuti dopo il primo avviso)
0 per immediatamente, 60 per 1 minuto, 300 per 5 minuti, ecc.
Esempio: Pianificazione Completa con Avvisi
Ecco come appare una pianificazione completa con un avviso a 5 minuti, un avviso a 1 minuto e il riavvio:
| Task # | Azione | Payload / Comando | Offset Temporale |
|---|---|---|---|
| 1 | Send command | (comando di avviso specifico per il gioco — vedi sotto) | 0 secondi |
| 2 | Send command | (comando di avviso finale specifico per il gioco) | 240 secondi |
| 3 | Send power action | Restart | 300 secondi |
Comandi di Avviso Specifici per Gioco
Il comando che usi per inviare un messaggio a tutti i giocatori varia in base al gioco. Di seguito i comandi per i giochi più popolari:
Project Zomboid
Usa il comando servermsg per inviare un messaggio in gioco a tutti i giocatori connessi:
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
Usa il comando say per inviare un messaggio in chat a tutti i giocatori:
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
Usa il comando broadcast per mostrare un messaggio a schermo per tutti i giocatori:
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
Buone Pratiche
- Riavvia durante le ore di minor traffico. Se il tuo server ha un programma prevedibile di giocatori, pianifica i riavvii quando il minor numero di giocatori è online. Un riavvio giornaliero alle 4:00 AM o 6:00 AM funziona bene per la maggior parte delle community.
- Includi sempre un avviso. Anche un avviso di 1 minuto dà ai giocatori il tempo di raggiungere un luogo sicuro o completare uno scambio. Un avviso di 5 minuti è l'ideale.
- Usa i backup insieme ai riavvii. Se il tuo gioco o GPanel supporta backup automatici, programma un backup prima del riavvio. Questo garantisce di avere sempre un salvataggio recente in caso qualcosa vada storto.
- Non riavviare troppo frequentemente. Riavviare ogni ora è inutile per la maggior parte dei server e frustrerà i giocatori. Ogni 6-12 ore è il punto ideale, a meno che tu non stia eseguendo un server con molte mod e problemi noti di perdite di memoria.
- Testa la tua pianificazione. Dopo aver creato una pianificazione, controlla dopo il primo orario di attivazione previsto per confermare che il riavvio sia avvenuto. Controlla il log della Console di GPanel per l'evento di riavvio.
- Dai nomi chiari alle tue pianificazioni. Usa nomi descrittivi come "6h Auto Restart with Warning" così puoi identificare rapidamente cosa fa ogni pianificazione.
Gestire le Pianificazioni Esistenti
Puoi modificare o disabilitare le pianificazioni in qualsiasi momento dalla scheda Schedules in GPanel:
- Per modificare una pianificazione: clicca il nome della pianificazione, modifica l'espressione cron o i task, e clicca Save.
- Per disabilitare temporaneamente una pianificazione: apri la pianificazione e disattiva Enabled. La pianificazione rimarrà salvata ma non si attiverà fino a quando non la riabiliti.
- Per eliminare una pianificazione: clicca l'icona di eliminazione accanto alla pianificazione. Questo la rimuove permanentemente.
Risoluzione dei Problemi
| Problema | Cosa Controllare |
|---|---|
| La pianificazione non si attiva | Apri la pianificazione e conferma che Enabled sia attivato. Ricontrolla l'espressione cron — un errore comune è usare un ordine dei campi errato. Assicurati che il server sia online quando la pianificazione dovrebbe attivarsi. |
| Il riavvio avviene ma il messaggio di avviso non appare | Assicurati che il task Send Command utilizzi il comando corretto per il tuo gioco. Verifica che l'offset temporale sia inferiore all'offset del task di riavvio (es. avviso a 0 secondi, riavvio a 300 secondi). |
| Il server non torna online dopo il riavvio | Controlla la Console di GPanel per errori di avvio. Se il server è andato in crash durante lo spegnimento, potrebbe non riavviarsi correttamente. Prova un Start manuale da GPanel. Se il problema persiste, apri un ticket di supporto. |
| Espressione cron non accettata | GPanel richiede esattamente 5 campi nell'espressione cron (minuto, ora, giorno del mese, mese, giorno della settimana). Non includere un campo per i secondi. Assicurati che non ci siano spazi extra o caratteri speciali. |
| Il comando di avviso viene inviato ma i giocatori non lo vedono | Alcuni giochi richiedono una formattazione specifica. Per Project Zomboid, il messaggio deve essere tra virgolette: servermsg "Your message here". Per Minecraft, say non usa virgolette. Controlla la sezione specifica per gioco sopra. |
Hai Bisogno di Aiuto?
Se hai difficoltà a configurare i riavvii programmati o la tua pianificazione non funziona come previsto, apri un ticket di supporto e includi:
- Il nome del tuo server da GPanel
- L'espressione cron che stai utilizzando
- Una descrizione di cosa sta succedendo (o non sta succedendo)
Il nostro team di supporto ti aiuterà a configurare la pianificazione correttamente.