Startseite>Raspberry Pi als Server für Multiplayer-Games
Aus Raspberry Pi Geek 06/2013

Raspberry Pi als Server für Multiplayer-Games

© algolonline, 123RF

Feuer frei

Joseph Guarino

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)

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.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland