Raspberry Pi als Server für Multiplayer-Games

© algolonline, 123RF

Feuer frei

Der Raspberry Pi eignet sich hervorragend als preisgünstiger Spiele-Server. Wir zeigen Ihnen, wie Sie ihn für den von Quake inspirierten Ego-Shooter OpenArena einrichten.

README

Mit wenigen Handgriffen rüsten Sie den Raspberry Pi zur Plattform für Multiplayer-Spiele auf. Dabei sorgt der Terminal-Multiplexer Tmux für Übersicht und eine komfortable Steuerung.

Nicht nur für Bastler, auch für Gamer bietet der Raspberry Pi eine interessante Plattform. Sein niedriger Preis, der geringe Stromverbrauch und die vielfältigen Betriebssystem-Optionen machen den Mini-Computer zur ersten Wahl, wenn es darum geht, einen kleinen, leistungsfähigen und effizienten Spiele-Server aufzusetzen. Als Hardwarebasis für die folgenden Beschreibung dient ein Raspberry Pi Modell B mit Raspian "Wheezy" als Betriebssystem.

OpenArena

Bei OpenArena [1] handelt es sich um einen kurzweiligen First-Person-Shooter (FPS), der von der beliebten Quake-Serie inspiriert wurde (Abbildung 1). Erfreulicherweise findet sich in den Raspbian-Repositories bereits ein OpenArena-Paket. Um es einzurichten, öffnen Sie ein Terminal und tippen das folgende Kommando ein:

$ sudo apt-get install openarena-server
Abbildung 1: OpenArena ist wie sein Vorbild Quake ein spannender First-Person-Shooter. (Bild: OpenArena.ws)

Ein weiteres nützliches Werkzeug für den Spiele-Server ist der Terminal-Multiplexer Tmux. Er ermöglicht, mehrere Sitzungen von einem Bildschirm aus zu verwalten. Im Wesentlichen handelt es sich um ein Multitasking-Tool für Terminals: Sie lassen darin von einem Screen aus mehrere Programme laufen, wobei Sie sie nach Belieben in den Hintergrund schicken und wieder aktivieren. Auf dem Spiele-Server erweist sich Tmux dadurch als besonders hilfreich, dass Sie sich immer wieder via SSH damit verbinden und den Server so verwalten können. Auch Tmux richten Sie am einfachsten via Konsole ein:

$ sudo apt-get install tmux

Der Terminal-Multiplexer lässt sich kinderleicht bedienen, sobald Sie sich erst einmal mit seinen Optionen und Befehlen vertraut gemacht haben. Die wichtigsten Kommandos für Tmux finden Sie in der Tabelle "Tmux-Befehle".

Tmux-Befehle

Kommando

Funktion

tmux a

bestehende Sitzung wieder öffnen

[Strg]+[B],[C]

neues Terminal öffnen

[Strg]+[B],[W]

alle offenen Terminals auflisten

[Strg]+[B],[ ][9]

zwischen den Fenstern 0 bis 9 wählen

[Strg]+[B],[D]

Terminalfenster geöffnet lassen, aber aus SSH abmelden

[Strg]+[B],[Umschalt]+[5]

Fenster horizontal in zwei Panels aufteilen

[Strg]+[B],[O]

zwischen den Panels umschalten

[Strg]+[B],[Umschalt]+[6]

aktuelles Fenster beenden

[Strg]+[B],[Umschalt]+[ß]

Hilfe aufrufen

TIPP

Einen ausführlichen Workshop zu Tmux aus unserer Schwesterzeitschrift LinuxUser finden Sie bei Interesse online auf der Website LinuxCommunity.de [5].

OpenArena konfigurieren

Die gut ausgestatteten Debian-Pakete bringen in der Regel auch gleich Skripts zur Konfiguration und zum Starten der enthaltenen Software mit. Das gilt auch für OpenArena, dessen Startup-Skript Sie nach der Installation in /etc/init.d/open-arenaserver finden. Wechseln Sie in dieses Verzeichnis, und deaktivieren Sie es fürs Erste:

$ mv openarena-server disabled_openarena_server

Stattdessen starten Sie für die ersten Versuche den Server besser von Hand aus Tmux heraus. Das gibt Ihnen Gelegenheit, sich mit den Optionen und Kommandos von openarena-server vertraut zu machen [2]. Später können Sie dann das Startup-Skript reaktivieren und gezielt an Ihre Bedürfnisse anpassen. Zunächst einmal stoppen Sie den OpenArena-Server und öffnen seine Konfigurationsdatei mit einem Texteditor (Listing 1).

Listing 1

$ sudo /etc/init.d/openarena-server stop
$ nano /etc/openarena-server/server.cfg

Um die Angelegenheit zu vereinfachen, führt Listing 2 nur die nötigsten Optionen für die Konfigurationsdatei auf, um einen minimalen Capture-the-Flag-Server einzurichten. Bei den mit einem doppelten Schrägstrich beginnenden Zeilen handelt es sich um Kommentare. Weitere Details zu den zahlreichen Konfigurationsoptionen finden Sie auf der Website des Projekts.

Listing 2

sets sv_hostname "[^1RPi ^3OA ^1Cust Maps]"
sets sv_maxclients 8
sets sv_master1 "dpmaster.deathmask.net" // Master-Server
seta sv_pure 1
sets sv_allowdownload 1
sv_dlURL "http://www.Kartenserver.de/"
seta bot_minplayers 2
//=== Voting-Einstellungen
seta g_allowVote "1" // Voting einschalten
seta g_voteNames "/map/map_restart/nextmap/kick/clientkick/shuffle/custom/"
seta g_voteMaps "*"
seta g_maxvotes "4"
// Spieletypen
// 0 = Free For All
// 1 = Tourney
// 3 = Team Deathmatch
// 4 = Capture The Flag
// 5 = One Flag Capture
// 6 = Overload (Obelisk)
// 7 = Harvester
// 8 = Elimination
// 9 = CTF Elimination
// 10 = Last Man Standing
// 11 = Double Domination
// 12 = Domination
seta g_gametype 4
map pul1ctf // Mit dieser Karte beginnen
set g_autonextmap 1

Zeile 1 legt fest, unter welchem Namen der Server im Spiele-Client auftaucht. Das Caret (^) leitet Codes ein, über die Sie die Farbe festlegen, mit der eine Ausgabe im Client erscheint (siehe Tabelle "Farbcodes"). Zeile 2 legt die Gesamtanzahl der Spieler-Slots sowohl für Bots als auch menschliche Spieler fest. In Anbetracht der beschränkten Leistungsfähigkeit des RasPi sollten Sie diese Zahl unter 10 Spielern halten – anderenfalls ruckelt es wahrscheinlich ein bisschen. Die Zeile 4 verhindert, dass die Clients PK3-Dateien vom Server zu laden versuchen, die aus Kompatibilitätsgründen dort nicht vorliegen.

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.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

02/2017
Betriebssysteme

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Postbote

    Der ESP8266 benachrichtigt bei sporadischen Ereignissen per Mail. Wir zeigen, wie das geht.

  • Das kleine Schwarze

    Kann ein 9-Dollar-Computer ein Fehlkauf sein? Der Chip von Next Thing demonstriert, dass es sich dabei durchaus nicht um eine rhetorische Frage handelt.

  • Turbo mit Bremse

    Der Odroid-XU4 bietet mit Gigabit-Ethernet und USB 3.0 das, was dem Raspberry Pi zum perfekten Mini-Server fehlt. Im Praxistest kann er jedoch nur bedingt überzeugen.

  • Raspi to go

    Ob Navigationsgerät oder Flugzeugscanner: Der RasPi bildet das Herz vieler Projekte. Mit einer geeigneten Tastatur und einem einfachen Monitor ausgestattet, eignet er sich auch für Aufgaben im Freien.

  • Transceiver

    Mit dem SPI-Funkmodul RFM69 und einem geeigneten Treiber lassen sich Daten abseits von WLAN und Bluetooth zwischen RasPis austauschen. Das einfache und robuste Verfahren eignet sich besonders für die Heimautomation.

  • Abgespeichert

    Auf einer Reise läuft man immer Gefahr, dass die Kamera abhanden kommt. Daher sollte man tunlichst seine Schnappschüsse auch unterwegs sichern. Der Fototank erledigt das – und präsentiert die Bilder in der erweiterten Version nun auch per Webserver.

  • Gut bedient

    Der Raspberry Pi dient oft als Smart-TV-Upgrade für "dumme" Flachbildfernseher. Mit dem TVButler fügen Sie noch ein TV-Modul samt Videorekorder und Streaming-Option hinzu.

  • Unversperrt

    Ein NAS-System muss nicht groß, schwer und teuer ausfallen. Als günstige Alternative für den Eigenbau bietet sich ein Raspberry Pi mit OpenMediaVault an.

  • Solydes Handwerk

    Es muss nicht immer Raspbian sein: Das von der Linux Mint Debian Edition abgeleitete SolydX RPI macht Lust auf Desktop mit dem Raspberry Pi.