Das STRATO Serverbuch
Das STRATO Serverbuch
Das STRATO Serverbuch
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2. AUFLAGE EDITION 2007<br />
FRANZIS<br />
TASCHENBUCH<br />
<strong>Das</strong> <strong>STRATO</strong><br />
<strong>Serverbuch</strong><br />
Dedizierte Server erfolgreich administrieren
8 Game-Server<br />
Game-Server aufsetzen 1<br />
aufsetzen<br />
Neben Web-Auftritten und Mail-Verarbeitung kann ein HighEnd-Server<br />
durchaus auch andere Dienste zur Verfügung stellen. Immer beliebter<br />
werden beispielsweise so genannte Game-Server. Dabei handelt es sich<br />
um Server-Versionen populärer Spiele, die es ermöglichen, zusammen<br />
oder gegeneinander über das Internet zu spielen. Wie Sie einige dieser<br />
Server einrichten, beschreibt dieses Kapitel.<br />
8.1 FreeCiv-Server einrichten<br />
Mit Civilization hat Sid Meier eines der bis heute populärsten Spiele aus<br />
dem Bereich Aufbau-Strategie geschaffen. Die Fan-Gemeinde ist sogar so<br />
groß, dass eine frei erhältliche Version des Spiels programmiert wurde.<br />
Im Gegensatz zum Original ist diese auch als netzwerkfähige Version mit<br />
eigenem Server verfügbar. Zudem ist FreeCiv nicht nur für Windows,<br />
sondern auch für Linux und Mac OS X verfügbar. Damit ist es eines der<br />
wenigen Spiele, die Sie auch mit Freunden spielen können, die nicht<br />
unter Windows arbeiten.<br />
Zur Installation bieten sich zwei Varianten an: das von SUSE vorgefertigte<br />
Paket per Yast einrichten oder die manuelle Installation mithilfe des<br />
aktuellsten Quellcodes. Da die mit SUSE Linux ausgelieferte FreeCiv-<br />
Version bereits etwas betagt ist, empfiehlt sich die zweite Variante. Dazu<br />
müssen Sie folgende Schritte durchführen:<br />
� ein neues Benutzerkonto für FreeCiv anlegen,<br />
� die Quelldateien des Servers herunterladen,<br />
� das Quellarchiv entpacken und übersetzen,<br />
� die übersetzten Dateien auf dem Server einrichten und<br />
� die Konfiguration des FreeCiv-Servers anpassen.
2 Kapitel 8<br />
FreeCiv-Quelltext herunterladen und übersetzen<br />
Die Quelltexte von FreeCiv erhalten Sie vom Server www.freeciv.org,<br />
indem Sie folgende Befehle auf der Kommandozeile eingeben:<br />
cd /root<br />
mkdir –p games/freeciv<br />
cd games/freeciv<br />
wget http://mesh.dl.sourceforge.net/sourceforge/freeciv/<br />
freeciv-2.0.8.tar.bz2<br />
Mit den ersten Kommandos legen Sie zunächst ein Arbeitsverzeichnis an.<br />
Der letzte Befehl sieht vielleicht ein wenig ungewöhnlich aus. Bei der angegebenen<br />
URL handelt es sich um einen Umleiter, mit dessen Hilfe sich die<br />
ansonsten recht lange URL auf ein angenehmes Maß kürzen lässt.<br />
Bild 8.1 Dank der schnellen Anbindung der <strong>STRATO</strong>-Server ist der Download<br />
von FreeCiv schnell erledigt.<br />
<strong>Das</strong> Entpacken und Übersetzen der Quelltexte ist mit wenigen Kommandos<br />
abgehandelt:
Game-Server aufsetzen 3<br />
tar xjf freeciv-2.0.8.tar.bz2<br />
cd freeciv-2.0.8<br />
./configure –sysconfdir=/etc –disable-client<br />
make<br />
make install<br />
Benutzerkonto einrichten und FreeCiv-Server starten<br />
Mit dem Abschluss des letzten Befehls ist auch die Installation abgeschlossen.<br />
Der Versuch, den Server über das Kommando civserver zu starten,<br />
scheitert jedoch mit einer Fehlermeldung. FreeCiv lässt sich nicht<br />
unter dem Benutzerkonto des Superusers root starten. Sie müssen also ein<br />
neues Benutzerkonto für FreeCiv anlegen:<br />
useradd –m freeciv<br />
cd /home/freeciv<br />
passwd freeciv<br />
Mittels passwd vergeben Sie ein neues Kennwort für diesen Account.<br />
Damit können Sie sich nun direkt mit diesem Konto anmelden, was Sie<br />
auch tun sollten. Zum Start des Servers fehlen nach der Anmeldung als<br />
User freeciv nur noch wenige Schritte:<br />
mkdir server<br />
cd server<br />
screen –S civ –adm civserver<br />
Über das letzte Kommando starten Sie den Server in einem eigenen<br />
Screen-Prozess (siehe Kapitel 5.6.3). Wenn Sie die Kommandozeile des<br />
Servers sehen wollen, wechseln Sie mittels screen -r civ zu dessen Konsole.<br />
Zur eigentlichen Kommandozeile kehren Sie mit der Tastenkombination<br />
[Strg]+[A] und anschließendem Drücken von [D] zurück.<br />
Die Client-Software für die Betriebsysteme Linux und Windows erhalten<br />
Sie direkt auf www.freeciv.org, den Client für Mac OS X von http://blog.<br />
saltybanana.com/peel/.
4 Kapitel 8<br />
Bild 8.2 <strong>Das</strong> Statusfenster beweist, dass dieser Mac-Client von FreeCiv mit dem<br />
HighEnd-Server verbunden ist.<br />
Firewall-Einstellungen beachten<br />
Haben Sie die SUSE Firewall aktiviert, müssen Sie für ein erfolgreiches FreeCiv-<br />
Spiel den Port 5555 freigeben (siehe Kapitel 7.1.2).<br />
8.2 Server für Unreal Tournament 2004 einrichten<br />
Eines der beliebtesten Spiele aus der Sparte der Ego-Shooter ist Unreal<br />
Tournament 2004. Ein großer Teil des Erfolgs dieser Version und ihrer<br />
Vorgänger ist sicher darauf zurückzuführen, dass das Spiel eine Server-<br />
Variante besitzt. Sie erlaubt es mehreren Spielern, online und in Echtzeit
Game-Server aufsetzen 5<br />
gegeneinander anzutreten. Obwohl das Spiel selbst nicht für Linux verfügbar<br />
ist, existiert eine Server-Variante für dieses Betriebssystem, die Sie<br />
auf Ihrem HighEnd-Server einrichten können. Da diese Variante ausschließlich<br />
als Server lauffähig ist, ist nicht einmal ein gültiger CD-Key<br />
der Original-Software zur Installation eines Servers nötig.<br />
<strong>Das</strong> Einrichten des Unreal-Tournament-Servers selbst erfolgt in wenigen<br />
Schritten:<br />
� Anlegen eines neuen Benutzerkontos,<br />
� Herunterladen des Installations-Archivs,<br />
� Entpacken des Archivs in das Installationsverzeichnis,<br />
� Editieren der Konfigurationsdatei,<br />
� Start des Servers.<br />
Benutzerkonto einrichten und UT-Server herunterladen<br />
Da der Server für Unreal Tournament 2004 bereits in ausführbarer Form<br />
im Installationsarchiv enthalten ist, müssen Sie zum Einrichten keine<br />
Quelltexte übersetzen. Daher empfiehlt es sich, den kompletten Installationsvorgang<br />
gleich unter dem Benutzerkonto durchzuführen, unter dem<br />
der Server später laufen soll. Legen Sie dazu ein neues Benutzerkonto an,<br />
beispielsweise mit dem Loginnamen utserv und vergeben Sie ein neues<br />
Passwort für diesen Account:<br />
useradd –m utserv<br />
passwd utserv<br />
Wechseln Sie anschließend zu diesem Benutzerkonto und richten Sie ein<br />
Verzeichnis für den UT-Server ein, in das Sie auch gleich wechseln:<br />
cd<br />
mkdir server<br />
cd server<br />
Als nächstes laden Sie das Archiv mit den Installationsdaten des UT-Servers<br />
herunter und entpacken es im aktuellen Verzeichnis:<br />
wget http://downloads.unrealadmin.org/UT2004/server/dedicatedserver3339-bonuspack.zip<br />
unzip dedicatedserver3339-bonuspack.zip
6 Kapitel 8<br />
Achtung, die Datei ist über 900 MByte groß, der Download alleine kann<br />
also – je nach Last des bereitstellenden Servers – mehrere Stunden in<br />
Anspruch nehmen.<br />
Die Konfigurationsdatei anpassen<br />
Mit dem Entpacken des Installationsarchivs ist die Basisinstallation abgeschlossen.<br />
Bevor Sie Ihren Server wirklich starten können, sind aber noch<br />
ein paar Änderungen an dessen Konfigurationsdatei notwendig. Sie finden<br />
die Datei im Verzeichnis System unterhalb des für den Server angelegten<br />
Verzeichnisses, ihr Name ist UT2004.ini.<br />
Die Konfigurationsdatei besteht aus mehreren Abschnitten, die alle durch<br />
ein Schlüsselwort in eckigen Klammern eingeleitet werden. Bereits im ersten<br />
Abschnitt [URL] finden Sie die Anweisung Port=, gefolgt von der Zahl<br />
7777. Diese Zeile gibt an, auf welchem Port der Server erreichbar ist. Wollen<br />
Sie mehrere UT-Server auf Ihrem HighEnd-Server einrichten, müssen<br />
Sie hier für jeden UT-Server einen anderen Wert eintragen.<br />
Im Abschnitt [IpDrv.MasterServerUplink] sollten Sie den Wert hinter<br />
DoUplink= auf False setzen. Anderenfalls versucht Ihr Server, sich mit den<br />
Master-Servern von Atari zu verbinden. Da Sie keinen gültigen CD-Key<br />
angegeben haben, was bei der Client-Software nötig gewesen wäre, schlägt<br />
dies fehl. Es ist ratsam, auch den Wert für UplinkToGamespy auf False zu<br />
setzen.<br />
Alternativ können Sie sich auch einen reinen Server-Key erzeugen lassen.<br />
Dazu bietet die Website unrealadmin.org unter http://www.unrealadmin.org/modules.php?name=Server_CDKey<br />
ein Formular an, in das Sie<br />
lediglich eine E-Mail-Adresse eintragen müssen. An diese wird anschließend<br />
ein rein für den Server-Betrieb funktionierender Key gesendet.<br />
Um den Spielern die Orientierung zu erleichtern, auf welchem Server sie<br />
sich anmelden, sollten Sie den Namen Ihres UT-Servers ändern. Dazu<br />
dienen die beiden Zeilen, die mit den Schlüsselwörtern ServerName und<br />
ShortName beginnen. Hier können Sie beliebige Texte eintragen.<br />
Handelt es sich bei der Anpassung des Servernamens eher um eine kosmetische<br />
Korrektur, kommt dem nächsten Punkt immense Bedeutung
Game-Server aufsetzen 7<br />
zu. Jeder UT-Server enthält einen eigenen Web-Server, über den sich das<br />
Spiel konfigurieren und steuern lässt. Standardmäßig erwartet dieser eingehende<br />
Datenpakete auf Port 80 und damit genau auf dem Port, auf dem<br />
auch ein regulärer Web-Server auf Anfragen wartet. Eine Kollision ist<br />
damit vorprogrammiert. Ändern Sie daher unbedingt im Abschnitt<br />
[UWeb.WebServer] den Eintrag ListenPort=80 auf einen günstigeren Wert,<br />
beispielsweise ListenPort=8000. Um den Web-Server zur Verwaltung von<br />
Unreal Tournament auch wirklich zu starten, müssen Sie zudem im selben<br />
Abschnitt den Wert der Option hinter bEnabled von False auf True<br />
stellen. Wollen Sie mehrere UT-Server über deren Web-Interface verwalten,<br />
so ist für jeden Server – genau wie beim Port für die eigentlichen<br />
Spiel-Informationen – ein neuer Port für das Web-Interface zu wählen.<br />
Damit nicht jeder Internet-Nutzer Zugriff auf das Admin-Interface Ihres<br />
Unreal-Tournament-Servers erhält, ist im Abschnitt [Engine.AccessControl]<br />
noch ein Passwort zu setzen. Sie können hier hinter dem Schlüsselwort<br />
AdminPassword eine beliebige Zeichenkette angeben. Damit sind alle<br />
Änderungen erledigt und Sie können die Datei speichern.<br />
Den Unreal-Tournament-Server starten<br />
Bevor Sie den UT-Server nun tatsächlich starten können, müssen Sie<br />
noch zwei Dinge erledigen. Als erstes ist diesem das Attribut Ausführbar<br />
zuweisen. <strong>Das</strong> erledigen Sie am schnellsten über den Befehl chmod 755<br />
ucc-bin. Im zweiten Schritt müssen Sie noch eine benötigte Bibliothek einrichten.<br />
Der Unreal-Tournament-Server ist nämlich schon ein wenig<br />
älter und setzt daher auf einer Systembibliothek auf, die in neueren<br />
Linux-Versionen nicht mehr standardmäßig enthalten ist. Zum Glück<br />
wird diese aber von allen gängigen Distributionen als optionales Paket<br />
angeboten. Unter SUSE Linux starten Sie einfach Yast und wechseln dort<br />
über Software zu Software installieren oder löschen. Über die Suchfunktion<br />
lassen Sie sich die zum Begriff »compat« passenden Pakete ausgeben.<br />
Wählen Sie compat-libstdc++ und richten dieses Paket ein.
8 Kapitel 8<br />
Bild 8.3 Ohne die Kompatibilitäts-Bibliothek geht bei vielen älteren Spielen nichts.<br />
Nun können Sie einen ersten Server-Start durchführen. <strong>Das</strong> Kommando<br />
ist etwas komplex und lautet:<br />
./ucc-bin server DM-Rrajigar.ut2 --nohomedir INI=UT2004.ini<br />
Nach einer kurzen Initialisierungsphase ist der Server bereit und die Spieler<br />
können sich anmelden. Wie schon für FreeCiv beschrieben ist es ratsam,<br />
den Server in einem eigenen, per screen gestarteten Prozess zu betreiben.<br />
Dazu beenden Sie den gerade gestarteten Server per [Strg]+[C]. Ist der<br />
Server beendet, starten Sie eine neue SSH-Sitzung und melden sich diesmal<br />
nicht als root an, sondern unter dem Konto, das Sie zum Betrieb des<br />
Unreal-Tournament-Servers angelegt haben. Für unser Beispiel wäre das<br />
also utserv. Dort starten Sie einen neuen Screen-Prozess, in dem Sie den<br />
UT-Server starten:<br />
cd ~/server/System<br />
screen –S ut_1 –d –m<br />
screen –r ut_1<br />
./ucc-bin server DM-Rrajigar.ut2 --nohomedir INI=UT2004.ini
Game-Server aufsetzen 9<br />
Um zu überprüfen, ob der Server auch wirklich läuft, starten Sie nun auf<br />
Ihrem lokalen Rechner einen Browser und rufen die Domain Ihres Servers,<br />
gefolgt von der Portnummer des UT-Web-Interfaces ab. Für unseren<br />
Beispielserver wäre die abzurufende URL also http://h0123.serverkompetenz.net:8000.<br />
Wahrscheinlich werden Sie nun nach einem Benutzernamen und einem<br />
Passwort gefragt. Es spielt keine Rolle, welchen Benutzernamen Sie angeben.<br />
Wichtig ist nur, dass Sie das zuvor in der Konfigurationsdatei angegebene<br />
Passwort verwenden, um Zugriff auf das Verwaltungs-Interface<br />
des Servers für Unreal Tournament 2004 zu erhalten.<br />
Bild 8.4 Geschafft: Der Server für Unreal Tournament 2004 läuft und kann über das<br />
Web-Interface verwaltet werden.
10 Kapitel 8<br />
Firewall nicht vergessen!<br />
Wenn es mit dem Zugriff auf das Web-Interface des UT-Servers nicht klappt, dann<br />
ist wahrscheinlich eine aktivierte Firewall auf Ihrem HighEnd-Server dafür verantwortlich.<br />
Vergessen Sie nicht, die von Unreal Tournament benötigten Ports in der<br />
Firewall unter den erweiterten Einstellungen einzutragen. Für das obige Beispiel<br />
wären dies 7777 und 8000, bei mehreren parallel laufenden Servern sind natürlich<br />
mehr Einträge vorzunehmen.<br />
8.3 Server für Neverwinter Nights einrichten<br />
Die dritte große Spielesparte neben Aufbau/Strategie und Ego-Shootern<br />
sind Rollenspiele. Ein bekannter Vertreter dieses Genres ist Neverwinter<br />
Nights (NWN), das sich neben seiner Mehrspieler-Fähigkeit durch die<br />
Möglichkeit auszeichnet, das Spiel nach eigenen Vorstellungen zu erweitern.<br />
Auch für Neverwinter Nights gibt es eine unter Linux lauffähige Server-Version,<br />
die noch dazu extrem einfach zu installieren ist. Auch hier<br />
empfiehlt es sich, für den Betrieb des Spiel-Servers ein eigenes Benutzerkonto<br />
einzurichten. Nach dem Download des Servers ist dieser nur zu<br />
entpacken und zu starten.<br />
Benutzer für NWN-Server einrichten und Server herunterladen<br />
Um den Benutzer einzurichten und das Archiv mit dem NWN-Server<br />
herunterzuladen, sind nur wenige Kommandos notwendig:<br />
useradd –m nwnserv<br />
passwd nwnserv<br />
su nwnserv<br />
cd<br />
mkdir server<br />
cd server<br />
wget http://files.bioware.com/neverwinternights/updates/<br />
linux/168/linuxdedserver168.tar.gz<br />
<strong>Das</strong> mit dem letzten Befehl heruntergeladene Archiv muss nun entpackt<br />
werden:<br />
tar xvzf linuxdedserver168.tar.gz
Game-Server aufsetzen 11<br />
Jetzt ist die Installation abgeschlossen und der Server kann gestartet werden.<br />
Für diese Aufgabe starten Sie per screen am besten auch wieder eine<br />
eigene Sitzung:<br />
screen –S nwn –d –m<br />
screen –r nwn<br />
./nwserver –module Prelude<br />
<strong>Das</strong> letzte Kommando startet den Server und lädt den Epilog des Spiels<br />
als Startpunkt. Andere Startpunkte oder von Fans des Spiels erstellte<br />
Erweiterungen können Sie einfach laden, indem Sie statt Prelude den<br />
Namen des jeweiligen Moduls als Parameter übergeben. Sie finden die<br />
Original-Module im Verzeichnis nwm. In dieses kopieren Sie auch die im<br />
Internet erhältlichen Erweiterungspacks, um sie den Spielern zur Verfügung<br />
zu stellen.