Riavvi programmati di txAdmin: imposta un riavvio giornaliero con avvertimenti

Configura riavvi automatici in txAdmin: la programmazione del riavvio, gli annunci prima del riavvio, perché i riavvi giornalieri aiutano, e come salvare i dati dei giocatori quando il server si spegne.

Un server FiveM che gira per giorni lentamente peggiora: la memoria cresce, gli script lasciano entità dietro, e gli hitch diventano più comuni. Un riavvio programmato a un'ora fissa è la correzione più economica. txAdmin lo ha integrato, con avvertimenti ai giocatori in modo che nessuno sia sorpreso.

Perché i riavvi giornalieri aiutano

  • Memoria. Alcune risorse continuano ad aggiungere a tabelle o entità che non ripuliscono mai. Un riavvio restituisce il server a uno stato fresco.
  • Stato bloccato. Le entità rimaste, le sessioni rotte e gli script in uno stato cattivo scompaiono.
  • Prevedibilità. I giocatori imparano che il server si spegne, ad esempio, alle 05:00 e lo pianificano.
  • Aggiornamenti. Hai un punto regolare per applicare gli aggiornamenti degli script e i nuovi artifacts. Vedi aggiornamento degli server artifacts.

Un riavvio nasconde una perdita, non la ripara. Se il server è chiaramente più lento dopo poche ore, trova la causa con resmon.

Imposta la programmazione in txAdmin

  1. Apri il pannello web di txAdmin e vai su Impostazioni.
  2. Trova la sezione Restarter (riavvi programmati).
  3. Aggiungi i tempi del giorno in cui vuoi un riavvio, nel formato mostrato, ad esempio 05:00. Puoi aggiungerne più di uno.
  4. Salva.

L'esatto layout varia a seconda della versione, quindi cerca la sezione della programmazione del riavvio. I tempi seguono l'orologio della macchina che esegue txAdmin, quindi controlla il suo fuso orario se il riavvio accade all'ora sbagliata.

Scegli l'ora più tranquilla del tuo server. Controlla il tuo grafico dei giocatori prima di scegliere.

Avvertimenti prima del riavvio

txAdmin annuncia i riavvi imminenti ai giocatori nel gioco, con un conto alla rovescia. Non devi scrivere uno script per questo. Quando un riavvio è programmato, i giocatori ricevono messaggi nei minuti prima, e il messaggio finale quando inizia.

Puoi anche riavviare a mano dal pannello in qualsiasi momento e dare una ragione. Il messaggio viene mostrato ai giocatori per primo.

Suggerimento: dì ai tuoi giocatori le ore di riavvio nel tuo Discord e sulla tua schermata di caricamento. Poche persone si lamenteranno di un riavvio di cui gli è stato detto.

Salva i dati dei giocatori allo spegnimento

Il rischio di un riavvio è il progresso perso. Pensa ad esso come tre livelli:

  1. Il framework salva i personaggi periodicamente e quando un giocatore si disconnette (playerDropped). ESX, QBCore e QBox lo fanno tutti. Quando txAdmin ferma il server, i giocatori sono disconnessi, il che attiva quei salvataggi in condizioni normali.
  2. I tuoi script dovrebbero mantenere i loro dati nel database man mano che cambiano, o su un timer. Non tenere il progresso solo in una tabella Lua e scriverlo allo spegnimento.
  3. Gli hook di spegnimento sono un'ultima possibilità, non un piano. Un server che viene ucciso o si arresta in modo anomalo non li esegue mai.

txAdmin invia eventi alle tue risorse che puoi usare, ad esempio quando un riavvio programmato sta arrivando e quando il server si sta spegnendo. Due di loro sono txAdmin:events:scheduledRestart e txAdmin:events:serverShuttingDown. Entrambi sono eventi lato server.

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)

Il controllo GetInvokingResource() assicura che l'evento venga da txAdmin (la sua risorsa si chiama monitor) e non da un giocatore o un altro script. Controlla la documentazione di txAdmin per l'elenco completo dei campi di dati dell'evento nella tua versione.

SaveAllMyData sta per la tua funzione che scrive lo stato del tuo script nel database. Tienila veloce: il server non aspetta per sempre.

Suggerimenti pratici

  • Riavvia meno spesso di quanto pensi tu abbia bisogno, ma non mai. Una volta al giorno funziona per la maggior parte dei server. I server pesanti lo fanno due volte.
  • Fai il backup prima del riavvio. Un dump del database programmato pochi minuti prima significa che puoi sempre tornare indietro. Vedi backup del tuo server.
  • Guarda il primo avvio dopo un riavvio. Se uno script non si avvia, vuoi saperlo prima che i giocatori si uniscano. Controlla la console di txAdmin.
  • Usa l'ordine delle risorse. Gli script che hanno bisogno di un database o di un core devono avviarsi dopo di essi. Vedi ordine delle risorse di server.cfg.
  • Non riavviare durante gli eventi. Se esegui un evento programmato, sposta il riavvio o fallo a mano dopo.

Quello che un riavvio non ripara

Se il server ha hitch o lag dal momento in cui si avvia, il problema è uno script, non il tempo di attività. Controlla avvertimenti di server thread hitch e resmon. Una programmazione tratta solo l'accumulo lento.

Checklist

Sintomo Soluzione
Il server diventa lento dopo ore Aggiungi un riavvio giornaliero, quindi trova lo script che perde
Riavvio all'ora sbagliata Controlla il fuso orario della macchina che esegue txAdmin
I giocatori sorpresi dal riavvio Usa gli annunci di txAdmin e pubblica i tempi di riavvio
Il progresso perso al riavvio Salva nel database man mano che i dati cambiano, non solo allo spegnimento
Hai bisogno di un ultimo salvataggio Gestisci txAdmin:events:serverShuttingDown e controlla GetInvokingResource()
Il riavvio rompe gli script Correggi l'ordine di avvio e leggi la console dopo il riavvio

Risposte rapide

Con quale frequenza dovrebbe riavviarsi un server FiveM?

La maggior parte dei server riavvia una o due volte al giorno, all'ora più tranquilla. Se vedi che le prestazioni calano durante il giorno, riavvia più spesso e guarda lo script che lo causa.

I giocatori perderanno i progressi su un riavvio?

Non se il tuo framework e i tuoi script salvano correttamente. I framework salvano i giocatori periodicamente e quando cadono, e i tuoi script dovrebbero salvare su un timer anche, non solo allo spegnimento.

Dove imposto i tempi di riavvio?

Nelle impostazioni del pannello web di txAdmin, nella sezione restarter. Aggiungi i tempi del giorno, e txAdmin mostra gli avvertimenti ai giocatori prima di ognuno.

Script senza questo problema

Crypto MiningCompra un magazzino, costruisci rig pezzo per pezzo e mina monete su un mercato che si muove.Vedi script →Arcade MachinesSette giochi arcade giocabili in cabinati veri, con classifiche e scommesse.Vedi script →Tebex TemplateUn tema premium senza codice per il tuo negozio Tebex, modificabile interamente dal pannello Tebex.Vedi script →

Continua a leggere