txAdmin geplante Neustarts: Stelle einen täglichen Neustart mit Warnungen ein

Richte automatische Neustarts in txAdmin ein: den Neustart-Zeitplan, Ankündigungen vor Neustart, warum tägliche Neustarts helfen und wie man Spielerdaten bei Server-Shutdown speichert.

Ein FiveM-Server, der tagelang läuft, wird langsam schlechter: der Speicher wächst, Scripts hinterlassen Entitäten und Hitches werden häufiger. Ein geplanter Neustart zu einer festen Stunde ist die billigste Behebung. txAdmin hat ihn eingebaut, mit Warnungen den Spielern, damit niemand überrascht ist.

Warum tägliche Neustarts helfen

  • Memory. Einige Ressourcen addieren zu Tabellen oder Entitäten, die sie nie bereinigen. Ein Neustart gibt dem Server einen frischen Zustand.
  • Stecken Zustand. Hinterbleibende Entitäten, gebrochene Sitzungen und Scripts in schlechtem Zustand verschwinden.
  • Vorhersehbarkeit. Spieler lernen, dass der Server sagen wir um 05:00 heruntergeht und planen dafür.
  • Updates. Du hast einen regulären Punkt, um Script-Updates und neue Artifacts anzuwenden. Siehe Updating server artifacts.

Ein Neustart verdeckt ein Leck, behebt es nicht. Wenn der Server deutlich langsamer ist, nachdem ein paar Stunden vergangen sind, finde die Ursache mit resmon.

Stelle den Zeitplan in txAdmin ein

  1. Öffne das txAdmin-Web-Panel und gehe zu Einstellungen.
  2. Finde den Restarter (geplante Neustarts)-Bereich.
  3. Addiere die Uhrzeiten, wann du einen Neustart willst, im angezeigten Format, zum Beispiel 05:00. Du kannst mehr als eines addieren.
  4. Speichern.

Das genaue Layout hängt von der Version ab, daher suche nach dem Neustart-Zeitplan-Bereich. Die Zeiten folgen der Uhr der Maschine, die txAdmin ausführt, daher überprüfe seine Zeitzone, wenn der Neustart zur falschen Stunde passiert.

Wähle die ruhigste Stunde deines Servers. Überprüfe dein Spieler-Diagramm, bevor du wählst.

Warnungen vor dem Neustart

txAdmin kündigt bevorstehende Neustarts den Spielern im Spiel mit einem Countdown an. Du musst dafür kein Script schreiben. Wenn ein Neustart geplant ist, erhalten Spieler Meldungen in den Minuten vorher und die letzte Meldung, wenn es beginnt.

Du kannst auch von Hand von der Panel aus jederzeit neu starten und einen Grund geben. Die Meldung wird den Spielern zuerst angezeigt.

Tipp: Erzähle deinen Spielern die Neustart-Stunden in deinem Discord und auf deinem Ladebildschirm. Wenige Menschen werden einen Neustart, über den sie informiert wurden, gegen sein.

Speichere Spielerdaten bei Shutdown

Das Risiko eines Neustarts ist Fortschrittsverlust. Denk daran, als drei Schichten:

  1. Das Framework speichert Charaktere periodisch und wenn ein Spieler disconnected (playerDropped). ESX, QBCore und QBox alle tun das. Wenn txAdmin den Server stoppt, werden Spieler disconnected, was diese Speicherungen unter normalen Bedingungen auslöst.
  2. Deine Scripts sollten ihre eigenen Daten in der Datenbank halten, wenn sie sich ändern, oder auf einem Timer. Halte den Fortschritt nicht nur in einer Lua-Tabelle und schreibe bei Shutdown.
  3. Shutdown Hooks sind eine letzte Chance, keine Planung. Ein Server, der getötet oder abstürzt, läuft sie nie.

txAdmin sendet Events zu deinen Ressourcen, die du verwenden kannst, zum Beispiel wenn ein geplanter Neustart kommt und wenn der Server heruntergeht. Zwei davon sind txAdmin:events:scheduledRestart und txAdmin:events:serverShuttingDown. Beide sind Server-seitige Events.

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)

Der GetInvokingResource()-Check stellt sicher, dass das Event von txAdmin kommt (seine Ressource heißt monitor) und nicht von einem Spieler oder anderen Script. Überprüfe die txAdmin-Dokumentation für die volle Liste von Event-Datenfelden in deiner Version.

SaveAllMyData steht für deine eigene Funktion, die den Zustand deines Scripts in die Datenbank schreibt. Halte es schnell: Der Server wartet nicht ewig.

Praktische Tipps

  • Starte seltener neu, als du denkst, dass du musst, aber nicht nie. Einmal täglich funktioniert für die meisten Server. Schwere Server tun es zweimal.
  • Sichere vor dem Neustart. Ein Datenbankdump, der ein paar Minuten früher geplant ist, bedeutet, dass du immer zurückkehren kannst. Siehe Sichere deinen Server.
  • Überwache den ersten Start nach einem Neustart. Wenn ein Script nicht startet, möchtest du das wissen, bevor Spieler beitreten. Überprüfe die txAdmin-Konsole.
  • Verwende Ressourcen-Reihenfolge. Scripts, die eine Datenbank oder einen Kern brauchen, müssen nach ihnen starten. Siehe server.cfg Ressourcen-Reihenfolge.
  • Starte nicht während Events neu. Wenn du ein geplantes Event ausführst, verschiebe den Neustart oder mache ihn danach von Hand.

Was ein Neustart nicht behebt

Wenn der Server von Anfang an hitcht oder laggt, ist das Problem ein Script, nicht Uptime. Überprüfe Server-Thread Hitch-Warnungen und resmon. Ein Zeitplan behandelt nur die langsame Aufbau.

Checkliste

Symptom Behebung
Server wird nach Stunden langsam Addiere einen täglichen Neustart, dann finde das lecke Script
Neustart zur falschen Stunde Überprüfe die Zeitzone der Maschine, die txAdmin ausführt
Spieler überrascht von Neustart Verwende txAdmin's Ankündigungen und veröffentliche die Neustart-Zeiten
Fortschritt bei Neustart verloren Speichere in der Datenbank, wenn Daten sich ändern, nicht nur beim Shutdown
Brauche einen letzten Speicher Handle txAdmin:events:serverShuttingDown und überprüfe GetInvokingResource()
Neustart bricht Scripts Behebe die Startreihenfolge und lese die Konsole nach dem Neustart

Kurze Antworten

Wie oft sollte ein FiveM-Server neu starten?

Die meisten Server starten einmal oder zweimal täglich, zur ruhigsten Stunde neu. Wenn du siehst, dass die Performance während des Tages fällt, starte öfter neu und suche das Script, das es verursacht.

Werden Spieler bei einem Neustart Fortschritt verlieren?

Nicht, wenn dein Framework und deine Scripts ordnungsgemäß speichern. Frameworks speichern Spieler periodisch und wenn sie dropppen, und deine eigenen Scripts sollten auch auf einem Timer speichern, nicht nur beim Shutdown.

Wo stelle ich die Neustart-Zeiten ein?

In den txAdmin-Web-Panel-Einstellungen, im Restarter-Bereich. Du addierst die Uhrzeiten und txAdmin zeigt die Warnungen den Spielern vor jedem.

Scripts ohne dieses Problem

Crypto MiningKauf eine Lagerhalle, bau Rigs Teil für Teil und mine Coins auf einem Markt, der sich bewegt.Script ansehen →Arcade MachinesSieben spielbare Arcade-Games in echten Automaten, mit Bestenlisten und Wetten.Script ansehen →Tebex TemplateEin Premium-Theme ohne Code für deinen Tebex-Shop, komplett im Tebex-Panel anpassbar.Script ansehen →

Weiterlesen