Nightwing
Hier mal eine kleine Anleitung am Beispiel eines meiner Server, wie man auf nem Win Root die Server als Dienst anlegt. Desweiteren schildere ich hier die Methode der Base und Homepathinstallation, was Linuxuser eher kennen dürften.
Ich hab mit 2 Programmen die letzten Tage getestet, empfehle aber Firedaemon Pro, da es besser und leichter zu Bedienen ist. Für User, die Wissen, was sie tun, kann auch das Programm Run as Service verwendet werden (kostenlos). Allerdings kann der Dienst, wenn angelegt, nur noch über die Windowseigene Oberfläche bearbeitet und nur per Registry gelöscht werden.
Warum den Server als Dienst laufen zu lassen?
Stürzt der Root ab oder startet neu, startet der Gameserver automatisch neu. (Gilt auch für z.B. TS)
Warum eine Base und Homepathinstallation?
Ich habe nur einmal die vollständigen Serverfiles auf dem Root und spare mir dadurch viel HDD Platz. Die Dateien, die die Server brauchen, werden geshared.
(eventuelle) Vorbereitung:
Den Root partitionieren, Windows allein auf C:\
Gameserver auf D:\
evtl noch ne Backup Partition
Ports freischalten:
UDP 20800, 20810, 28960 - 28970
Hier mal drei Bilder und eine Grafik dazu:
1: Homepath des Servers
Hier kommen folgende Dateien und Ordner rein: main Ordner (bzw. mods/modordner und die *.cfg Files. pb Ordner.
Keine IWD und FF Files
Der players Ordner wird von der Prestartsequenz angelegt, um ihn braucht man sich nicht zu kümmern.
2: Basepath des Servers
Hier liegen die Serverfiles, keine *.cfg Files.
3: Umbenannte CoDWaWmp.exe
Hat man mehrere Server laufen, kann man durch die Umbenennung im Prozess Explorer sehen, was welcher Server macht. Für jeden Server kopiere ich die CoDWaWmp.exe und nenne diese um.
4: Prestartsequenz
Legt den players Ordner (Profil: Admin) mit leerer config_mp.cfg an und unterdrückt die eventuelle Fehlermeldung von CoD, die den Serverstart verhindern würde. Ausserdem werden die Logfiles nicht überschrieben, sondern mit dem Zusatz _old erhalten.
Im Homepath erstellen wir nun die Datei Prestart_08-15.cmd.
(Die Datei am besten nach der umbenannten CoDWaWmp.exe benennen, das man nicht durcheinanderkommt.)
Dazu den Texteditor öffnen und folgendes reinkopieren:
Folgendes muss angepasst werden:
set HOMEPATH=D:\CoD 5\Server\08-15 - Homepath des Servers
set MODNAME=main - Ordner, der aktiv ist (bei Ranked = main), um die Logfiles umzubenennen.
set SERVEREXE=CoD_5_08-15 - Name der CoDWaWmp.exe
Bitte vergewissere Dich, das die Dateiendung auch wirklich *.cmd ist
Jetzt öffnen wir FireDaemon Pro und Klicken auf das Icon: Neuen Dienst erstellen. Es öffnet sich folgendes Fenster:
Folgendes füllen wir nun aus:
Short Name: Kurzer Name des Dienstes, ohne Sonder / Leerzeichen
Display Name: So wird der Dienst nachher angezeigt
Custom Prefix: Hier kann man wie ich den Prefix CoD 5 - angeben, dann würde der Dienstname so aussehen: CoD 5 - 08-15
Console Application: Haken setzen
Executable & Working Directory (1): Wir suchen nun die umbenannte CoDWaWmp.exe heraus, das Working Directory füllt sich selbstständig aus.
Parameters (2): Hier kommt der Startparameter rein, der sich wie folgt zusammensetzt:
+set dedicated 2 - dedizierter Internetserver
+set fs_localAppData D:\CoD 5\Serverfiles - Pfad zum Basepath, dadurch ist es möglich, Mods und Custom Maps wie gewohnt aus der Installation zu Starten, nicht aus C:\
+set fs_basepath D:\CoD 5\Serverfiles - Pfad zu den Serverfiles
+set fs_homepath D:\CoD 5\Server\08-15 - Pfad zum Homeverzeichnis des Servers, wo die *.cfg Files liegen
+set net_ip 85.131.195.66 - IP
+set net_port 28960 - Port
+set sv_punkbuster 1 - PB aktivieren
+exec config_ww.cfg - Config ausführen
+map_rotate - Mapwechsel initiieren
So sieht der ganze Parameter am Stück aus:
+set dedicated 2 +set fs_localAppData D:\CoD 5\Serverfiles +set fs_basepath D:\CoD 5\Serverfiles +set fs_homepath D:\CoD 5\Server\08-15 +set net_ip 85.131.195.66 +set net_port 28960 +set sv_punkbuster 1 +exec config_ww.cfg +map_rotate
Klick auf den Reiter Settings:
Hier könnte man den Server einem User zuordnen, da man Admin ist, also seinem Account. Dies ist nicht unbedingt notwendig, nur wenn man noch 2 Variablen anlegt, die Datum und Zeit des Serverstarts in die games_mp.log schreibt, sodass Ultrastats eine korrekte Zeit hat. Das las ich aber weg, würde den Rahmen hier sprengen. Den Haken Interact with Desktop reinmachen.
Unten kann man verschiedene Startoptionen wählen. Automatisch ist eine gute Wahl
Klick auf den Reiter Advanced:
Hier kann man dem Dienst eine CPU zuordnen.
Klick auf den Reiter Pre / Post Service:
Wir halten uns im oberen Fenster Pre-Service Programs Settings auf.
Hier kommt nun die Auswahl der Prestartsequenz, unbedingt im Dropdownmenü auf Before stellen:
Fertig!
Jetzt ist es vollbracht, Klick auf Update startet den Server und gibt, wenn alles richtig erledigt wurde, eine Bestätigung aus. Das Fenster schliesst sich und wir sehen die Hauptansicht:
Wie man ohne Dienst startet, bzw für nen Homeserver:
Man braucht keine Prestartsequenz.
Man zieht sich eine Verknüpfung der umbenannten CoDWaWmp.exe auf den Desktop, öffnet diese und schreibt dort hinter Ziel den Parameter rein:
"D:\CoD 5\Server_08-15.exe" +set dedicated 2 +set fs_localAppData D:\CoD 5\Serverfiles +set fs_basepath D:\CoD 5\Serverfiles +set fs_homepath D:\CoD 5\Server\08-15 +set net_ip 85.131.195.66 +set net_port 28960 +set sv_punkbuster 1 +exec config_ww.cfg +map_rotate
Doppelklick auf die Verknüpfung = Serverstart
Was mache ich, wenn der Parameter zu lang ist, und da nicht reinpasst?
Erstelle eine Server_08-15.cmd auf dem Desktop mit folgendem Inhalt:
Viel Spass beim Nachbauen
ToM
---
Direkt verlinken: https://www.opferlamm-clan.de/wbb2/thread.php?postid=115135#post115135
Ich hab mit 2 Programmen die letzten Tage getestet, empfehle aber Firedaemon Pro, da es besser und leichter zu Bedienen ist. Für User, die Wissen, was sie tun, kann auch das Programm Run as Service verwendet werden (kostenlos). Allerdings kann der Dienst, wenn angelegt, nur noch über die Windowseigene Oberfläche bearbeitet und nur per Registry gelöscht werden.
Warum den Server als Dienst laufen zu lassen?
Stürzt der Root ab oder startet neu, startet der Gameserver automatisch neu. (Gilt auch für z.B. TS)
Warum eine Base und Homepathinstallation?
Ich habe nur einmal die vollständigen Serverfiles auf dem Root und spare mir dadurch viel HDD Platz. Die Dateien, die die Server brauchen, werden geshared.
(eventuelle) Vorbereitung:
Den Root partitionieren, Windows allein auf C:\
Gameserver auf D:\
evtl noch ne Backup Partition
Ports freischalten:
UDP 20800, 20810, 28960 - 28970
Hier mal drei Bilder und eine Grafik dazu:
1: Homepath des Servers
Hier kommen folgende Dateien und Ordner rein: main Ordner (bzw. mods/modordner und die *.cfg Files. pb Ordner.
Keine IWD und FF Files
Der players Ordner wird von der Prestartsequenz angelegt, um ihn braucht man sich nicht zu kümmern.
2: Basepath des Servers
Hier liegen die Serverfiles, keine *.cfg Files.
Code angehängt. Klicke hier zum Ein-/Ausblenden
|
3: Umbenannte CoDWaWmp.exe
Hat man mehrere Server laufen, kann man durch die Umbenennung im Prozess Explorer sehen, was welcher Server macht. Für jeden Server kopiere ich die CoDWaWmp.exe und nenne diese um.
4: Prestartsequenz
Legt den players Ordner (Profil: Admin) mit leerer config_mp.cfg an und unterdrückt die eventuelle Fehlermeldung von CoD, die den Serverstart verhindern würde. Ausserdem werden die Logfiles nicht überschrieben, sondern mit dem Zusatz _old erhalten.
Im Homepath erstellen wir nun die Datei Prestart_08-15.cmd.
(Die Datei am besten nach der umbenannten CoDWaWmp.exe benennen, das man nicht durcheinanderkommt.)
Dazu den Texteditor öffnen und folgendes reinkopieren:
Code angehängt. Klicke hier zum Ein-/Ausblenden
|
Folgendes muss angepasst werden:
set HOMEPATH=D:\CoD 5\Server\08-15 - Homepath des Servers
set MODNAME=main - Ordner, der aktiv ist (bei Ranked = main), um die Logfiles umzubenennen.
set SERVEREXE=CoD_5_08-15 - Name der CoDWaWmp.exe
Bitte vergewissere Dich, das die Dateiendung auch wirklich *.cmd ist
Jetzt öffnen wir FireDaemon Pro und Klicken auf das Icon: Neuen Dienst erstellen. Es öffnet sich folgendes Fenster:
Folgendes füllen wir nun aus:
Short Name: Kurzer Name des Dienstes, ohne Sonder / Leerzeichen
Display Name: So wird der Dienst nachher angezeigt
Custom Prefix: Hier kann man wie ich den Prefix CoD 5 - angeben, dann würde der Dienstname so aussehen: CoD 5 - 08-15
Console Application: Haken setzen
Executable & Working Directory (1): Wir suchen nun die umbenannte CoDWaWmp.exe heraus, das Working Directory füllt sich selbstständig aus.
Parameters (2): Hier kommt der Startparameter rein, der sich wie folgt zusammensetzt:
+set dedicated 2 - dedizierter Internetserver
+set fs_localAppData D:\CoD 5\Serverfiles - Pfad zum Basepath, dadurch ist es möglich, Mods und Custom Maps wie gewohnt aus der Installation zu Starten, nicht aus C:\
+set fs_basepath D:\CoD 5\Serverfiles - Pfad zu den Serverfiles
+set fs_homepath D:\CoD 5\Server\08-15 - Pfad zum Homeverzeichnis des Servers, wo die *.cfg Files liegen
+set net_ip 85.131.195.66 - IP
+set net_port 28960 - Port
+set sv_punkbuster 1 - PB aktivieren
+exec config_ww.cfg - Config ausführen
+map_rotate - Mapwechsel initiieren
So sieht der ganze Parameter am Stück aus:
+set dedicated 2 +set fs_localAppData D:\CoD 5\Serverfiles +set fs_basepath D:\CoD 5\Serverfiles +set fs_homepath D:\CoD 5\Server\08-15 +set net_ip 85.131.195.66 +set net_port 28960 +set sv_punkbuster 1 +exec config_ww.cfg +map_rotate
Klick auf den Reiter Settings:
Hier könnte man den Server einem User zuordnen, da man Admin ist, also seinem Account. Dies ist nicht unbedingt notwendig, nur wenn man noch 2 Variablen anlegt, die Datum und Zeit des Serverstarts in die games_mp.log schreibt, sodass Ultrastats eine korrekte Zeit hat. Das las ich aber weg, würde den Rahmen hier sprengen. Den Haken Interact with Desktop reinmachen.
Unten kann man verschiedene Startoptionen wählen. Automatisch ist eine gute Wahl
Klick auf den Reiter Advanced:
Hier kann man dem Dienst eine CPU zuordnen.
Klick auf den Reiter Pre / Post Service:
Wir halten uns im oberen Fenster Pre-Service Programs Settings auf.
Hier kommt nun die Auswahl der Prestartsequenz, unbedingt im Dropdownmenü auf Before stellen:
Fertig!
Jetzt ist es vollbracht, Klick auf Update startet den Server und gibt, wenn alles richtig erledigt wurde, eine Bestätigung aus. Das Fenster schliesst sich und wir sehen die Hauptansicht:
Wie man ohne Dienst startet, bzw für nen Homeserver:
Man braucht keine Prestartsequenz.
Man zieht sich eine Verknüpfung der umbenannten CoDWaWmp.exe auf den Desktop, öffnet diese und schreibt dort hinter Ziel den Parameter rein:
"D:\CoD 5\Server_08-15.exe" +set dedicated 2 +set fs_localAppData D:\CoD 5\Serverfiles +set fs_basepath D:\CoD 5\Serverfiles +set fs_homepath D:\CoD 5\Server\08-15 +set net_ip 85.131.195.66 +set net_port 28960 +set sv_punkbuster 1 +exec config_ww.cfg +map_rotate
Doppelklick auf die Verknüpfung = Serverstart
Was mache ich, wenn der Parameter zu lang ist, und da nicht reinpasst?
Erstelle eine Server_08-15.cmd auf dem Desktop mit folgendem Inhalt:
Code angehängt. Klicke hier zum Ein-/Ausblenden
|
Viel Spass beim Nachbauen
ToM
---
Direkt verlinken: https://www.opferlamm-clan.de/wbb2/thread.php?postid=115135#post115135