Diese Seite durchsuchen:

Besucher: 17693

subscribe via rss



Twittern



Installation und Inbetriebnahme eines LINUX UT 436 dedicated Servers


Hier könnt ihr nachlesen wie ihr einen LINUX LINUX UT 436 dedicated Server installiert und startet.

Anforderungen

Der Rechner:

Der dedizierte (dedicated) Counter-Strike Server ist dafür zuständig, die Positionen der einzelnen Spieler in der Map zu berechnen. Die Prozessorlast steigt mit Anzahl der Spieler und größe der Maps.
Neben der CPU ist der Arbeitspeicher am wichtigsten. Da Größe und Geschwindigkeit von Festplatte und CDROM nahezu keine Auswirkungen auf die Serverleistung haben, kann man hier ruhig zugunsten des restlichen Systems sparen. Das Wichtigste ist die Kombination aus Prozessor und Arbeitsspeicher. Minimum sollten 64MB RAM sein.
Ein Rechner mit 300 MHz und 64MB RAM ist etwa für 8 Spieler ausreichend.

Die Anbindung (Internet):

Für den Ping ist neben der Hardwareleistung auch die Netzwerkanbindung entscheident. Minimale Vorraussetzung ist eine 2Mbit-Leitung, um auch höheren Netzwerkverkehr zu ermöglichen, gerade wenn auch zum Beispiel der map-download aktiviert ist. Eine 10Mbit oder 100Mbit Anbindung, wie im LAN, ist natürlich die beste Verbindung, auch wenn sie in den seltensten Fällen zu bekommen ist. Das Beispiel soll zeigen, welche Anbindungnötig ist:
Epic empfiehlt 20kbps pro Spieler. Für jeden Spieler werden etwa 4KB/s übertragen. Bei 14-Spielern macht das 56KB/s, das entspricht 448Kbit/s. Über eine ISDN-Leitung können maximal 64Kbit/s übertragen werden. Es ist also unmöglich einen guten Server mit einer ISDN-Leitung (auch doppelt) zu betreiben. A-DSL verfügt auch nur über doppelten ISDN-Upload, was ebenfalls nicht ausreichend ist.


Das Betriebssystem (OS)

LINUX:

Für den Anfänger ist LINUX bestimmt das am wenigsten geeigenete Betriebssystem, da es mit den verbreiteten Windows-System nahezu nichts gemeinsam hat. Jedoch ist es kostenlos erhältlich und darf auch kostenlos genutzt und kopiert werden. In den meisten Fällen kostet eine Distribution etwa 50 Euro (für Handbücher und CD's), zu der LINUX, eine Menge Anwendungsprogramme und ein Handbuch gehören.
Wer noch keinerlei LINUX-Erfahrungen hat, sollte sich jedoch auch überlegen, seinen HL-/CS-Server vielleicht doch besser unter einem Windows zu installieren, dort ist für viele die Bedienung einfacher und die Oberfläche leichter zu durchschauen - Windows 2000 oder XP bieten sich dabei an, da beide recht stabil laufen.

Achtung!!!
Wenn ihr Server auf Windowsbasis laufen habt und für den jeweiligen Rechner keine Einzel-Lizens für Windows vorhanden ist, kann dies rechtliche Schritte nach sich ziehen.

Ich benutze Suse LINUX 8.0, die Beschreibung kann also von anderen Distributionen abweichen. Für andere Distributionen (mindestens Kernel 2.2.14 und mindestens Glibc 2.1) ergibt sich aber meist kein Unterschied. Sie bezieht sich nur auf die Kommandozeile da es unüblich ist, eine Server auf der ressourcen-fressenden grafischen Oberfläche zu starten.

Installation

LINUX-Netzwerk:

Prinzipiell sollte man unter LINUX aus Sicherheitsgründen Programme nur dann als "root" starten, wenn es wirklich notwenig ist. Einen LINUX UT 436 dedicated Server kann man auch als "normaler" user installieren und laufen lassen.

Loggt euch als root ein und gebt yast in der Console ein. Dann macht ihr folgende Einstellungen unter Netzwerk/Basis -> Netzwerk konfigurieren - wählt ihr die entsprechende Netzwerkkarte aus und tragt Hostname, Domainname sowie IP und Subnetmask ein.

LINUX UT 436 dedicated Server mit der Original-CD installieren

Ihr benötigt eine Unreal Tournament Vollversion auf CD und den aktuellen Patch. Der aktuelle Patch ist 436. Falls ihr die Goty Edition verwendet, benötigt ihr den entsprechenden extra Patch. Diesen findet ihr zum Beispiel auf unrealtournament.com oder lokigames.com. 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 700 MB ihr solltet also genug Platz vorsehen.

Ihr solltet euch als user einloggen, um die Installation möglichst sicher ablaufen zu lassen. Nun erstellt ihr ein Vezeichnis für UT.

mkdir /server/ut

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

mount /cdrom

Nun müsst ihr von hier den Patch ausführen.

exec /cdrom/ut-install-436.run

Ihr hangelt euch folgendermaßen durch die Abfragen:

Wollen Sie die Datei /tmp/selfgz1065/README lesen? [J/n] n
Bitte geben Sie den Installationspfad ein [/usr/local/games/ut] /server/ut
Wollen Sie Desktop Icons erzeugen? [J/n] n
Installiere Binary Files? [J/n] J
Installiere OpenGL as Default renderer? [J/n] n
Installiere Glide as Default renderer? [N/j] N
Installiere Data Files? [J/n] J
Wollen Sie Desktop Icons erzeugen? [J/n] n
5472 MB verfügbar 668 MB werden installiert.
Installation fortführen? [J/n] J
Bitte mounten Sie die Disc Two CDROM

Falls diese Abfrage erscheint, müsst ihr mit [Strg]+[Alt]+[F2] auf die zweite Console wechseln. Von dort werft ihr die CD aus.

eject

Nach dem CD-Wechsel muss die CD neu gemountet werden.

mount /cdrom/

Jetzt könnt ihr mit [Strg]+[Alt]+[F1] wieder auf die erste Console wechseln und setzt die Installation fort.

wählen Sie ja um es nochmal zu versuchen, Nein um abzubrechen [J/n] J
Möchten Sie das Spiel jetzt starten? [J/n] n

LINUX UT 436 dedicated Server ohne CD installieren

Ihr benötigt zur Installation die Datei ut-server-436.tar.gz, die ihr z.B. auf fileplanet.com/ findet. 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 700 MB ihr solltet also genug Platz vorsehen.

Ihr solltet euch als user einloggen, um die Installation möglichst sicher ablaufen zu lassen. Nun erstellt ihr ein Vezeichnis für UT.

mkdir /server/ut

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

mount /cdrom

Nun müsst ihr in das Verzeichnis wechseln und danach den Server entpacken.

cd /server/ut

tar xvzf /cdrom/ut-server-436.tar.gz

Konfiguration

Nun müsst ihr euch eine Datei mit dem Namen ucc.ini erstellen und in /usr/local/games/ut speichern. Am besten erstellt ihr sie aus eurer User.ini

cp /server/ut/System/User.ini /server/ut/System/ucc.ini

Diese ucc.ini braucht einige Modifikationen.

vi /server/ut/System/ucc.ini

Folgende Werte müsst ihr verändern:

Hier wird er Pfad eures UT-Verzeichnisses angegeben.

[Core.System]
Paths=/server/ut/System/*.u
Paths=/server/ut/Maps/*.unr
Paths=/server/ut/Textures/*.utx
Paths=/server/games/ut/*.uax
Paths=/server/games/ut/*.umx

Alle Zeilen, die mit "ServerActors=" beginnen, solltet ihr durch ein Semikolon deaktivieren, wenn ihr einen LAN-Server betreiben wollt. Ohne Semikolon verbindet sich der Server über Internet zu einer existierenden Unreal Tournament Liga.

[Engine.GameEngine]
CacheSizeMegs=4
UseSound=True
;ServerActors=IpDrv.UdpBeacon
;ServerActors=IpServer.UdpServerQuery
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900
;ServerActors=UWeb.WebServer

Zusätzlich müsst ihr Uplinking aktivieren, wenn ihr den Server in eine Internet Liga einklinken wollt.

[IpServer.UdpServerUplink]
DoUpLink=False

Die nächste Option orientiert sich an der verfügbaren Bandbreite pro Spieler in byte pro Sekunde. Die gegebenen 20000 stellen einen guten Wert dar.

[Engine.Player]
ConfiguredInternetSpeed=20000

Die folgenden Zeilen stehen den Spielern als Information zur Verfügung.

[Engine.GameReplicationInfo]
ServerName=Generic UT Server
ShortName=UT Server
AdminName=Lamer
AdminEmail=root@localhost
Region=0
MOTDLine1=
MOTDLine2=
MOTDLine3=
MOTDLine4=

Hier solltet ihr das Admin Passwort, sowie die maximale Spieleranzahl eintragen.

[Engine.GameInfo]
AdminPassword=
MaxPlayers=16

UT kann von sich aus einen Web-Server starten, von dem aus ihr das Spiel bequem administrieren könnt. In das Interface könnt ihr euch einloggen, wenn ihr in der Adresszeile eures Browsers die IP des Servers dem angegebenen Listen Port nach dem Schema
IP-des-Servers:Listen-Port/ServerAdmin/
eingebt.

[UWeb.WebServer]
bEnabled=True
ListenPort=5080

Um das Interface zu nutzen, müssen folgende Werte eingestellt werden. "AdminRealm" ist weniger wichtig, wird jedoch bei der Abfrage von "AdminUsername=" und "AdminPassword=" benutzt.

[UTServerAdmin.UTServerAdmin]
AdminUsername=utadmin
AdminPassword=utpasswd
AdminRealm=UT Remote Admin Server

Start

Ihr startet den UT Server mit folgendem Befehl.

/server/ut/ucc server "DM-Deck16][?game=Botpack.DeathMatchPlus" ini=ucc.ini

Das startet ein Deathmatch auf der Map DM-Deck16][ mit den Konfigurationen aus der ucc.ini. Der Name der Map und angabe des Spielmodus sind zwingend nötig. Die Häkchen müssen nicht unbedingt sein, sollten aber gemacht werden, da einige Maps Sonderzeichen in ihrem Namen haben und LINUX diese falsch interpretieren könnte.

Falls ihr zum Beispiel einen falschen Patch benutzt habt, werden die Maps nicht entpackt. Ihr bekommst dann die Fehlermeldung, dass die Map nicht gefunden werden kann. Das könnt ihr ändern, indem ihr euch ein Script schreibt.

cd /usr/local/games/ut/
vi ./utscript
i

#!/bin/sh
# FILENAME: convert.sh
#
# Change this to YOUR install-dir of UT
#
INSTALLDIR=/server/ut

cd $INSTALLDIR/System

for i in ../Maps/*.unr.uz
do
/server/ut/ucc decompress $i -nohomedir ini=ucc.ini
done

mv *.unr ../Maps

cd ../Maps
for f in *.unr
do
rm $f.uz
done

echo "..:: Done! ::.."

[ESC]
drücken
:wq!

chmod 777 ./utscript
exec ./utscript

Erklärungen:

Parameter

Name der Map startet die angegebene Map
game= startet den angegebenen Spielmodus
ini= läd die Konfigurationen aus der angegebenen *.ini
log= speichert die Logs in der angegebenen *.log
port= startet den Server auf einem bestimmten Port


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 CS-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 UT-Server startet man zum Beispiel mit dem Befehl:

screen -S server1 /server/ut/ucc server "DM-Deck16][?game=Botpack.DeathMatchPlus" ini=ucc.ini

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 CS-Server zu beenden, tut man dies mit diesem Befehl (hier für den Sessionnamen server1):

screen -r server1



Quellen:
  ein besonderer Dank geht an fy-hz
  www.illuminatus.unixsweden.net
  www.theadminpage.com
  www.ut.abfackeln.com
  www.linuxforen.de