20.07.2012 Aufrufe

Das STRATO Serverbuch

Das STRATO Serverbuch

Das STRATO Serverbuch

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!