UFO2000 kompilieren unter Ubuntu 14.04


Hauptseite « Old-Games « X-COM « UFO2000 kompilieren


Letzte Änderung: 2015-07-26

UFO2000 ist praktisch X-COM - Ufo defense Mensch gegen Mensch. Es ist Open Source, abgesehen von den Medien-Daten, wie Maps, Bitmaps und Sounds. Es läuft aber auch vollkommen ohne die Original-Files. Wie man UFO2000 unter Ubuntu 14.04 kompiliert, das wird hier erklärt.

  1. Benötigte Libraries und Programme
  2. Server und Spiel Kompilieren
  3. Kurzfassung
  4. Benutzung

Die wichtigsten Dinge habe ich auch mal in einem kleinen Video für Ubuntu zusammengepackt. Damit sollte es relativ einfach sein, das Spiel zum Laufen zu bekommen:

1 Benötigte Libraries und Programme

Um UFO2000 überhaupt kompilieren zu können, benötigt man ein Programm und diverse Libraries. Bevor man die nachstehenden Installationen auf der Konsole ausführt, sollte man ein mal folgende zwei Befehle in dieser Reihenfolge ausführen:

sudo apt-get update
sudo apt-get upgrade

Damit ist die Liste der Pakete aktuell, und die installierten Pakete ebenfalls. Auch empfiehlt es sich, original X-COM zur Hand zu haben, um es später in den Ordner XCOM im UFO2000-Ordner kopieren zu können. Es wird zwar nicht verlangt, gibt einem aber viele Sounds mehr, diverse Maps zusätzlich und auch mehr Einheiten-Skins. Im Prinzip kann man sich auch die Collectors Edition im Netz suchen, wenn man seine Installationsmedien nicht mehr hat. Zum Kompilieren wird grundsätzlich wird Subversion (um die Quelldateien herunterladen zu können) benötigt. Subversion wird wie folgt installiert:

sudo apt-get install subversion

Um das Spiel selbst kompilieren zu können, werden noch folgende Libraries benötigt:

Das alles lässt sich in einem Rutsch installieren:

sudo apt-get install build-essential subversion liballegro4.2-dev libexpat1-dev zlib1g-dev libfreetype6-dev libdumb1-dev libpng12-dev

Zum Spielen werden die ersten beiden libraries nicht unbedingt benötigt, der Rest schon. Zum Kompilieren werden alle Libs verwendet.

Für den Dedicated Server werden benötigt:

Auch hier lässt sich das Ganze kurz und knapp auf ein mal abhandeln mit:

sudo apt-get install build-essential subversion libhawknl-dev libsqlite3-dev

Für den Server allein (z. B. um ihn auf einem Root-Server laufen zu lassen) braucht man nur beiden letzten Libraries, zum Kompilieren alle vier.

↑ Inhaltsverzeichnis

2 Server und Spiel Kompilieren

Zunächst muss man sich erst mal die Quellen aus dem SVN-Repository von UFO 2000 runterladen und ins Quellen-Verzeichnis wechseln:

svn checkout svn://svn.code.sf.net/p/ufo2000/code/trunk ufo2000-code
cd ufo2000-code

(Der Ordner-Name ist im Wesentlichen egal.)

Spiel kompilieren

Von hier aus kann man dann die verschiedenen Kompilier-Befehle absetzen. Das Spiel UFO2000 lässt sich auf zwei verschiedene Arten kompilieren, entweder mit OGG-Musik-Support, oder ohne.

Anschließend sollte man noch, sofern zur Hand, die Original UFO bzw. TFTD-Files in die korrespondierenden Ordner XCOM bzw. TFTD kopieren. Damit hat man erstens mehr Maps zur Auswahl, zweitens das klassische UFO-Menü im Battle-Scape und drittens mehr Sounds im Spiel. Ohne ists ein wenig arg leise, weil nur wenige freie Sounds verwendet werden.

Server kompilieren

Hier ist die Sache relativ banal:

make server

↑ Inhaltsverzeichnis

3 Kurzfassung

Für alle, die nur kurz und knackig die Infos brauchen; es müssen folgende Befehle abgesetzt werden:

  1. Benötigte Pakete installieren:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install build-essential liballegro4.2-dev libexpat1-dev zlib1g-dev libfreetype6-dev libdumb1-dev libpng12-dev libhawknl-dev libsqlite3-dev
  2. Quellen holen:
    svn checkout svn://svn.code.sf.net/p/ufo2000/code/trunk ufo2000-code
  3. Spielkompilat:
    make
  4. Spielkompilat ohne Musik:
    make no_dumbogg=1
  5. Serverkompilat (optional):
    make server

↑ Inhaltsverzeichnis

4 Benutzung

Spiel

Das Spiel lässt sich dann ganz normal über einen Doppelklick auf die ufo2000-binary starten. Es gilt dabei aber etwas zu beachten: Das Spiel legt (zumindest momentan noch) seine Einstellungen, Replays, Soldaten-Files, etc., im Spiel-Verzeichnis ab. D. h., wer das Spiel spielen können will, ohne massive Probleme mit der Benutzbarkeit zu haben, muss auch zwingend Schreibrechte auf das ufo2000-Verzeichnis haben. Es empfiehlt sich auch, in der Konfigurationsdatei ufo2000.ini nachzusehen, welche Einstellungen man noch so setzen kann, weil nicht alle aus dem GUI heraus zugreifbar sind.

Es kann vorkommen, das das eben kompilierte Spiel einfach nicht startet, sondern diese Fehlermeldung raus wirft:

./init-scripts/main.lua:53: attempt to index local `fh' (a nil value) stack traceback:
./init-scripts/main.lua:53: in main chunk

In diesem Fall sollte man prüfen, ob denn der Pfad zum Spiel evtl. problematische Unicode-Zeichen, wie zum Beispiel Umlaute, enthält. Dann findet er die Pfade nämlich nicht.

Wenn man richtig Wert auf Optik legt, kann man für die Binary auch ein Desktop-File anlegen, um das eben kompilierte UFO2000 z. B. auch in den Starter von Gnome integrieren zu können:

[Desktop Entry]
Name=UFO2000
Exec=<Pfadname/zur/ufo2000-Binary>
Type=Application
StartupNotify=true
Path=<Pfad/zum/ufo2000-Ordner>
Icon=<Pfad/zum/ufo2000-Ordner>/Seccast.ico

Dieses File dann z. B. unter dem Namen UFO2000.desktop speichern und ausführbar machen. Dieses File kann im Prinzip irgendwo liegen, allerdings empfiehlt es sich für Ubuntu mit Gnome, es unter ~/.local/share/applications/ abzulegen, da dort auch der Starter nachsucht. Für alle Benutzer ist der Ordner /usr/share/applications/ aber besser geeignet, weil so alle das Symbol finden können. Für diesen Fall aber an die oben genannte Rechte-Vergabe denken.

Server

Den Server kann man dann ganz normal auf der Konsole via ./ufo2000-srv oder mit einem entsprechenden init-Skript starten. Es werden durchaus auch Files angelegt, allerdings ist bei einem Server i. A. keine Benutzung durch verschiedene Benutzer gegeben. Es reicht also aus, wenn der Benutzer, unter dem der Dienst gestartet wird, die Schreibrechte auf das Verzeichnis des Servers hat. Die Einstellmöglichkeiten des Servers sind eher begrenzt und werden in der Konfig-Datei ufo2000-srv.conf vorgenommen. Der Server liefert auch gleich eine Status-Seite mit, unter http://Adresse-des-Rechners:Port-des-Servers. Der Default-Port ist 2000.

↑ Inhaltsverzeichnis


Hauptseite « Old-Games « X-COM « UFO2000 kompilieren

Valid HTML 4.01 Frameset