ARK PID

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • Hallo hin und wieder haben Leute bei uns das Problem, dass die Server mit einem Falschen Kartennamen gestartet werden und denn dort ShooterEntry steht. In dem fall lässt sich der Gameserver nicht mehr stoppen.


    Ich wollte den Servern nun eine PID Datei erstellen lassen was auch klappt, jedoch starten die Server nun nicht mehr.


    Kann mir da jemand weiterhelfen?;(

  • pid=`ps aux | grep -i "namedesscreensoderport" | awk '{print $1}'

    kill -9 $pid

    Bitte die Forumsuche und das Handbuch verwenden. Wenn die Suche erfolglos war, bitte ein Thema erstellen und das Problem ausführlich beschreiben. Dieser Ablauf spart Zeit und unnötige Fragen zu immer gleichen Problemen. Sie können aber auch im Kundenbereich ein Support-Ticket erstellen.


    Gefällt Ihnen TekLab? facebook-1.pngtwitter-1.pnglinkedin-1.png

  • Danke für die Antwort,


    funktioniert leider nicht ganz so :(


    Ich habe den Code jetzt so drin:

    Code
    pid=`ps aux | grep -i "$4" | awk '{print $1}'`
    kill -9 $pid

    §4 ist bei mir der GSPORT


    Als Ausgabe bekomme ich dann ./start.sh: line 192: kill: kd10075: arguments must be process or job IDs

    • Hilfreich

    Bei Ark hast Du das Problem, wenn Du das so stumpf ein fügst, das der Gameserver bei einen Restart das Savegame nicht rechtzeitig speichern kann und durch den Kill Befehl damit das Savegame zerschossen wird. Deshalb solltest Du, sollte es beim Restart noch eine aktive Pid geben, dem Gameserver noch ein paar Sekunden einräumen um fertig speichern zu können. Ansonsten kann es passieren das Du öfters Tickets bearbeiten musst "Mein Savegame alle Inhalte weg".


    Dieses Problem tritt häufig bei Servern mit großen Savegame auf.

    Code
    pid=$(ps ax | grep ShooterGameServer | grep $IP | grep $port | grep $queryport | awk '{print $1}')
    if [ $pid -gt 0 ] > /dev/null 2>&1 ; then
        sleep 20
    fi
    pid=$(ps ax | grep ShooterGameServer | grep $IP | grep $port | grep $queryport | awk '{print $1}')
    if [ $pid -gt 0 ] > /dev/null 2>&1 ; then
        kill -9 $pid
    fi