Full-featured Trackmania2 Stadium Server hosten

TrackMania2 Stadium

Falls ihr TrackMania nicht kennt und ihr (Arcade-) Rennspiele mit anspornendem Multiplayer gern habt, solltet ihr euch dieses Spiel unbedingt anschauen. Das Prinzip ist simpel: Eine Strecke wird eine bestimmte Zeit lang gespielt, z.B. 5 Minuten und während dieser Zeit könnt ihr so oft ihr wollt fahren (natürlich auch jederzeit neu starten) und damit eure Zeit verbessern. Wer nach diesen 5 Minuten die beste Zeit gefahren hat gewinnt. Dank guter Fahrphysik und extrem abwechslungsreichen Strecken mit allen erdenklicher Streckenteile wie Loopings, Wallrides, verrückten Sprüngen, etc (es gibt natürlich auch Strecken ohne diese Dinge) macht dieses Spiel auch lange Zeit viel Spass. Ein super Bonus-feature: Ihr könnt auch mit dem eingebauten Map-Editor eure eigenen Strecken bauen.

Was ist mit „Full-featured“ gemeint?

Wer schon mal Trackmania gespielt hat, der weiß wie das Interface normal ausschaut (Singleplayer). Spielt man aber online ändert sich das ganze, die meisten Server haben diverse Plugins für den Dedicated-Server um das Spiel spannender zu machen. So werden oft die „Local Records“ und die aktuelle Plazierung auf der rechten und die „Dedimania Records“ auf der linken Seite angezeigt. Dadurch sieht man sofort beim fahren wie gut man abschließen muss um einen Platz in den Records bekommt oder wie gut momentan die anderen sind. Aber auch Dinge wie „wer war an welchem Checkpoint der schnellste“ oder wie gut ist die aktuelle Strecke bewertet finden sich auf dem HUD.

tm2

Alles in allem verbessern diese Plugins den Spiel-spass und den ganzen Ablauf online um einiges. All dies wollen wir auf unserem Server auch haben.

Der eigene Server

Voraussetzungen

Folgende Dinge werden benötigt:

  1. Ein eigener Server, vorzugsweise ein Root-Server im Rechenzentrum der Wahl. Alternativ geht auch ein V-Server oder ein alter PC zu-hause (allerdings sind dann ein schnelles Internet und wissen über NAT für den Router Pflicht)
  2. Linux (Für mein Tutorial, läuft im Prinzip aber auch auf Windows)
  3. Das Spiel also einen Key für Trackmania und den damit verbundenen Trackmania Account
  4. Einiges an Zeit

 Die Grund-Installation

#1 Einen Dedicated-Server-Account erstellen

Auf ManiaPlanet einloggen und dort eine neuen Dedicated Account erstellen. Einfach einen neuen Login aussuchen (ist später nur ganz klein im Detailfenster zu sehen, also im Prinzip frei wählbar), ein Passwort vergeben (Achtung: Merken, das brauchen wir später!) und als letztes noch den Standort des Servers aussuchen (nach diesem kann im Spiel gefiltert werden)

#2 (Optional) Einen neuen Linux-User für TM2 erzeugen und zum neu erstellen User wechseln

sudo adduser tm2
sudo su tm

#2 Dedicated-Server herunterladen

cd ~ #oder in das gewünschte Verzeichnis wechseln
mkdir tm2-dedi
wget http://files.maniaplanet.com/ManiaPlanet3Beta/ManiaPlanetBetaServer_latest.zip
unzip ManiaPlanetBetaServer_latest.zip

Alternativ kann auch das Ubuntu Repository genutzt werden (natürlich nur unter Ubuntu)

#3 Serverkonfiguration

mv UserData/Config/dedicated_cfg.default.txt UserData/Config/dedicated_cfg.txt
nano UserData/Config/dedicated_cfg.txt

Folgende Dinge müssen verändert werden:

#3.1 Ein neues SuperAdmin Passwort vergeben:

<level>
     <name>SuperAdmin</name>
     <password>DasNeueSuperAdminPasswort</password>
</level>
<level>
     <name>Admin</name>
     <password>DasNeuePasswort</password>
</level>
<level>
     <name>User</name>
     <password>DasNeuePasswort</password>
</level>

#3.2 Den Dedicated-Login eingeben:

<masterserver_account>
     <login>dedicatedLogin</login>
     <password>dedicatedPasswort</password>
     <validation_key>VALIDATIONKEY</validation_key>
</masterserver_account>

#3.3 Den Servernamen vergeben:

<server_options>
     <name>ServerName</name>
<comment>Kommentar für den Server</comment>

#3.4 Environment einstellen:

<title>TMStadium</title>

Achtung: In nano können Änderungen mit Strg+O gespeichert werden und der Editor wird anschließend mit Strg+X wieder geschlossen.

#4 Startscript bearbeiten:

nano RunSrvTM.sh

./ManiaPlanetServer /title=TMStadium /game_settings=MatchSettings/TMStadiumA.txt /dedicated_cfg=dedicated_cfg.txt

 XAseco

Für Trackmania gibt es eine ganze Liste verschiedener Pluginsystem. Recht bekannt und auch schon oft genutzt im alten TrackMania ist XAseco2.

#1 Download

Einfach die aktuellste Version von der XAseco Website herunterladen (Zum Zeitpunkt dieses Blogeintrags war dies Version 1.03).

#2 MySQL

Jetzt wirds ein wenig komplizierter, denn alle Daten von XAseco werden in einer MySQL Datenbank gespeichert (Records, Votes, etc). Also müssen wir zuerst eine MySQL Datenbank installieren (einfach #2.1 überspringen, falls schon installiert).

#2.1 Installation

Je nach Linux Distribution ist das ein wenig anders, für Ubuntu/Debian wäre das:

sudo apt-get install mysql-server

Auf ArchLinux wäre dies (Achtung MySQL wurde hier von MariaDB ersetzt, für den Anwender bleibt aber fast alles beim Alten):

sudo pacman -S mariadb

#2.2 Datenbank anlegen

Erst müssen wir uns in der Datenbank einloggen:

mysql -u root -p

und einfach das bei der Installation vergebene Passwort eingeben. Dann folgenden Befehl kopieren:

CREATE DATABASE xaseco2;

#2.3 MySQL User anlegen

Nun können wir direkt auch den passenden User erstellen, einfach folgendes kopieren und dabei „meinMysqlPasswort“ auf das gewünschte Passwort verändern!

CREATE USER 'tm2'@'localhost';
SET PASSWORD FOR 'tm2'@'localhost' = password('meinMysqlPasswort');
GRANT all ON xaseco2.* TO 'tm2'@'localhost';

#3 Konfiguration

#3.1 Entpacken

Jetzt kann das unter #1 heruntergeladen Archiv entpackt werden.

unzip xaseco2_103.zip

#3.2 Verschieben der Config-Files bei der Erst-Installation

cd xaseco2/newinstall
mv *.xml ../
mv *.php ../
cd ../

#3.3 Database config

nano localdatabase.xml

Hier muss die Datenbank auf die korrekten Daten von oben geändert werden also ändern wir den folgenden Block:

<mysql_server>localhost</mysql_server>
<mysql_login>tm2</mysql_login>
<mysql_password>meinMysqlPasswort</mysql_password>
<mysql_database>xaseco2</mysql_database>

#3.4 Haupt-Konfiguration

Mit Hilfe dieser Datei können viele Detail-Einstellung vorgenommen werden, welche ich hier überspringe, ich hab einfach die Standard-Einstellungen gewählt. Diese sind im Prinzip auch schon super und müssen nur verändert werden, wenn etwas bestimmtes geändert werden soll.

Folgende Einstellungen müssen allerdings geändert werden:

nano config.xml

Erst vergeben wir Adminrechte, hier können beliebig viele Accounts angegeben werden. Wir benötigen hier die ManiaPlanets Loginnamen nicht die Nicknames!

Achtung: Hier wird der MasterAdmin angegeben, MasterAdmins habe ALLE Rechte auf dem Server! Es wird noch weiter unterschieden in Admins und Operators (siehe unten).

<masteradmins>
    <tmlogin>meinManiaPlanetLoginName</tmlogin>
</masteradmins>

Ganz wichtig ist noch die Servereinstellung, die findet man ganz am Ende der Datei:

<tmserver>
    <login>SuperAdmin</login>
    <password>DasNeueSuperAdminPasswort</password>
    <ip>127.0.0.1</ip>
    <port>5000</port>
    <timeout>180</timeout>
</tmserver>

#3.5 Admins/Operators

Wer möchte kann jetzt noch zusätzliche Admins und Operators festlegen (Optional!). Zusätzlich können auch die Rechte beider Ränge einzel eingestellt werden.

nano adminops.xml
<admins>
    <tmlogin>meinManiaPlanetLoginName</tmlogin>
</admins>

<operators>
    <tmlogin>meinManiaPlanetLoginName</tmlogin>
</operators>

#3.6 Dedimania

Dedimania ist ein Records System das Serverübergreifend funktioniert. Jeder Record der auf dem Server gefahren wird, wird anschließend auf die Dedimania Record Server hochgeladen und ist anschließend auf allen anderen Servern auch zu sehn.

Wer diesen Service nutzen will muss sich erst bei Dedimania anmelden. Einfach den ManiaPlanet Account verknüpfen mit dem auch der Server Login erstellt wurde und anschließend bei „register your dedicated server“ diesen Server Login noch registrieren.

Nach der Registrierung wird ein Dedimaniacode angezeigt, diesen brauchen wir gleich für die Konfigurations-Datei.

vim dedimania.xml

Der Dedimaniacode muss nun zusammen mit dem Dedicated Server login eingetragen werden:

<masterserver_account>
    <login>dedicatedLogin</login>
    <dedimaniacode>000000000</dedimaniacode>
</masterserver_account>

Hinweiß: Es gibt insgesammt 100 Dedimania Records für jede Map. Allerdings können auf einem Server nur die Ränge 1-30 belegt werden. Wer einen Server haben will auf dem alle Spiele die Ränge 1-80 belegen können muss eine einmalige Spende von 10 Euro an die Gründer von Dedimania einreichen. Dies wird damit begründet, dass die benötigten Server für den Dedimania Service auch bezahlt werden müssen. Die Website zum Spenden könnt ihr hier finden, denkt daran euren Dedicated Login anzugeben.

Die Ränge 80-100 hingegen können ausschließlich von Spielern belegt werden die selbst an Dedimania gespendet haben.

Habt ihr gespendet müsst ihr noch in der dedimania.xml folgenden Eintrag ändern:

<limit_recs>80</limit_recs>

XAseco Plugins

Läuft XAseco auf dem Server kann man diesen ganz nach seinen Wünschen konfigurieren indem verschiedene Plugins zusätzlich installiert werden. In der Grundkonfiguration laufen zwar schon alle wichtigen Dinge wie Local Records oder Dedimania Records, jedoch lässt das Interface noch ein wenig zu wünschen übrig. Um ein Gameplay wie auf dem oben dargestellten Bild zu bekommen, müssen noch zusätzliche Plugins wie z.B. EyePiece installiert werden.

#1 EyePiece

EyePiece ist ein Plugin welches eine schönes und praktisches HUD hinzufügt und alle Records und auch andere Dinge übersichtlich anzeigt.

Einfach über die Website die aktuellste Version herunterladen. Zum Zeitpunkt dieses Tutorials war das die Version 1.0.9.9. Anschließend entpacken, alles in den XAseco Ordner kopieren und in die Plugin-Liste eintragen:

wget http://www.undef.name/.downloads/XAseco2/plugin.records_eyepiece.php-1.0.9.9.zip
unzip plugin.records_eyepiece.php-1.0.9.9.zip
cp -R ./plugin.records_eyepiece.php-1.0.9.9/xaseco2/* ./xaseco2/
nano xaseco2/plugins.xml

Folgendes hinzufügen:

plugin.records_eyepiece.php

#2 TM Karma

Sehr beliebt ist auch TM Karma für Map Ratings. Hier kann jeder Spieler der die Map geschafft hat diese Bewerten mit —, –, -, +, ++ und +++. Dies ermöglicht feinere Abstufungen und gibt der Map ein recht ausgeglichenes und faires Rating.

Auf hier wieder auf die Website und die aktuelle Version (1.0.7) herunterladen.

wget http://www.undef.name/.downloads/XAseco2/plugin.tmkarma.php-1.0.7.zip
unzip plugin.tmkarma.php-1.0.7.zip
cp -R plugin.tmkarma.php-1.0.7/xaseco2/* ./xaseco2/
nano xaseco2/plugins.xml

TM-Karma hinzufügen/Auskommentieren und RASP auskommentieren:

plugin.tm-karma-dot-com.php

Starten!

Fertig! Jetzt muss nur noch der Server gestartet werden:

./XAseco2.sh

Viel Spass beim Spielen! 😉

Server-Manager

Über die Konfig-Dateien können alle Einstellungen des Server angepasst werden. Wer eine einfache und schnelle Bedienung des Server haben möchte, sollte sich unbedingt einen der Web-Server-Manager anschauen. Ich habe mir auf unserem Server noch den offiziellen Dedicated Manager von Nadeo installiert.

Diesen zu installieren ist allerdings wieder eine Sache für sich und würde auch die Ausmaße dieses Blogeintrags sprengen. Vielleicht komm ich später noch dazu ein extra Tutorial für die Installation des Dedicated Manager zu schreiben.