Skip to main content

Server automaschtisch neu starten lassen

Unter LinuxVoraussetzungen

Um

einen

esServer unter Linux automatisch neu starten zu lassen, werden 2zwei Dateien benötig tigt:

einmal

  • start.sh
  • startserver.sh

Erstellung der Dateien

1. start.sh

Erstelle die Datei start.sh mit folgendem Inhalt:

#!/bin/sh
./startserver.sh

und einmal

2. startserver.sh

Erstelle die Datei startserver.sh mit folgendem Inhalt:

#!/bin/bash

JAR=server.jar
MAXRAM=1024M
MINRAM=1024M
TIME=20


while [ true ]; do
    java -Xmx$MAXRAM -Xms$MINRAM -jar $JAR nogui
    if [[ ! -d "exit_codes" ]]; then
        mkdir "exit_codes";
    fi
    if [[ ! -f "exit_codes/server_exit_codes.log" ]]; then
        touch "exit_codes/server_exit_codes.log";
    fi
    echo "[$(date +"%d.%m.%Y %T")] ExitCode: $?" >> exit_codes/server_exit_codes.log
    echo "----- Press enter to prevent the server from restarting in $TIME seconds -----";
    read -t $TIME input;
    if [ $? == 0 ]; then
        break;
    else
        echo "------------------- SERVER RESTARTS -------------------";
    fi
done

Variablen Erklärung

    • JAR: =Der serverDateiname filenameder Server-JAR-Datei (z.B. server.jar).
    • MAXRAM: =Die maximummaximale RAMRAM-Zuweisung für den Server (z.B. 1024M für 1GB RAM).
    • MINRAM: =Die minimumminimale RAMRAM-Zuweisung für den Server (z.B. 1024M für 1GB RAM).
    • TIME: =Die timeZeit in secondsSekunden, untilnach serverder restartsder automaticallyServer automatisch neu startet (z.B. 20 Sekunden).

Dateien ausführbar machen

ExecuteStelle thesicher, followingdass die Skripte ausführbar sind, indem du den folgenden Befehl im Verzeichnis ausführst, in thedem directory:sich die Dateien befinden:

chmod +x start.sh startserver.sh

Starten des Servers

RunUm yourden startServer upmit script:dem automatischen Neustart-Skript zu starten, führe das Startskript aus:

sh ./start.sh

Funktionsweise

  1. start.sh führt das startserver.sh Skript aus.
  2. startserver.sh startet den Server mit den angegebenen RAM-Einstellungen.
  3. Bei einem Serverabsturz oder -stopp wird ein Exit-Code geloggt.
  4. Das Skript wartet für die angegebene Zeit (TIME Sekunden) auf eine Benutzereingabe.
  5. Wird innerhalb der Zeit Enter gedrückt, verhindert dies den Neustart.
  6. Andernfalls wird der Server automatisch neu gestartet.

Mit diesen Schritten stellst du sicher, dass dein Server bei Abstürzen oder Stopps automatisch neu gestartet wird, solange keine Benutzereingabe erfolgt.

 

Dieser Guide hilft dir dabei, deinen Server zuverlässig und automatisch neu starten zu lassen, was besonders nützlich für die Aufrechterhaltung eines stabilen Betriebs ist.