Diese Seite durchsuchen:

Besucher: 17207

subscribe via rss



Twittern



Installation und Inbetriebnahme eines LINUX Snowwar 1.0 dedicated Server


Hier könnt ihr nachlesen wie ihr einen LINUX Snowwar 1.0 dedicated Server installiert und startet.

Installation

LINUX Snowwar 1.0 dedicated Server:

Zunächst müsst ihr den LINUX Halflife 3.1.1.0 dedicated Server installieren. Zusätzlich braucht ihr die folgenden beiden Pakete: den Snowwar MOD sw10.zip und das Bugfix sw10patch.zip. Diese Datei findet ihr z.B. unter planethalflife.com/snowwar/. Da ihr sie vermutlich von einem anderen Rechner herunter ladet, müßt ihr sie, falls ihr kein funktionierendes Netzwerk habt, auf CD brennen. Damit LINUX diese CD lesen kann solltet ihr beim Brennen unter Dateioptionen einige Einstellungen vornehmen:

Wenn ihr diese Einstellungen nicht macht, kann es sein, dass LINUX die CD nicht lesen kann.

Die Installation benötigt etwa 25 MB zusätzlich zu dem Halflife Server ihr müsst also allzuviel Platz vorsehen. Zunächst loggt ihr euch als root ein und erstellt ein temporäres Verzeichnis mit dem Befehl:

mkdir /temp

Damit LINUX auf die CD zugreifen kann müßt ihr zunächst das CD-ROM mounten, dies geschieht mit dem Befehl:

mount /cdrom

nun wechselt ihr in das temporäre Verzeichnis:

cd /temp

Die folgenden Befehle entpacken den Snowwar MOD in die jeweiligen Verzeichnisse Hierbei wird das Unterverzeichnis /server/hlds_l/snow erstellt. Mods werden in Unterverzeichnisse nach dem Schema /server/hlds_l/modname installiert.

cd /server/hlds_l

tar xvzf /cdrom/cs_15_fulltar.gz

jetzt könnt ihr das temporäre Verzeichnis wieder löschen.

rm -R /temp

Start

Am besten loggt ihr euch jetzt als user ein, um vor Hackerangriffen sicher zu sein.

Server im Internet:

Ihr startet den Snowwar Server mit den folgenden Befehlen:

cd /server/hlds_l

hlds_run -game snow +maxplayers 12 +map sw_backyard

Dies startet einen Snowwar Server für maximal 12 Spieler mit der map sw_backyard.bsp. Falls alles geklappt hat, erscheint (unter Umständen nicht mehr zu sehen da die Console mit geladenen Dateien mitscrollt):

Host_Init
Added packfile /server/hlds_l/valve/pak0.pak (985 files)
Protocol version 46
Exe version 3.1.1.0
Exe build: 14:17:24 Sep 26 2002 (2163)
Auth WON Server
Server IP address 192.168.99.1:27015


d.h. der Server hat sich beim WON Masterserver angemeldet und ist erreichbar. Jetzt kann man auf dieser Console mit dem Befehl status die Daten des Servers anzeigen lassen z.B.:

hostname: Snow-War
version : 46/3.1.1.0 2163 secure
tcp/ip : 10.10.11.15:27015
map : sw_backyard at: 0 x, 0 y, 0 z
players : 0 active (10 max)


Server im LAN:

Ihr startet den CS-Server mit den folgenden Befehlen:

cd /server/hlds_l

hlds_run -game snow -insecure -nomaster +sv_lan 1 +maxplayers 12 +map sw_backyard

Dies startet einen Snowwar Server für maximal 12 Spieler mit der map sw_backyard. Dabei wird keine Verbindung zu einem Masterserver aufgebaut, der Server erscheint auch nicht in der WON-Liste. Falls alles geklappt hat, erscheint (unter Umständen nicht mehr zu sehen da die Console mit geladenen Dateien mitscrollt):

Host_Init
Added packfile /server/hlds_l/valve/pak0.pak (985 files)
Protocol version 46
Exe version 3.1.1.0
Exe build: 14:17:24 Sep 26 2002 (2163)
Auth Server
couldn't exec language.cfg
Server IP address 192.168.99.1:27015


d.h. der Server ist im internen Netzwerk erreichbar. Jetzt kann man auf dieser Console mit dem Befehl status die Daten des Servers anzeigen lassen - in unserem Beispielfall sollte dort folgendes Erscheinen:

hostname: Snow-War
version : 46/3.1.1.0 2163 insecure
tcp/ip : 10.10.11.15:27015
map : sw_backyard at: 0 x, 0 y, 0 z
players : 0 active (10 max)


Der Server wird mit der Eingabe von quit oder exit in die Serverconsole wieder beendet.

Erklärungen:

Statusmeldung

Parameter

-insecure läd keine Anticheatfiles
-game snow startet den MOD Snowwar
-nomaster baut keine Verbindung zum Internet Masterserver auf
+sv_lan 1 startet ein LAN-Game
+maxplayers 12 startet das Spiel mit einer maximalen Spielerzahl von 12 (absolutes Maximum 32)
+map sw_backyard startet die Map sw_backyard

Test

Wenn ihr jetzt Snowwar startet sollte der Server in der Server-Liste zu sehen sein. Ist dies nicht der Fall, habt ihr die IP-Addresse nicht überprüft oder der Server läuft auf einem anderen Port als 27015, allerdings tritt das Problem nur bei Halflife Versionen auf, die älter als 1.1.0.8 sind. Man kann den Server aber über die Console mit dem Befehl connect IP:Port trotzdem joinen.

Konfiguration

Ein Server auf einem Rechner

Eine Einstellungsmöglichkeit ist die Datei server.cfg Diese befindet sich im Unterverzeichnis des verwendeten Mods (cstrike) und sollte vor Inbetriebname des Servers an die eigenen Bedürfnisse angepasst werden. Allerdings gibt es je nach MOD Abweichung, weil sie zum Teil über unterschiedliche Befehle verfügen. Diese Einstellungen können jederzeit im Spiel verändert werden, wenn man über das rcon-Password verfügt. In der Console nachträglich gemachte Einstellungen werden nach dem nächsten Mapchange ungültig, da beim Laden einer neuen Map die server.cfg komplett neu eingelesen wird.

In der mapcycle.txt wird festgelegt welche Map in welcher Reihenfolge nach einem Mapwechsel als nächstes geladen wird. Man kann jederzeit per Console eine andere Map laden. Nachdem die Zeit für diese dann abgelaufen ist, wird automatisch mit den Maps der mapcycle.txt fortgefahren.

Die Datei motd.txt enthält den Text, den man sieht, wenn man auf den Server connected hat. Sie darf nur maximal 1536 Zeichen lang sein, der Rest wird abgechnitten.

Mehrere Server auf einem Rechner

Um mehrere Server auf einem Rechner laufen zu lassen benutzt ihr den Parameter +port. ihr solltet nur die Ports oberhalb und unterhalb von 27015 benutzen, da nur diese von Halflife benutzt werden können. Es werden nur Spiele auf den Ports 27015 bis 27029 im Gamebrowser angezeigt, wobei die Ports 27020 bis 27029 nur für HLTV benutzt werden sollen. Ihr startet z.B. mit dem Befehl:

hlds_run -game snow -nomaster +sv_lan 1 +maxplayers 12 +map sw_backyard +port 27016

Danach wechselt ihr die Console in LINUX logt euch wieder als user ein und startet den nächsten Server z.B. mit dem Befehl

hlds_run -game snow -nomaster +sv_lan 1 +maxplayers 12 +map sw_backyard +port 27017

Nun sind in der Serverliste beide Server zu sehen. Allerdings starten beide mit dem gleichen hostname und der gleichen server.cfg. Um unterschiedliche server.cfg's zu laden benutzt ihr den Parameter +servercfgfile server.cfg. Die Datei darf aber nicht mehr server.cfg heißen, da sonst automatisch diese für alle geladen wird. Ihr nennt die server.cfg also z.B. server1.cfg und die nächste dann server2.cfg usw. In den unterschiedlichen server.cfg's könnt ihr dann auch die hostnames und alle anderen Einstellungen ändern.
Um mehrere mapcycle.txt zu benutzen benutzt ihr den parameter +mapcyclefile mapcycle.txt und für die motd.txt den Parameter +motdfile motd.txt.

Achtung!!!
Wenn ihr mehrere eigene configs benutzen wollt darf keine Original-Datei mehr vorhanden sein, da diese sonst geladen wird.

Erklärungen

Parameter

+port 27018 startet den Server auf dem Port 27018.
+servercfgfile server1.cfg startet den Server mit den Einstellungen aus der server1.cfg
+mapcyclefile mapcycle1.txt läd die map-Reihenfolge aus der mapcycle1.txt
+motdfile motd1.txt läd den Begrüßungstext aus der motd1.txt

Ein Server, der auf einem bestimmten port läuft, eine bestimmte server.cfg hat, einen bestimmten mapcycle haben soll und einen eigenen Begrüßungstext hat, würde man zum Beispiel mit folgendem Befehl starten:

hlds_run -game snow -nomaster +sv_lan 1 +maxplayers 12 +map sw_backyard +port 27017 +servercfgfile server1.cfg +mapcyclefile mapcycle1.txt +motdfile motd1.txt

LINUX Server von einem Windowsrechner über Netzwerk starten

PuTTY

LINUX startet automatisch Server, die einem das einloggen von einem anderen Rechner aus ermöglichen. Der einfachste hiervon ist telnet. Da telnet jedoch unverschlüsselt ist und seit Suse 8.0 nicht mehr bei der Standardinstallation mitgestartet wird, sollte man darauf verzichten, und lieber das verschlüsselte SSH nutzen.
Ich benutze hierzu das Freeware-Proggie PuTTY, das einem unter anderem die Kommunikation über SSH ermöglicht. Hierbei reicht es, unter Host Name (or IP address) die IP-Addresse des Servers anzugeben und unter Protocol SSH zu wählen. Der Port wird automatisch je nach Protocol ausgewählt.




PuTTY öffnet dann in einem Fenster eine LINUX console, in der man sich nun einloggen kann. Wenn man die SSH Session jedoch beendet, so loggt man sich aus und der Prozess (der Snowwar Server) wird ebenfalls beendet. Um das zu vermeiden, nutzt man den Befehl screen.

Mehrere Server mit screen starten

Um nicht zwischen den Consolen zu wechseln (was unter SSH nicht funktioniert) kann man Prozesse mit dem Befehl screen starten. Mit diesem Befehl erzeugt man für einen Prozess eine eigene Session, die man in den Hintergrund stellen und auch wieder aufrufen kann. Dies geschieht mit der Syntax:

screen -[option] [sessionname] [Befehl]

Einen Snowwar Server startet man zum Beispiel mit dem Befehl:

screen -S server1 hlds_run -game snow -nomaster +sv_lan 1 +maxplayers 12 +map sw_backyard

Indem man den screen verlässt, kehrt man zur Kommandozeile zurück. Der screen läuft dann im Hintergrund weiter. Dazu drückt man [Strg] [a], lässt [a] los, hält [Strg] weiter gedrückt und drückt dann dazu [d].
Danach kann man einen zweiten screen mit einem anderen Sessionnamen starten. Mit folgendem Befehl kann man sich alle laufenden screens anzeigen lassen:

screen -ls

Wenn man wieder in einen screen gelangen will, um z.B. den Snowwar Server zu beenden, tut man dies mit diesem Befehl (hier für den Sessionnamen server1):

screen -r server1



Quellen:
  planethalflife.com/snowwar/