CS:GO automatisches Update

Aktuell führen wir noch einige Anpassungen durch, das Forum wurde jedoch bereits live geschaltet.
  • Hallo,
    ist es möglich einen Counter Strike Global Offensive Server automatisch zuupdaten sobald eine neue Version verfügbar ist?
    Das Update sollte nur ausgeführt werden wenn gerade kein Spieler auf dem Server ist.


    Vielen Dank
    Grüße,
    Henry

  • Mit einem Cronjob ist schon der richtige Weg. Lässt einfach jede Minute oder so gegen die SteamAPI oder per SteamCMD überprüfen, ob ein neues Update verfügbar ist.
    Den Status von einem Server lässt sich auch per Script abfragen und dementsprechend steuern.

    Ok, Vielen Dank. Gibt es eine Möglichkeit die Version auf die der Server gerade läuft auszulesen?


    MfG
    Henry

  • Soweit ich weiß müsste irgendwo im Installationsordner eine Art Appmanifest sein, wo entsprechende Informationen abgespeichert sind.

    ok, Danke.
    Weißt wie vielleicht wie man die akutelle Anzahl an Spielern die gerade mit dem Server verbunden sind mit einem Shell Script ausgeben kann?


    MfG
    Henry

    Einmal editiert, zuletzt von Henry ()

  • Die Server werden ja mit Hilfe des Tools Screen betrieben. Mittels "screen -S session -X stuff 'command'" lässt sich auch ein Befehl an die Console von dem Server schicken. Den Output kannst du dir z.B. mit Hilfe einer Weiterleitung in eine Datei abspeichern (command > toutput.txt). Glaub eine Spielerliste kannst du einfach mit dem Befehel "status" abfragen.

  • Wie genau kann ich das machen, konnte im Froum nichts dazu finden?

    qstat --help


    da bekommst du alles angezeigt zu qstat, was es dazu zu wissen gibt, musst dir dann eben nur noch deinen Query Command zusammen bauen.



    Oder eben du nutzt die Bordmittel von Spieleserver(n) um dir da die verbunden Clients anzeigen zu lassen.

  • das prüfen nach Updates geht eigentlich einfach einacher, CSGO schreibt in die Screenlog.0 etwas von ... latest updates ... wenn ein Update ansteht. Daher einfach nur mit grep den Screenlog checken. genauso wenn Du im Screen bist kannst Du das auch mit der Playerzahl machen. Sind keine Spieler drauf reicht ein Quit.

  • wenn DU direkt in dem Screen status eingibst hats du folgendes im Screenlog stehen


    status
    hostname: ! GamerzHost.de - Made in Germany !
    version : 1.35.7.6/13576 475/6744 secure [G:1:57347]
    udp/ip : 82.211.62.199:27015 (public ip: 82.211.62.199)
    os : Linux
    type : community dedicated
    map : de_dust2
    players : 0 humans, 0 bots (20/0 max) (hibernating)


    so solltest DU auch ohne große zusätzliche Software dann in dem Falle die anwesende Playerzahl auslesen können.

  • Wie kann ich diesen Command ausführen lassen soblad ein update gefunden wurde?

  • Die Server werden ja mit Hilfe des Tools Screen betrieben. Mittels "screen -S session -X stuff 'command'" lässt sich auch ein Befehl an die Console von dem Server schicken. Den Output kannst du dir z.B. mit Hilfe einer Weiterleitung in eine Datei abspeichern (command > toutput.txt). Glaub eine Spielerliste kannst du einfach mit dem Befehel "status" abfragen.

    lesen hilft ;)

  • Manche wollen es am besten fertig gekaut haben, dann ist meine Emphelung einfach das Imageserver Pack von celltek zu verwenden, da gibt es auch noch ein widget dazu was einem sagt das es ein update gibt

  • Ich habe Dir mal kutz etwas einfaches aufgebaut



    eventl noch aussortieren das bei



    Code
    if echo "$screen2" | fgrep -i "say : Your server needs to be restarted in order to receive the latest update" > /dev/null 2>&1 ; then


    keine weitere Aktion erfolgt.


    Natürlich ist das nur eine kleine grobe Richtung und muss verfeinert werden.


    das ganze kannst direkt vor dem Serverstart im Startscript aufrufen lassen, dann brauchst ned mal einen Cron dafür. Das letzte Sleep 20 ist die Zeit alle wieviel Minuten er den Check wiederholen soll.

    GamerzHost.de Logo

    2 Mal editiert, zuletzt von gamerzhost.de ()