Windows Server 2012 R2 Batch Dateien Autostart-restart nach x Stunden jeden Tag.

mixxed.xyz

Cadet 1st Year
Registriert
Aug. 2017
Beiträge
14
Hallo,

habe folgendes problem..

Es handelt sich hier um einen Dedicated Root Server (Windows 2016 Datacender) da die Präfix hier im Forum nicht geupdatated sind habe ich einfach das underste (aktuellste) ausgewählt.

Ich habe mehrere Gameserver die sich mit einer Batch datei starten lässt.

nun falls da mal ein gameserver update kommt und ich nicht immer manuell die Gameserver updaten muss möchte ich gerne das sich die Server automatisch nach X Stunden automatisch restarten.
also im grunde genommen nach x Stunden die .batch file beenden dann nach x sekunden wieder starten.
Da die batchfiles bereits so eingestellt sind das die nach jedem server restart nach updates sucht.

Um welches game handelt es sich?
Source Engine (CS:GO) Server


Würde mich über eine antwort sehr freuen.

Grüsse

mixxed.xyz

PS: Bitte spart euch die gegenfragen wie z.B "Warum nicht linux?" :freak:
 
Warum nicht Linux :evillol:

Nein, ernsthaft... das sollte sich problemlos mit der Aufgabenverwaltung erschlagen lassen.
Die Batchdateien eröffnen vermutlich namentlich gekennzeichnete Prozesse?
Diese kann man mit einer Batch genauso wieder beenden/killen.

Fertig.
 
Wie rufst du die .bat Dateien denn auf? Bitte sag jetzt nicht das die bei einem Benutzer im Autostart liegen...

Windows Aufgabenplanung erfüllt alle deine Bedürfnisse. Startet die bat Dateien beim hochfahren des Servers und beendet sie auf Wunsch nach X Tagen auch wieder. Ein weiterer Job startet den Task darauf einfach wieder.
 
Hallo, :lol:

Ich habe dies bereits versucht doch leider lässt sich diese datei nicht starten.. vllt habe ich ihrgendwas falsch eingetragen ? :O

Folgendes habe ich eingetragen:

Programm/skript: "C:\server\csgotestserver\serverstart.bat"
**Argumente hinzufügen (Optimal): nichts eingetragen
**Starten in (optimal): nichts eingetragen

**muss ich da noch etwas eingetragen vllt ?

wie ich die batch datei aufrufe ?

also ich geh in den ordner und drücke auf der batch datei einfach doppelklick :O

@Masamune2 wie meinnst du startet die bat datei beim hochfahren des server ?
wäre schön wenn ich immer mein root server neustarten muss um die gameserver starten zu können also mit auto restart.
 
Also du startest den Server aktuell gar nicht automatisch.

Wichtig wäre noch unter welchem Benutzer und mit welchen Triggern du die bat ausführst. Was sagt denn die Log Datei falls der CS Server so etwas hat?
 
cmd davor schreiben, Die batch-Datei an sich ist ja nicht ausführbar
 
ich starte den server im mom alles manuell

die datei führe ich mit dem Administrator acc aus sowie auch der trigger

@rg88 wie meinnst du cmd davor schreiben ?
 
Also als erstes solltest du dafür besser einen eigenen Benutzer anlegen und nicht den Admin verwenden. Der Dienst steht im Internet und wenn eine Sicherheitslücke darin ausgenutzt wird hat der Angreifer direkt die Rechte dieses Benutzers, also quasi alle.
Ein extra Benutzer bekommt im Dateisystem nur die Rechte die er braucht um den Server zu starten (wahrscheinlich nur Zugriff auf den Ordner C:\server) außerdem wird er in der secpol.msc aus allen Rechten entfernt die nicht benötigt werden.
Wird dann eine Sicherheitslücke im Dienst gefunden reicht das alleine erst mal nicht aus damit sich ein Angreifer im System festsetzen kann.

Dann benenn die .bat Datei mal in .cmd um. Das macht im Grunde keinen Unterschied aber bat Dateien sind so DOS-like und damit seit 20 Jahren tot^^
 
vielen dank für den tipp,

also wenn ich etwas mache dann möchte ich auch keine halben sachen machen.. das heisst ich nehme deine empfehlung sehr gerne an und würde dies mit einem zweiten benutzer nur für gameserver in die wege leiten.

die frage ist dann wie sowas mach bzw muss ich da auf etwas beachten ? oder kann ich da einfach "neuer benutzer konto erstellen" klicken...

aber möchte dies jetzt erstmal hier auf dem admin konto versuchen und dann wenn dies klappt werde ich mich hinsetzten und einen eigenen konto erstellen :)


ich habe dies nun mit .cmd probiert und auch bei aufgabenplanung auch geändert. aber leider passiert nix wenn ich die datei versuche zu starten.

ich werde ein paar screenshots hinterlegen damit ihr euch einen kurzen überblick erschaffen könnt.
 

Anhänge

  • Screenshot_4.png
    Screenshot_4.png
    21,2 KB · Aufrufe: 728
  • Screenshot_5.png
    Screenshot_5.png
    36,2 KB · Aufrufe: 691
  • Screenshot_6.png
    Screenshot_6.png
    25,3 KB · Aufrufe: 667
  • Screenshot_7.png
    Screenshot_7.png
    23,7 KB · Aufrufe: 623
  • Screenshot_8.png
    Screenshot_8.png
    21,8 KB · Aufrufe: 696
Hast du in der cmd absolute Pfade verwendet? Wenn du das Script mit dem Taskplaner als Admin startest stehst du erst mal im Home Folder des Admins. Stehen in der cmd jetzt keine kompletten Pfade zu der Server.exe wird sie auch nicht gefunden.
Poste am besten mal noch den Inhalt der cmd.
 
also in momentan sieht der inhalt so aus

srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2

es gibt eine srcds.exe und durch diesen srcds -game etcc. wird diese exe ausgeführt.

ich dachte ich müsste nur den pfad angeben wo sich diese batch file bzw diese .cmd sich befindet und gut ist..
 
Das wird so allein nicht funktionieren da er jetzt versucht C:\Users\Administrator\srcds.exe auszuführen die da sicher nicht liegt. Also entweder in der cmd die Pfad richtig angeben oder im Feld Starten in den Pfad setzen.
 
also wenn ich auf die .bat file klicke bzw öffne da startet sich ja der server ganz normal.
warum muss ich die bat file bearbeiten wenn ich nur möchte das diese bat file ausgeführt wird ?

EDIT: wo siehst du " C:\Users\Administrator\srcds.exe" ? bzw woher kannst du dies erkennen
 
Zuletzt bearbeitet:
Ich sehe das gar nicht, das ist halt der Standard. Mach einfach mal eine cmd auf deinem Rechner auf: Start -> cmd {Enter}
Dann stehst du immer im "Home" Verzeichnis des Benutzers. Im Falle des Administrators also in C:\Users\Administrator. Von dort wird jetzt deine bat Datei aufgerufen. In der steht die srcds.exe soll gestartet werden. Da aber nicht genau definiert ist WO die Datei liegt wird sie im aktuellen Arbeitsverzeichnis gesucht, also unter C:\Users\Administrator.

Der Ort wo eine bat oder cmd Datei liegt bestimmt nicht darüber wo die exe Dateien gesucht werden die darin aufgerufen werden. Das tun das Arbeitsverzeichnis und die PATH Variable.
 
also wenn ich das richtig verstanden habe.

jetzt habe ich einen gameserver in folgendem verzeichniss instaliert:

"C:\Users\Administrator\gameserver\csgotestserver\startserver.cmd"

und habe somit auch einen trigger erstellt mit Aufgabeplanung wo zu diesem pfad hinführt.

nun wenn ich den trigger versuche zu starten passiert da auch nix..

oder hab ich das jetzt missverstanden ?
 
Nochmal: Die Batchdatei ist kein ausführbares Programm. Sie gehört als Parameter/Argument angegeben und als Programm angegeben werden muss die cmd.exe
 
Man kann ohne Probleme direkt eine cmd oder bat in der Aufgabenplanung starten. Der Dateityp ist ja mit der cmd.exe verknüpft.
 
- problem immernoch aktuell

sorry für die späte antwort hatte viel zu tun und leider keine zeit

weil meinnst du was jetzt in meiner cmd steht ?
ich habe meine startserver.bat ansonsten nix anderes.. vllt komme ich gerade nicht hinterher.. >.<

wie meint ihr das mit cmd ich versteh das nicht... wie ich gesagt habe ich hab nur meine batch file woo ich den server starte.
muss ich da eine separate cmd erstellen ?
 
Masamune2 schrieb:
Man kann ohne Probleme direkt eine cmd oder bat in der Aufgabenplanung starten. Der Dateityp ist ja mit der cmd.exe verknüpft.

Es stimmt nicht, auch wenn du es noch so oft wiederholst.
Aber mir egal. Wenn ihr hier noch tagelang im Kreis drehen wollt, bitte. :rolleyes:
 
Zurück
Oben