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.

 

Mapping #2

Dank dem Sascha war die CSS-Map de_streetfight schneller fertig als ich erwartet hatte. (siehe alten Eintrag: Mapping – Valve Hammer Editor) – Vielen Dank an dieser Stelle noch einmal für die Hilfe. Es war wirklich lustig mit dir zu mappen! Das werde ich glaub nie vergessen 😉 – Wir hatten beide frei, der Säsch kam mit dem PC zu mir und wir haben 2 Tage lang an dieser Map rumgebastelt. Das Ergebnis ist recht ansehnlich geworden. Leider haben wir etwas mit den Funktionen übertrieben, so kann man jetzt zwar so ziemlich alles und jeden auf der Map verschieben, zerlegen oder bewegen kann, allerdings geht das auch ein wenig auf die Kosten der FPS-Zahl, so kann es manchmal zu FPS-Einbrüchen kommen, die man jedoch spielerisch – zumindest mit einer guten Grafikkarte – nicht bemerken sollte. Ein paar Funktionen konnte ich leider auf Grund der massiv gefallenen FPS-Zahl nicht umsetzten – wie z.B. ein Beamer der live alles aus dem Hof ins Gebäude der CT’s überträgt – aber man kann nicht alles haben. An sich haben wir das Projekt meiner Meinung nach erfolgreich abgeschlossen.

Zuerst einmal ein paar Bilder von der fertigen Version:

(kleine Anmerkung: FPS-Zahlen sind nicht repräsentativ, ich hatte beim Testen Boinc an und somit nur noch beschränkte CPU-Usage für CSS)

So das muss erstmal reichen. Wer mehr sehen will, soll sich die Map einfach selbst anschauen. Diese gibt es natürlich hier für jeden kostenfrei zum Download.

An einer HL2-Portierung habe ich gearbeitet, doch dies ist anscheinend nicht ganz so einfach umzusetzen, da es die ganzen Models und Ressources in HL2 nicht gibt und ich diese irgendwie (am besten in der Map) mitliefern muss. Doch diese sind wahrscheinlich etwas groß. Deswegen muss ich danach irgendwann noch mal schauen.

Des Weiteren kann ich nicht für die Fehlerfreiheit garantieren oder für Abstürze die durch die Map verursacht werden verantwortlich gemacht werden. Bei mir läuft die Map einwandfrei!

Viel Spass beim testen 😉

Mapping – Valve Hammer Editor

Vor einigen Wochen hat mich der Säsch nach dem Valve Hammer Editor gefragt, ich weiß nicht mal mehr genau wieso *g*. Früher (früher = schon ziemlich lange her) habe ich oft mit dem Programm gearbeitet und einige CS 1.5/1.6 Maps erstellt. Inzwischen lassen sich Maps für alle erdenklichen Valve/Source-Games erstellen, wie z.B. HL, CS, CSS, HL2, TF2, etc. Ich habe mir damals den Editor auch wieder installiert – den gibts übrigens kostenlos über das Source SDK, wahrscheinlich aber auch, wie früher, zum normalen Download auf diversen Websiten:

sourcesdk

Vor ein paar Tagen hatte einfach Lust mal wieder ein Map zu erstellen. Nach kurzer Überlegung habe ich beschlossen einen CSS-Remake meiner uralten CS 1.6 Map de_streetfight zu erstellen. Wenn mich jemand fragen würde warum, könnte ich diese Frage nicht einmal richtig beantworten, ich spiele eigentlich kein CSS. Aber ich mochte es schon immer Maps zu erstellen und ab und zu – zumindest wenn irgendwann wieder einmal eine kleine LAN-Party statt findet – wird diese Map wahrscheinlich auch zum Einsatz kommen 😉 . Zudem bin ich gerade am überlegen, ob ich die Map auf HL2 portieren soll (Wenn sie dann mal fertig ist). HL2 finde ich gerade wenn man mit vielen Freunden spielt ganz nett. Da schadet eine neue Map auch nichts, normal sind wir HL1/2 dm_crossfire only Spieler 😛 .

Die Map ist zwar noch lange nicht fertig, aber hier gibts schon mal ein kleines Preview (im Vergleich mit der alten Map)

CS 1.6 Ver. (alt):

de_streetfight1 de_streetfight2

de_streetfight3 de_streetfight4

de_streetfight5 de_streetfight6

Und nun die Bilder aus der neuen CSS/Source Ver. (Natürlich noch lange nicht fertig – nur preview):

de_streetfight1_css de_streetfight2_css

de_streetfight4_css de_streetfight5_css

de_streetfight6_css de_streetfight7_css

An den Bildern sieht man wie weit ich bin, das eine Haus gibts noch nicht, im anderen fehlen die Ausstattung und z.B. die meisten Fenster. Auch die Mitte zwischen den Häusern bekommt noch ein wenig mehr „Pepp“ (vorallem grafisch) wie in der alten Version, obwohl die Minen einen schönen Überraschungseffekt hatten.

Doch in dieser Ansicht sehe ich die Map eher selten. Die für mich wirklich wichtige Ansicht sieht nämlich so aus:

hammer

Ich hoffe, dass ich die Map bald fertig bekomme, dann kann jeder der möchte Testspielen. Vielleicht gibts dann noch einen HL2-Port (aber nur wenn sie gut wird 😛 ). Ich finde es echt erstaunlich wie schnell man Maps für Spiele erstellen kann. Gerade hier bei den Source-Spielen ist es sehr sehr einfach gemacht. Auch einen Mod zu erstellen (z.B. für sins of a solar empire) würde mich reizen. Aber das wäre ein größeres Projekt. Da sind mehr Stunden und am besten auch Leute von nöten… Eigentlich könnte ich jetzt auch wieder mit dem 3D-Modeling anfangen, das fand ich auch schon immer ein nettes Thema. Man lernt immer dazu, wer weiß wann man diese Fähigkeiten mal braucht 😉

Soundtest

Wie schon angekündigt hab ich einen kleinen Soundtest der Creative X-Fi Karte zusammen mit meinem Teufel Concept E gemacht. Das Resultat war einfach nur geil. Leider kann ich das nicht aufnehmen…  Das muss man mal gehört haben. Der Test sah folgender Maßen aus:

Emipre – Total War | Soundeinstellung 5.1 | Seabattle

empire1

empire2

empire3

Es ist ein richtig Erlebnis dieses Spiel zu spielen. Brachiale Donnerschläge wenn die Kanonen feuern, das knirschende Holz der Schiffe, wenn sie sich bewegen und natürlich der geniale surround Effekt wenn einem die Kanonenkugel direkt an der Kamera vorbeifliegt und das Schiff hinter einem trifft… WOW!

Fazit: Need 🙂 ! Hat sich echt gelohnt. So macht spielen gleich viel mehr Spass.

BSG – Freespace 2

BSG hat in mir die Lust geweckt mal wieder eine schicke Weltraumsimulation zu zocken. Da ist mir gleich der BSG-Mod für Freespace eingefallen. Ich bin jetzt letztendlich doch beim Freespace open gelandet, eine weiterentwickelte Version des alten Freespace 2 😉 . Da ich ewig gebraucht hab um das Teil zum laufen zu bringen, dachte ich ich schreibe hier eine kurze deutsche Anleitung für alle, die auch Lust bekommen Freespace 2 mal (wieder) zu spielen.

1. Freespace 2 installieren

Wenn ich das richtig gelesen hab ist es unabdingbar das originale Freespace 2 zu installieren. Ich nehm jetzt als Beispielsinstallationsort C:\Programme\Freespace2 .

2. Freespace open Downloader herunterladen

Es gibt ein Downloader der alle wichtigen Files selbständig herunterläd. Diesen kann man sich hier herunterladen. Dies ist die Java Version (30kb groß). Wer lieber einen Windows-Installer möchte, kann sich natürlich auch diesen laden (ist ab wesentlich größer).

3. Downloader ausführen

Der Downloader ist ziemlich simpel, deswegen werd ich mich hier kurz fassen.

  • – Installer öffnen
  • – Next
  • – Installations-Verzeichnis von FS2 auswählen (C:\Programme\Freespace2)
  • – Next
  • – The Works: Absolutely Everything (Mit Mods + MediaVPs)
  • – Next
  • – warten 🙂 Dauert etwas. Hat bei mir ca 4GB gezogen. Aber es lohnt sich 😉 .

installer

4. Update auf 3.6.10 RC2 herunterladen

Um auch die neuesten Optionen benutzen zu können braucht man die aktuelleVersion der .exe und des Launchers. Zur Zeit (Stand 21.04.2009) ist die Version 3.6.10 RC2 aktuell. Diese Version kann man sich hier herunterladen. Der Download wird entpackt und ins Hauptverzeichnis von FS2 kopiert (C:\Programme\Freespace2).

Nun muss nachgeschaut werden ob der Launcher aktuell ist (zurzeit 5.5d). Also startet man einfach den Launcher (C:\Programme\Freespace2\Launcher.exe):

launcher

Oben steht bei mir nun Launcher 5.5d, sollte hier etwas anderes stehen muss man sich die aktuelle Version hier herunterladen (und ebenfalls ins Hauptverzeichnis von FS2 entpacken, siehe oben).

5. Sprachdatei kopieren

Wer eine deutsche oder zumindest eine nicht englische Version hat, der muss eine Datei ins FS2 Verzeichnis kopieren, sonst startet die neue RC2 nicht. Die Datei kann man sich hier runterladen. Sie wird entpackt und ins Verzeichnis C:\Programme\Freespace2\mediavps\data\tables kopiert. Falls dieser Ordner noch nicht vorhanden ist muss er erstellt werden, sonst startet das Spiel nachher nicht.

6. Launcher konfigurieren

Zuallererst muss man ganz oben rechts auf „Browse“ klicken und die aktuelle .exe-Datei auswählen. In diesem Fall wählt man nun C:\Programme\Freespace2\fs2_open_3_6_10_RC2.exe aus und klickt auf „Open“.

Da das original Spiel schon 1999 entstanden ist, ist die Grafik schon etwas angestaubt, doch es wird nun ständig weiterentwickelt und deswegen gibt es bei diesem Thema abhilfe. Durch eine Mod wird die ganze Grafik ein wenig aufmöbelt. Um diese zu benutzen klickt man im Launcher ersteinmal auf den Reiter „MOD“, dort auf „Select Mod“, wählt das Verzeichnis C:\Programme\Freespace2\mediavps aus und klickt auf OK.

modselect

Nun kann man die Grafikfeatures noch ein wenig aufbesser. Dazu klickt man auf „Features“. Das offizielle Forum empfiehlt folgende Einstellung:

Graphics:

  • – Enable specular
  • – Enable glowmaps
  • – Enable environment maps
  • – Enable normal maps
  • – Enable 3D shockwaves

features

Zusätzlich ist es empfehlenswert die Option „Enable 3d warp“ unter „Gameplay“ auszuwählen (Bei „List type“ „Gameplay“ auswählen und unten bei „Enable 3d warp“ ein Haken setzten).

Dann sollte man folgende Zeile:

-ambient_factor 35 -ogl_spec 20 -spec_exp 15 -spec_point 1.2 -spec_static 1.5 -spec_tube 1.5

in das Feld „Custom flags“ kopieren.

Als letztes sollte man sich noch die Video Optionen anschauen und gegebenenfalls umstellen, dass es z.B. wie bei mir aussieht:

video

Das wars, nun einfach auf „Apply“ und danach auf „Run“ klicken und Spass haben 🙂 . (Ein Joystick ist SEHR zu empfehlen, das macht viel mehr Spass)

Ingame Screenshots gibt hier. Ich wollte selbst welche machen, aber das einzige was ich bekommen hab, war ein schwarzer Bildschirm :-/