gameserver dsl fastpath



Battlefield 1942 Linux Gamerserver Installation


BF 1042 ist ein Multiplayerspiel und wird daher vorwiegend im Internet oder aber im Lan gespielt.

Es treten zwei Teams gegeneinander an und kämpfen im Standartgametype, dem Conquest Modus um Flaggenpunkte.

Die meisten Gameserver setzen zwingend das Anticheat Tool Punkbuster vorraus.

Gameserver Installation unter Linux.

Instzallationsdateien

bf1942_lnxded-1.6-rc2.run

bf1942-update-1.61.tar.gz

BFServerManager20final.tgz u. BFRemoteManager20final.zip

Hinweis
Der Gameserver wird aus Sicherhetsgründen nicht als Root User installiert.
Legt für die Installation und den Betrieb einen eigenen User an.

1.
Battlefield 1942 Server Installationsdatei ausführbar setzen

chmod 744 bf1942_lnxded-1.6-rc2.run

2.
Gameserver Installer starten

sh bf1942_lnxded-1.6-rc2.run

alternativ:

./bf1942_lnxded-1.6-rc2.run

3.
Im Anschluss der ersten EULA mit "accept" und der zweiten mit "yes" zustimmen.

4.
In der nächsten Eingabeaufforderung der Kommandozeile Zielverzeichniss auswählen.
(z.B. /usr/local/gameserver oder /home/"username") In diesem Ordner wird dann der Unterordner bf1942 erstellt.

4a.
Archiv bf1942-update-1.61.tar.gz in das BF1942 Verzeichniss entpacken.

5.
maplist.con und serversettings.con im Ordner bf1942/mods/bf1942/settings den eigenem Bedarf nach anpassen. (Können aber auch später mittels dem BFSM konfiguriert werden)

Die Mapcycle Konfigurationsdatei "maplist.con" kann zB so aussehen:

game.addLevel gazala GPM_CQ bf1942
game.addLevel invasion_of_the_philippines GPM_CQ bf1942
game.addLevel kharkov GPM_CQ bf1942
game.addLevel battleaxe GPM_CQ bf1942
game.addLevel battle_of_britain GPM_CQ bf1942
game.addLevel kursk GPM_CQ bf1942
game.addLevel stalingrad GPM_CQ bf1942
game.addLevel market_garden GPM_CQ bf1942
game.addLevel omaha_beach GPM_CQ bf1942
game.addLevel coral_sea GPM_CQ bf1942
game.addLevel wake GPM_CQ bf1942
game.addLevel tobruk GPM_CQ bf1942
game.addLevel el_alamein GPM_CQ bf1942
game.addLevel aberdeen GPM_CQ bf1942
game.addLevel iwo_jima GPM_CQ bf1942
game.addLevel guadalcanal GPM_CQ bf1942
game.addLevel battle_of_the_bulge GPM_CQ bf1942
game.addLevel liberation_of_caen GPM_CQ bf1942
game.addLevel bocage GPM_CQ bf1942
game.addLevel berlin GPM_CQ bf1942
game.addLevel midway GPM_CQ bf1942
game.setCurrentLevel gazala GPM_CQ bf1942

6.
Den Gameserver starten

sh start.sh +statusMonitor 1

alternativ:

./start.sh +statusMonitor 1

Damit der Gameserver nicht beendet wird sobald das SSH- Fenster geschlossen wird, kann man zum Beispiel einen der folgenden Befehle benutzen:

- nohup (schickt den Serverprozess in den Hintergrund, danach ist kein weiteres administrieren mehr möglich und der Prozess muss bei Bedarf expliziet beendet werden)

nohup ./start.sh &

alternativ:

- screen

screen -d -m -S bf1942 ./start.sh +statusMonitor 1

Nun läuft der Gameserver innerhalb einer virtuellen Konsole.

Zu dieser kann man mit folgendem Befehl wechseln.

screen -r bf1942

Um die Konsole verlassen zu können, ohne dass der laufende Gameserver Prozess beendet wird ist es notwendig folgende Tastenkombination einzugeben:

[STRG + A] + D

Um den Gameserver beenden zu können istes notwendig innerhalb der virtuellen Konsole [STRG] + C einzugeben.

alternativ:

QUIT eingeben.

Konfiguration für den Adminzugang

7. Für die Administration als Admin direkt im Spiel muss man folgende Einträge innerhalb der beiden Dateien serverautoexec.con und adminsettings.con ändern / eintragen:

admin.enableRemoteAdmin "Passwort"

"Passwort" einfach mit dem Passwort versehen, mittels dem Ihr euch später im Spiel als Admin einloggen wollt.

8.
Um die Administration mittels einem Remoteadmintool wie besispielsweise HLSW zu ermöglichen, ist es notwendig folgende Einträge in den beiden Dateien

serverautoexec.con und adminsettings.con eintragen:

admin.enableRemoteConsole "Benutzername" "Passwort" "Port"

"Benutzername" ersetzen durch den gewünschten Administrations-Benutzernamen, "Passwort" durch das gewünschte Passwort und "Port" durch 4711 (Standardport, könnte aber auch, wenn man zum Beispiel 2 Gameserver betreibt der Port 4712 sein)

Diese Server Einstellungen können dann im Anschluss im Remotetool eingegeben werden.

Installation des Battlefield Server Managers

1. Entpacken des Programms "bfsmd" in ein beliebiges Server Verzeichnisses. (z.B. /usr/bin, /usr/local/bin):

tar -xzvf BFServerManager20final.tgz bfsmd
cp bfsmd /usr/bin
chmod 755 /usr/bin/bfsmd

2.
Entpacken der beiden .con Dateien nach /pfad/zum/bf1942serverordner/mods/bf1942/settings:

tar -xzvf BFServerManager20final.tgz useraccess.con servermanager.con
cp useraccess.con servermanager.con /pfad/zum/bf1942ordner/mods/bf1942/settings

3.
Starten des Gameservermanagers mitelst: (vorher muss die start.sh des BF1942 Servers 1x ausgeführt und wieder beendet werden damit der bf1942_linded symlink erstellt werden kann.)

bfsmd -daemon -path /pfad/zum/bf1942ordner (falls in /usr/bin bzw. /usr/local/bin)

cd /pfad/zur/bfsmd
./bfsmd -daemon -path /pfad/zum/bf1942ordner (falls in einem anderen Ordner)

falls euer Server die glibc2.3 nicht bereit hält, die vom bfsmd benötigt wird. Könnt ihr den Gameserver mit folgendem Befehl starten.

./bfsmd.static

starten. Vorher muss diese aber mit:

tar -xzvf BFServerManager20final.tgz bfsmd.static
cp bfsmd.static /usr/bin
chmod 755 /usr/bin/bfsmd.static

entpackt und in das gewünschte Verzeichniss kopiert werden.

Folgende zusätzlichen Parameter können noch benutzt werden:

Usage: BFSMD [-path
] [-ip ] [-port
] [-pid
] [-daemon] [-start] [-stop][-restart] [-priority <#>] [-syslog <#>] [-quit] [-license] [+server args] [@server cmds]

-path
is the /path/to/server/directory (no trailing slash)
-ip sets the server and BFSMD TCP/IP address (cannot be 0.0.0.0)
-port
sets the TCP port address of the BFSMD listen server (default 14667)
-pid
creates /path/to/pid/filename containing the BFSMD instance pid
-daemon daemonizes the BFSMD process
-start starts the server when BFSMD starts
-stop stops the server when BFSMD starts
-restart restarts the server process automatically after a crash
-priority <#> will renice the server to the given priority
-syslog <#> logs to specified syslog local facility 0-7 instead of bfsmd.log
-reuseaddr will bind BFSMD listen socket when already in use (use with caution!)
-exit stops the server when BFSMD exits
-quit terminates BFSMD when the server process terminates unexpectedly
-kill terminates the instance of BFSMD referenced by the pid file given with -pid
-license displays software license agreement
[+server args] will be passed to the server process e.g. +game bf1942
[@server cmds] will be appended to serversettings.con e.g. @game.gameSpyPort 23000

4. Verbindung zum Servermanager mit dem BFRM. Beim ersten starten müssen folgende Werte benutzt werden:

* Hostname/IP:
* BFSM Port: 14667
* BFSM User: admin
* BFSM Pass: password

5. Folgende Settings zuerst editieren:

* In die Einstellung "IP Address" unter "Server" die richtige IP eingeben. (Bei einem Tippfehler startet der Server nicht!!!)
* Unter "Admin" MUSS neben "Enable Remote Console" ein Häckchen sein (Sonst kann kein Mapchange usw. ausgeführt werden), auch dürfen bei "Username" und "Passwort" nicht mehr die Standartwerte "User" und "Password" stehen, ansonsten kann man den Server nicht als Internet Server starten.
* Unter "Users" sollte der Standartuser "admin" gelöscht und einen neuen User angelegt werden.

Dann diese Einstellungen in der unteren Menüleiste mit "Save" abspeichern, ansonsten werden diese nicht übernommen.

6. Alle weiteren Einstellungen anpassen, mindestens 1 Map unter "Maps" auswählen (ansonsten startet der Server nicht) und den Server mit "Start" starten.
Ports freigeben

Falls der Server hinter einem Router oder einer Firewall liegt, müssen die entsprechenden Ports freigegeben werden, damit man zum einen auf dem Server mitspielen und zum anderen er im Ingamebrowser oder in den alternativen Serverbrowsern gefunden werden kann.
Von „http://wiki.bf-games.net/index.php/BF1942_Gameserver_unter_Linux“

Kategorien: Begriffe | BF1942 | BF1942 Gameserver


-