Basierend auf der Spielmechanik von Total Annihilation, ist BA im Prinzip dasselbe, nur mit einer neuen Spiel-Engine realisiert. Der Techtree ist natürlich auch etwas anders, aber das Gameplay wurde entschieden verbessert. Das Spiel ist ein Mod der Spring-Engine. Diese erlaubt viele Spiele. Ein weiteres Spiel mit der TA-Mechanik ist Tech Annihilation.
c:\Dokumente und Einstellungen\<Benutzername>\Eigene Dokumente\My Games\spring\games
den Balanced Annihilation-Mod speichern. Erst mit diesem hat man auch ein Spiel, aber noch keine Maps.Bearbeiten
→ Preferences
→ neuen Hinzufügen
anklickenunitsync.dll
auswählen.c:\Dokumente und Einstellungen\<Benutzername>\Eigene Dokumente\My Games\spring\
entpacken (es sollte am Ende also einen Order […]\spring\maps
geben). Für Linux sehen die Pfade ähnlich aus: <homefolder>/.spring/[…]
.Werkzeuge
→ Reload maps/games
die Liste der Maps und Spiele aktualisieren.Unter Linux lässt sich das Spiel üblicherweise einfach über die Paketverwaltung installieren. Allerdings kommt es hier oft vor, dass man eine veraltete Version erhält. Es ist daher notwendig, andere Paketquellen hinzuzufügen, wenn man auf dem aktuellen Stand sein will. Wie man das macht, bzw. woher man diese kriegt, steht hier. Wie immer ist es natürlich Geschmacksache, ob man Fremdquellen im eigenen System zulassen will, oder nicht. Danach sollte man über eine Aktualisierung des Systems auch eine neuere Version von Springlobby erhalten.
Alternativ kann man auch Spring selbst im User-Space ablegen, mit der gewünschten Version. Spring kriegt man hier, um genauer zu sein, die portable-Versionen. Springlobby selbst hat ein ähnliches Problem mit veralteten Versionen. Es ist aber nicht so wichtig, dass man davon die neuste Version hat. Bei BA selbst sieht das auch wieder anders aus, aber hier ist es ja ohnehin so, dass das Spiel im User-Space liegt.
Der Lobby-Server ist eine private Instanz des auch offiziell verwendeten Servers »Uberserver«. Die nachfolgende Anleitung bezieht sich auf ein Ubuntu Linux.
*.zip
-File herunterladen (nicht nur die server.py
!) oder mit git clone
aus dem Repo ziehen.sudo apt-get install python3-pip geoip-database python-geoip libgeoip-dev
sudo pip3 install Twisted flask-sqlalchemy pyopenssl service_identity GeoIP
./server.py --latestspringversion 98.0
, oder /home/ba/uberserver/server.py --latestspringversion 103.0
bzw. in unserem Fall über ein Init-Skript oder Systemd. Es gibt aber noch einige andere Start-Optionen, die man festlegen kann. Dazu ein Auszug aus der Help-Rückgabe:
Die Version für --latestspringversion
sollte natürlich ungefähr dem entsprechen, was gerade die tatsächlich aktuelle ist.
Für Multiplayer-Spiele sollte es es für ein bequemes Spiel einen Lobby-Server geben. Andernfalls müsste man das alles händisch einrichten, was viel Arbeit macht. Auf der mobilen Infanterie läuft bereits ein Lobby-Server, siehe auch die Status-Seite. Zum Beitreten benutzt man SpringLobby. Unter Server
→ Verbinden…
kommt man in die Anmeldemaske. Dort muss die Server-Adresse der mobilen Infanterie (www.mobile-infanterie.de
) bzw. 192.168.0.1
angegeben werden. Port ist der Standard-Port 8200
, da muss man nichts extra angeben. Bei erstmaliger Anmeldung ist die Erstellung eines Accounts notwendig, den man sich ohne Angabe weiterer persönlicher Daten anlegen lassen kann (Reiter Registrieren
). Ab da an kann man sich mit den angegebenen Zugangsdaten auf dem Lobby-Server anmelden (Reiter Anmelden
). Via Battle-Room
kann man dann Server erstellen oder in Battlelist
einem Server beitreten. Es kann nützlich sein, beim Hosten von Servern die Option Hole Punching
im Kasten NAT traversal
zu aktivieren, wenn man keine Port-Freigaben im Router setzen kann oder möchte. Wichtig für die Erstellung von Spielen ist ganz allgemein, dass man keine zwei Spieler ins selbe Team setzt. Anders sieht das beim Bündnis aus. Wollen zwei oder mehr Spieler zusammen gegen eine andere Gruppe spielen, sind sie in einem Bündnis, nicht in einem Team. Setzt man zwei Spieler oder mehr (oder auch Bots) in ein Team, startet das Spiel nicht richtig.
Im Prinzip hat man eine gewisse Auswahl unterschiedlicher KIs, die unterschiedliche Spielweisen an den Tag legen. Aber nicht alle Bots sind auch für BA brauchbar. Manche tun einfach gar nichts, andere lassen Spring abstürzen. Hier also mal eine kurze Übersicht über die verfügbaren Bots:
(Letzte KI-Tests mit Spring 100.00 und BA 9.07.)
Da für Windows i. A. ohnehin schon kompilierte Binaries angeboten werden, hier nur ein kurzer Abriss, wie das unter Ubuntu Linux läuft:
cmake .
konfiguriert das Source-Paket vor, sodass der nachfolgende Schritt auf das eigene System zugeschnitten ablaufen kann. (Hinweis: Es wird CMake 3.1 oder neuer benötigt (SpringLobby Version 0.264))make
führt die eigentliche Kompilierung aus.sudo make install
installiert SpringLobby, braucht daher gewöhntlich root-Rechte. (Das ist ggf. nicht als root notwendig, wenn man mit ccmake .
den Installationspfad ins $home
gelegt hat.)
So oder sehr ähnlich sollte es auch auf allen anderen Linux-Distributionen laufen. Für Ubuntu 17.04 sind folgende Pakete vorher nachzuinstallieren (sofern man sie nicht ohnehin schon auf irgend einem Wege installiert hat): build-essential
, cmake
, libwxgtk3.0-dev
, libcurl4-nss-dev
, zlib1g-dev
, libpng-dev
, libalure-dev
und libboost-all-dev
. In einem knackigen Statement:
sudo apt-get install build-essential cmake libwxgtk3.0-dev libcurl4-nss-dev zlib1g-dev libpng-dev libalure-dev libboost-all-dev
Für andere Versionen von Ubuntu kann es ggf. notwendig sein, andere Versionen der Pakete zu installieren. Auf anderen Distributionen heißen sie ggf. etwas anders, oder sind bereits von Haus aus installiert.