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
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
vllt mit cronjobs das jede woche geprüft wird ob updates verfügbar sind ?
vllt mit cronjobs das jede woche geprüft wird ob updates verfügbar sind ?
Das geht leider nicht das die Updates meist in sehr unregelmäßigen Abständen kommen.
Lg
Henry
Regelmäßige Neustarts, im Startscript dann einen Updater einbauen.
Ist denke ich die Beste Wahl.
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.
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.
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
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
mittels qstats kannst du das abfragen
mittels qstats kannst du das abfragen
Wie genau kann ich das machen, konnte im Froum nichts dazu finden?
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.
Ja oder qstats da weiß ich aber nicht wie
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.
Alles anzeigenwenn 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
#!/bin/bash
function Updatecheck {
sleep 10
screen=$(cat screenlog.0) // Screen auslesen
echo $screen > screen.txt //Screen in datei schreiben
sleep 15 // Zeit geben um was neues in den Screen schreiben zu lassen, damit keine alten EInträge gemacht werden
screen1=$(cat screenlog.0) //sscreen 2 mal auslesen
echo $screen1 > screen1.txt //Screen in 2. Datei schreiben
diff -r screen.txt screen1.txt > screen3.txt //beide Screens miteinander vergleichen
screen2=$(cat screen3.txt)
rm -r screen*.txt
if echo "$screen2" | fgrep -i ": Your server needs to be restarted in order to receive the latest update" > /dev/null 2>&1 ; then
sleep 10
screen=$(cat screenlog.0)
echo $screen > screen.txt
screen -S server11011-X -p 0 -X stuff "status \n"
sleep 15
screen1=$(cat screenlog.0)
echo $screen1 > screen1.txt
diff -r screen.txt screen1.txt > screen3.txt
screen2=$(cat screen3.txt)
rm -r screen*.txt
if echo "$screen2" | fgrep -i "players : 0 humans" > /dev/null 2>&1 ; then
screen -S server11011-X -p 0 -X stuff "quit \n"
fi
fi
sleep 20
Updatecheck
}
Updatecheck
Alles anzeigen
eventl noch aussortieren das bei
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.
Man kann aber bei csgo auch hingehen und den updatecheck bei jedem map change verwenden