Aus Raspberry Pi Geek 06/2013

Raspberry Pi als Server für Multiplayer-Games (Seite 2)

Farbcodes

Code

Farbe

^1

Rot

^2

Grün

^3

Gelb

^4

Blau

^5

Zyan

^6

Purpur

^7

Weiß

^8

Orange

Zeile 5 gestattet den Clients, vom Server spezifizierte Dateien herunterzuladen. In unserem Fall weist er sie an, zusätzliche Karten herunterzuladen (siehe auch Kasten “Custom Maps”). Der in Zeile 6 angegebene Webserver stellt den Clients PK3-Kartendateien zum Herunterladen bereit. Je nach Anzahl der zur Verfügung stehenden menschlichen Spieler sorgt Zeile 7 dafür, dass Bots nötigenfalls die Spieleranzahl ergänzen.

Zeile 10 aktiviert das Voting, über das sich die Spieler hinsichtlich verschiedener Aktionen abstimmen können, wie beispielsweise eines Kartenwechsels oder eines Kickings (der Hinauswurf eines schummelnden Spielers). Die entsprechenden Aktionen legt Zeile 11 fest, wobei die entsprechende Zeichenkette stets mit einem Schrägstrich beginnen und auch enden muss. Das Sternchen in Zeile 12 aktiviert alle Möglichkeiten. Die Höchstzahl an Votes, die ein Spieler anfordern darf, legt die Variable g_maxvotes in Zeile 13 fest.

Die Direktive g_gametype in Zeile 28 definiert den vorgegebenen Spieltyp als Capture the Flag. Zeile 30 legt die Karte fest, die der Server beim Start lädt, in diesem Fall pul1ctf. Schließlich sorgt Zeile 31 dafür, dass eine Karte nicht zweimal nacheinander erscheint.

Custom Maps

Zusätzliche Karten, sogenannte Custom Maps [6] verleihen dem Spiel erst die richtige Würze und lassen Routine gar nicht erst aufkommen. Erfreulicherweise bietet die OpenArena-Community zahlreiche qualitativ hochwertige Custom Maps an. Mehr dazu erfahren Sie auf der Projekt-Website und im OpenArena-Wiki [7]. Gerade beim Einsatz eines RasPi als Game-Server bietet es sich schon aus Gründen der Performance an, solche Zusatzkarten von einem externen HTTP-Server zu beziehen.

Wie die meisten Gaming-Communities verfügt auch die OpenArena-Szene über eine lebendige Gemeinde von Entwicklern [8], Kartenzeichnern und Künstlern. Aus deren Zusammenarbeit stammt auch ein Paket komplett freier Maps, das sogenannte OpenArena Community Mappack oder kurz OACMP. Um es nutzen zu können, müssen die Karten sowohl auf dem RasPi-Server als auch auf dem für das Ausliefern vorgesehenen externen Webserver vorliegen. Auf den RasPi laden Sie sie mit folgenden beiden Befehlen:

$ cd ~/.openarena/baseoa
$ wget http://www.onykage.com/files/armageddonman/!oacmp/Version.zip

Die URL für die jeweils neueste Version finden Sie im OpenArena-Wiki auf der OACMP-Seite [9] im Abschnitt Confirmed maps. Nach dem Herunterladen des gut 50 MByte großen Archivs entpacken Sie es im aktuellen Verzeichnis. Auf dem externen Webserver legen Sie im Webroot ein Verzeichnis namens baseoa/ an und kopieren die entpackten Dateien vom RasPi dorthin. Nun sind die neuen Karten einsatzbereit.

Server starten

Nach dem Abschluss der Konfigurationsarbeiten starten Sie Tmux und rufen darin das OpenArena-Server-Programm mit einigen Konfigurationsoptionen auf (Listing 3). Diese beginnen sämtliche mit +set, die wichtigsten sind:

  • +set sv_master1 dpmaster.deathmask.net bewirkt, dass sich der Server beim Master Server anmeldet. Dies sorgt dafür, dass er in den Server-Listen der Clients unter Internet servers erscheint.
  • +exec debian_server.cfg weist den Server an die Konfiguration aus der Konfigurationsdatei debian_server.cfg zu verwenden, die wiederum auf die Datei server.cfg des RasPi verweist.
  • +set dedicated 2 lässt den Server im dedizierten Server-Modus arbeiten.

Weiterführende Informationen zu den Konfigurationsoptionen finden Sie auf der Server-Webseite von OpenArena [3]. Jetzt können Sie den Server entweder weiter interaktiv steuern (Abbildung 2) oder Tmux mit [Strg]+[B],[D] verlassen. Um die Sitzung später wieder aufzunehmen, verwenden Sie das Kommando tmux a.

Abbildung 2: Der laufende OpenArena-Server in Tmux. Wie Sie rechts sehen, bringt er den RasPi keineswegs ins Schwitzen.

Abbildung 2: Der laufende OpenArena-Server in Tmux. Wie Sie rechts sehen, bringt er den RasPi keineswegs ins Schwitzen.

Listing 3

$ tmux
$ cd /usr/lib/ioquake3
$ ./ioq3ded \
  +set com_basegame baseoa \
  +set fs_basepath /usr/lib/openarena-server \
  +set com_homepath .openarena \
  +set com_legacyprotocol 71 \
  +set com_protocol 71 \
  +set sv_master1 dpmaster.deathmask.net \
  +set cl_motd 0 \
  +exec debian_server.cfg \
  +set dedicated 2

OpenArena-Client

Für die Client-Installation laden Sie die neueste Version von OpenArena (zu Redaktionsschluss: OpenArena 0.8.8) über die Download-Seite des Projekts herunter [4]. Dabei handelt es sich um ein rund 400 MByte großes ZIP-Archiv, das Varianten sowohl für Linux als auch für Mac OS X und Windows umfasst.

Unter Linux legen Sie für den Client in Ihrem Home-Verzeichnis ein neues Verzeichnis an, beispielsweise ~/games/OpenArena, kopieren das Archiv dorthin und entpacken es. Anschließend können Sie von dort den OpenArena-Client durch Aufruf des für die verwendete Architektur vorgesehenen Binaries direkt starten, auf einem 64-Bit-System also mit ./openarena.x86_64.

Im Startbildschirm des Clients (Abbildung 3) wählen Sie Setup und passen dort gegebenenfalls die vorgegebenen Einstellungen an Ihr System an. Sobald Sie das erledigt haben, können Sie via Multiplayer nach Ihrem neuen RasPi-Game-Server Ausschau halten und sich mit diesem verbinden.

Abbildung 3: Der Titelbildschirm von OpenArena.

Abbildung 3: Der Titelbildschirm von OpenArena.

Fazit

Mit dem Raspberry Pi steht Ihnen eine preisgünstige und nahezu beliebig anpassbare Plattform für einen Spiele-Server zur Verfügung, auf der neben OpenArena auch viele weitere Multiplayer-Games laufen können. Viel Spaß beim Fraggen! 

Infos

  1. OpenArena-Homepage: http://www.openarena.ws/
  2. Konsolenbefehle für OpenArena: http://openarena.wikia.com/wiki/Command_console
  3. OpenArena-Server: http://openarena.wikia.com/wiki/Servers
  4. OpenArena-Downloads: http://www.openarena.ws/download.php
  5. Tmux-Workshop: Andreas Kneib, “Mehr Fenster”, LU 07/2012, S. 64, http://www.linux-community.de/25962
  6. OpenArena-Karten: http://openarena.wikia.com/wiki/Maps
  7. OpenArena-Wiki: http://openarena.wikia.com/wiki/Main_Page
  8. Entwicklergemeinde rund um OpenArena: http://openarena.ws/page.php?6
  9. OACMP: http://openarena.wikia.com/wiki/OpenArena_Community_Mappack
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben