ut2004_5.png

Spielwelt im Netz

Server für Unreal Tournament 2004

01.06.2004 Das Actionspiel Unreal Tournament 2004 gehört zu den wenigen kommerziellen Spielen für Linux. Das Paket enthält einen Spiele-Server, der bei Netzwerkpartien spürbar die Performance verbessert.

Spielehersteller Epic zeigt ein Herz für Linux. Hatte das Unternehmen schon die Vorversionen von Unreal Tournament auf das freie Betriebssystem portiert, so jetzt auch das neueste Produkt der Familie: Unreal Tournament 2004, kurz UT2004 (Kasten 1). Wer jetzt schnell den Geldbeutel zückt, sollte daran denken, dass Epic keinen Support für die Linuxvariante leistet.

Kasten 1: Das Spiel 

Unreal Tournament 2004 ist ein 3D-Actionspiel für mehrere Mitspieler. In verschiedenen Spielmodi müssen Sie alleine oder in einem Team unter anderem Stationen vor Angriffen sichern, so viele Gegner wie möglich erwischen oder Fahnen des Gegners stibitzen. Gegenüber der englischen Originalversion wurde UT2004 für den deutschen Markt entschärft, so dass es hierzulande die Altersfreigabe von 16 Jahren bekam. Der Hersteller liefert sowohl eine 32-Bit, als auch eine 64-Bit Version. Bei der Installation wird automatisch der Rechnertyp ermittelt und die jeweils richtige Variante eingespielt. Demoversionen des Spiels liegen unter [1] bereit.

Auch die Dokumentation lässt zu wünschen übrig – eine Hürde für alle, die einen Server für das Netzwerkspiel einrichten wollen. Dieser Artikel zeigt deshalb, wie Sie einen dedizierten Server für UT2004 betreiben. Dediziert bedeutet, dass er ausschließlich dafür zuständig ist, die Netzwerkspiele zu koordinieren und die Computergegner (Bots) zu steuern. Ohne einen derartigen Server übernimmt einer der Spielecomputer diese Aufgaben. Doch weil an dem gleichzeitig ein Spieler sitzt, ist dieser Rechner doppelt belastet. Im schlimmsten Fall bremst das den Spielfluss für alle Beteiligten.

Anforderungen

Für eine Runde UT2004 benötigt jeder Spieler einen leistungsfähigen Rechner, eine neuere Grafikkarte mit hardwarebeschleunigter 3D-Darstellung und die passenden Treiber. Die Hardware-Anforderungen für den Spieleserver nennt Epic nicht explizit. Sie bewegen sich unter dem Niveau der Spielerechner, sollten aber dennoch nicht zu knapp bemessen sein. Ein Prozessor mit 1 GHz Taktfrequenz und 128 MByte Speicher genügt, eine besondere Grafikkarte ist nicht nötig. Um im Netz zu spielen, braucht der Rechner natürlich auch eine Netzwerk-, vorzugsweise eine Ethernetkarte. Auf dem Server-Rechner sollten keine anderen Dienste laufen, also zum Beispiel keine stark ausgelasteten FTP- oder ein MP3-Server. Denn nur so ist garantiert, dass der Server während einer Partie schnell reagiert.

Mit einem Hub oder Switch und Netzwerkkabeln verbinden Sie die Rechner. Damit sie nun noch miteinander reden, braucht jeder von ihnen eine eindeutige IP-Adresse. Die meisten Distributionen bieten hierfür ein eigenes Konfigurationsprogramm. Bei SuSE Linux ist dies unter YaST der Punkt NetzwerkgeräteNetzwerkkarte.

Für ein Spielenetz bieten sich so genannte private Adressen an, die nicht ins Internet weitergeleitet werden. In Frage kommt beispielsweise das Netz 192.168.1.x (Subnetzmaske 255.255.255.0), wobei Sie x jeweils gegen eine Zahl zwischen 1 und 254 austauschen. Wollen Sie mit anderen im Internet spielen, brauchen Sie natürlich eine richtige Adresse, die von außen erreichbar ist. Schützt eine Firewall das lokale Netz, müssen die von UT2004 genutzten Ports 7777 und 7778 (UDP-Protokoll) freigeschaltet sein.

Installation

In der DVD-Version installieren Sie den dedizierten Server mit dem Spiel zusammen: Im Hauptverzeichnis finden Sie ein Skript mit dem Namen linux-installer.sh, nach dessen Start ein Installationsassistent erscheint (Abbildung 1). Wählen Sie dort die Sprache und im oberen Eingabefeld ein Verzeichnis mit mindestens 5 GByte freiem Platz. Obwohl der Server nicht unbedingt eine grafische Oberfläche benötigt, muss das Spiel komplett installiert werden. Eine kostenlose Version des Servers, die weniger Platz braucht, finden Sie im Internet (siehe Kasten 2, Downloaden statt kaufen).

Kasten 2: Downloaden statt kaufen 

Wer für den Betrieb eines dedizierten Servers nicht gleich seinen Geldbeutel öffnen möchte, bekommt ihn kostenlos auf der Unreal-Tournament-Homepage [1] – das Paket ist allerdings fast 800 MByte groß. Wollen Sie ihren Server beim Master-Server der Spielefirma anmelden, der Spielestatistiken und eine Serverliste führt, brauchen Sie zusätzlich einen Schlüssel (CD-KEY), den Sie auf derselben Website anfordern. Wollen Sie nur im lokalen Netz spielen, brauchen Sie den Schlüssel nicht.

Das Paket ist primär für Spieler gedacht, die nur einen Spieleserver betreiben möchten und einen Rechner mit kleiner Festplatte besitzen: Im Gegensatz zur beschriebenen DVD-Installation begnügt sich die Downloadvariante mit etwas über 2 GByte. Nachdem sie ein Verzeichnis für den Server angelegt haben (beispielsweise mit mkdir UT2004) entpacken Sie die Zip-Datei dorthin mit dem unzip-Kommando:

unzip ut2004-3186-dedicatedserver.zip -d UT2004

Im Unterverzeichnis System finden Sie das eigentliche Serverprogramm, dem Sie noch die nötigen Ausführungsrechte verpassen:

chmod +x ucc-bin

Leider hat die Downloadversion einen kleinen Fehler, der dazu führt, dass das Verwaltungsprogramm im Webbrowser gelegentlich keine Karten (Maps) und Spieletypen anzeigt. Das beheben Sie, indem Sie vor jedem Start des Servers wieder die originale Version der Datei CacheRecords.ucl vom Verzeichnis System nach ~/.ut2004/System kopieren.

Abbildung 1

Abbildung 1: Der Installationsassistent von Unreal Tournament 2004. Im zweiten Eingabefeld von oben stellen Sie das Verzeichnis ein, in dem er eine symbolische Verknüpfung anlegt.

Start

Nach der nun folgenden Kopierorgie, starten Sie Unreal Tournament 2004 indem Sie ut2004 eingeben. Sie finden es im von Ihnen gewählten Installationsverzeichnis.

Abbildung 2

Abbildung 2: Der Startbildschirm von Unreal Tournament 2004

Um einen dedizierten Server zu starten, wählen Sie im Hauptmenü den Punkt Spiel hosten (Abbildung 2), dann eine Spielart nebst Karte und zum Abschluss rechts unten DEDIZIERTER (Abbildung 3).

Abbildung 3

Abbildung 3: Nach einem Klick auf den unscheinbaren Knopf Dedizierter am rechten unteren Bildschirmrand, beendet sich UT2004 und der dedizierte Server wird automatisch in einem neuen Fenster gestartet

Möchten Sie die grafische Oberfläche nicht benutzen, ist etwas mehr Handarbeit angesagt. Auch die Download-Version lässt sich nur so betreiben. Melden Sie sich zunächst am Server-Computer an. Von einem Spielerechner aus geht das mit dem Kommandozeilenbefehl ssh <IP-Adresse> – vorausgesetzt es läuft Linux darauf. Hierbei ersetzen Sie <IP-Adresse> durch die IP-Adresse des Servers, auf dem der Secure-Shell-Daemon sshd laufen muss. Der liegt allen Distributionen bei und arbeitet zum Beispiel bei SuSE-Linux standardmäßig im Hintergrund. Auf dem Server wechseln Sie in das Unterverzeichnis System:

cd <Verzeichnis>/System

<Verzeichnis> ersetzen Sie dabei durch den Pfad zum UT2004 Installationsverzeichnis. Dort rufen Sie ./ucc-bin server DM-Gestalt auf. DM-Gestalt ist der Name einer mitgelieferten Spielelandschaft aus dem Verzeichnis Maps.. Sie können den Server auch mit anderen Namen aus diesem Verzeichnis starten, allerdings ohne deren Endung .ut2. Damit der Server im Hintergrund läuft, hängen Sie dem Befehl noch ein & an. Die angeschlossenen Spieler können jetzt über das Hauptmenü unter SpielbeitrittLAN ins Spiel einsteigen.

Anpassung

Um die Partie zu konfigurieren, verwenden Sie das Web-Interface des Servers, das sie allerdings vor dem Start aktivieren müssen, indem Sie die Konfigurationsdatei UT2004.ini editieren. Die finden Sie im Verzeichnis ~/.ut2004/System, wo der Server seine Dateien speichert, wenn er läuft. Mit einem Texteditor ändern Sie dort die Zeile bEnabled=False auf bEnabled=True. Starten Sie den Server als Normaluser und nicht als Administrator (was Sie aus Sicherheitsgründen auf jeden Fall tun sollten), müssen Sie die Portnummer auf einen Wert größer als 1024 ändern. Im Abschnitt [UWeb.WebServer] ändern Sie dafür in der Zeile ListenPort=80 den Zahlenwert zum Beispiel auf 8080.

Anschließend starten Sie den Server per ./ucc-bin server <DM-Gestalt>?AdminName=login?AdminPassword=passwort. Dabei stehen login für einen frei wählbaren Login-Namen und passwort für ein beliebiges Passwort. Sie erreichen die Konfigurationsoberfläche, indem Sie in einem Browser die IP-Adresse des dedizierten Servers eingeben, eventuell gefolgt einem Doppelpunkt und der eingestellten Portnummer. (Abbildung 4). Den gewählten Login-Namen und das Passwort geben sie im Dialogfenster ein, das der Browser öffnet.

Möglicherweise scheitert der Server daran, die IP-Adresse des eigenen Rechners zu finden, wenn der eine private Adresse besitzt. Gibt er deshalb eine Fehlermeldung der Art ... can't get local IP aus, stellen Sie die Adresse einfach fest in der Konfigurationsdatei ein. Dazu schreiben Sie im Abschnitt [UWeb.WebServer] eine solche Zeile dazu:

ServerName=192.168.1.1

Die Adresse 192.168.1.1 ersetzen Sie selbstverständlich durch diejenige, die Sie bei Ihrem Computer eingestellt haben. Wenn Sie nun den Server wie oben beschrieben starten, steht dem gepflegten Serverspiel nichts mehr im Weg.

Abbildung 4

Abbildung 4: Die Web-Oberfläche des UT2004-Servers im Konqueror-Browser

Es geht auch schwieriger

Die Einrichtung eines Unreal Tournament Servers ist nicht sehr kompliziert. Nur wer tiefer in die Konfiguration einsteigen möchte, kommt um zusätzliche Lektüre nicht herum (siehe Kasten 3: Parametersalat). Zum Glück gibt es für diese Fälle Internetportale wie [2], die sich ausschließlich der Administration des Spiels verschrieben haben.

Kasten 3: Parametersalat 

Statt das Web-Interface zu benutzen, können Sie dem Server direkt beim Start Parameter mit auf den Weg geben. Sie hängen Sie, durch Fragenzeichen getrennt, an den Namen der Spiellandschaft an. So bedeutet der Aufruf ./ucc-bin server DM-Antalus?game=XGame.XDeathmatch?mutator=UnrealGame.MutLowGrav, dass eine Deathmatch-Partie (game=XGame.XDeathmatch) auf der Karte DM-Antalus gestartet wird. Der Schalter mutator=UnrealGame.MutLowGrav schaltet die Schwerkraft im Spiel auf einen niedrigeren Wert. Die Aufzählung aller Parameter würde diesen Artikel sprengen. Eine vollständige Liste finden Sie unter [2].

Kasten 4: Auflösung 

Falls Ihnen Unreal Tournament nicht erlaubt, die Auflösung innerhalb des Programms zu ändern, suchen Sie nach der Zeile [SDLDrv.SDLClient] in der Konfigurationsdatei <CI>UT2004.ini. Ihr folgt ein Abschnitt, in dem die beiden Zeilen FullscreenViewportX=800 (für die horizontale Anzahl Bildpunkte) und FullscreenViewportY=600 (vertikale Auflösung) auftauchen. Ändern Sie die dortigen Zahlen, um die gewünschte Auflösung einzustellen.

Glossar

Hub

Ein elektronisches Gerät, das mehrere Computern zu einem Ethernet-Netzwerk verbindet. Der Hub sorgt dafür, dass die angeschlossenen Rechner Daten mit ihren jeweiligen Kommunikationspartnern austauschen können. Ein Datenpaket wird ins ganze Netz übertragen, der Adressat pickt sich das an ihn gerichtete heraus.

Switch

Funktioniert ähnlich wie ein Hub. Datenpakete fließen allerdings nur zwischen Sender und Empfänger. Auch bei dichtem Datenverkehr bleibt das Netz deshalb leistungsfähig.

IP-Adresse

Die IP-Adresse ist die Hausnummer eines Computers. Es sind vier durch Punkte getrennte Zahlen zwischen 1 und 254, wie zum Beispiel 192.168.1.1.

Infos

[1] http://www.unrealtournament.com Homepage der Unreal Tournament Spiele

[2] http://www.unrealadmin.org The Unreal Admin Page - Englische Seite rund um die Adminstration und Einrichtung der Unreal Tournament Spiele

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare