Call of Duty: World at War

Hier findest Du einige Scripte, die ich mithilfe anderer grossartiger Scripter geändert und zusammengetragen habe. Desweiteren finden sich hier diverse Anleitungen, die für Serveradmins gedacht sind.

Windows ROOT - Server als Dienst installieren mit Base und Homepath

Hier mal eine kleine Anleitung am Beispiel eines meiner früheren 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 lassen?

Stürzt der Root ab oder startet neu, startet der Gameserver automatisch neu. (Gilt auch für z.B. Teamspeak)

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:\
  • Eventuell noch eine Backup Partition


Ports freischalten:

UDP 20800, 20810, 28960 - 28970

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.

Dateistruktur

Code eingefügt.
CoD 5 <---- komplette Installation
|-- main    (Alles, ausser den *.cfg)
|-- mods
| |-- test    (Alles, ausser den *.cfg)
|-- pb
| |-- dll
| |-- htm
| |-- scrnshot
| |-- svlogs
| `-- svss
|-- usermaps
| |-- mp_test    (*.ff, *.iwd)
|-- zone
| `-- german
 
 
/Server 08-15 <-- Server Ranked.
|-- main        <-- nur die .cfg liegen in diesem Ordner, sonst nix
|-- pb
fs_basepath=D:\CoD 5\Server 08-15
fs_homepath=D:\CoD 5\Serverfiles
fs_game=
 
 
/Server TEST <-- Server TEST
|-- mods
| `-- test        <-- hier liegen nur configs drin, sonst nix
|-- pb
fs_basepath=D:\CoD 5\Server TEST
fs_homepath=D:\CoD 5\Serverfiles
fs_game=mods/test

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.

Bild vom Windows Dateiexplorer

Bild vom Windows Dateiexplorer

Bild vom Windows Dateiexplorer

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:

Prestart_0815.cmd

Code eingefügt.
@echo off
 
REM Batchprestartfile für CoD 5
REM Die Prestart.cmd direkt im Gameverzeichnis ablegen.
REM Hier befindet sich auch die CoDWaWmp.exe
REM Bei einer Base und Homepath Installation das File im Basepath ablegen.
 
REM Diese Prestart.cmd funktioniert nur, wenn man im Startbefehl folgende Parameter zusätzlich angibt:
REM +set fs_localAppData X:\Pfad_zum_Spiel
 
REM Setzen der Variablen
 
set PROFILENAME=Admin
 
set HOMEPATH=D:\CoD 5\Server8-15
 
REM Name des Modverzeichnisses
REM z.B. "mods\ace" oder "main"
 
set MODNAME=main
 
REM Name der Multiplayer.exe.
 
set SERVEREXE=CoD_5_08-15
 
REM Löschen vorhandener Playerprofile
 
rmdir /s /q "%CD%\players\profiles"
 
REM Anlegen eines neuen Playerprofils mit active.txt und leerer config_mp.cfg
REM Angelegt wird das Profil im Base und Homepath
 
mkdir "%CD%\players\profiles\%PROFILENAME%"
echo %PROFILENAME% > "%CD%\players\profiles\active.txt"
copy /y nul "%CD%\players\profiles\%PROFILENAME%\config_mp.cfg"
 
mkdir "%HOMEPATH%\players\profiles\%PROFILENAME%"
echo %PROFILENAME% > "%HOMEPATH%\players\profiles\active.txt"
copy /y nul "%HOMEPATH%\players\profiles\%PROFILENAME%\config_mp.cfg"
 
REM Löschen des Temp Files zur Unterdrückung der Fehlerkorrektur beim Start
 
del /AH /q "%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\Activision\CoDWaW\__%SERVEREXE%"
 
REM Umbenennen und löschen des alten console_mp.log
REM Nach jedem Restart ist dann automatisch das letzte alte Logfile vorhanden.
 
if exist "%HOMEPATH%\%MODNAME%\console_mp_old.log" del /q "%HOMEPATH%\%MODNAME%\console_mp_old.log"
if exist "%HOMEPATH%\%MODNAME%\console_mp.log" ren "%HOMEPATH%\%MODNAME%\console_mp.log" console_mp_old.log
if exist "%HOMEPATH%\%MODNAME%\games_mp_old.log" del /q "%HOMEPATH%\%MODNAME%\games_mp_old.log"
if exist "%HOMEPATH%\%MODNAME%\games_mp.log" ren "%HOMEPATH%\%MODNAME%\games_mp.log" games_mp_old.log

Folgendes muss angepasst werden:

set HOMEPATH=D:\CoD 5\Server8-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 Zwinkernd

Jetzt öffnen wir FireDaemon Pro und Klicken auf das Icon: Neuen Dienst erstellen. Es öffnet sich folgendes Fenster:

Bild mit Einstellungen des Programms FireDaemon

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\Server8-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\Server8-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 Zwinkernd

Bild mit Einstellungen des Programms FireDaemon

Klick auf den Reiter Advanced:

Hier kann man dem Dienst eine CPU zuordnen.

Bild mit Einstellungen des Programms FireDaemon

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:

Bild mit Einstellungen des Programms FireDaemon

Bild mit Einstellungen des Programms FireDaemon

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:

Bild mit Einstellungen des Programms FireDaemon


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\Server8-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:

Server_08-15.cmd

@echo off
 
start Server_08-15.exe "D:\CoD 5\" +set dedicated 2 +set fs_localAppData D:\CoD 5\Serverfiles +set fs_basepath D:\CoD 5\Serverfiles +set fs_homepath D:\CoD 5\Server8-15 +set net_ip 85.131.195.66 +set net_port 28960 +set sv_punkbuster 1 +exec config_ww.cfg +map_rotate

Viel Spass beim Nachbauen.

 

Direkt verlinken: https://opferlamm-clan.de/wbb2/thread.php?postid=115135#post115135/

Zurück