en:games:ufo2000

# UFO2000

## Information

Multiplayer Information

• Internet play: yes
• LAN play: yes
• Lobby search: yes
• Direct IP: no
• Play via GameRanger: no
• Coop: no
• Singleplayer campaign: no
• Hotseat: yes

Some of you probably know the old X-COM - Enemy unknown or UFO defense, or its successor, Terror from the Deep or maybe even the remake OpenXcom. Probably one of the hottest developments is UFO2000. I think anyone who has been playing UFO for a while may have been annoyed that they could never play the game in multiplayer. At least as far as the battelscape is concerned, a bunch of resourceful programmers went to work and wrote a one-on-one battlescape for network or hotseat games against each other. The game itself is open source, but the graphics can be taken directly from the original game or its demo (if you already have them, they're not included). Otherwise you still have two maps to choose from, but almost no sounds. The game mechanics of the Battlescape were taken over in UFO2000 largely unchanged, except that you no longer play against the AI, but player vs. player. That looks like this:

The level of play is of course much higher than playing against the AI. On the Mobile Infanterie there is also a UFO2000 dedicated server. The project website is http://ufo2000.sourceforge.net. You can put together your own squads, select maps, save and view replays and a chat function is also built in.

The whole thing can of course be played against each other over the internet (but then it needs a dedicated server, but normally the official server ufo2000.net is running) and there are different maps too! Linux? No problem! It' s also available. In contrast to OpenXcom the game does not depend on the original data. But with the original files there are more maps, units and sounds, which improves the game experience considerably. To get an idea of how the gameplay is like, watch this a video.

So no more excuses for you not knowing how to play it! Another hint for online play: It happens often that nobody is currently on the server. Then don't just run away again, but wait at least a few minutes. I recommend about 30 minutes. Otherwise everyone just looks in for a moment and disappears immediately. You can also switch the game to window mode or full screen mode with F10, so that you're not blocked all the time, but can do something else at the same time.

## Installation

### Windows

The Windows Installer is available at http://ufo2000.sourceforge.net/. The same goes for the sources, although those don't seem to compile in their presented form. If someone wants to try the whole thing under Linux, look at the instruction on how to compile below. It works quite reliably, at least under Ubuntu. If someone still has the game data of the original lying around, he can store it in the folders XCOM or TFTD. This also works with the demo of the respective games! So you have more maps, sounds and races to choose from.

I've recorded here in a video how to install the game under Windows.

### Linux

Unlike Windows, there is currently no installer or package available for Linux. The game must be compiled from the source files themselves. However, this is only slightly more complex than the Windows installation. Using the example of Ubuntu 14.04 x64 briefly described:

#### Required Libraries and Programs

To be able to compile UFO2000 at all, you need one program and various libraries. Before running the following installations on the console, you should execute the following two commands in this order:

1. sudo apt-get update
2. sudo apt-get upgrade

This keeps the list of packages up-to-date, as well as the installed packages. It is also a good idea to have original X-COM at hand so that you can copy it to the XCOM folder in the UFO2000 folder later. It's not required, but it gives you many more sounds, several maps and more unit skins. In principle, you can also search for the Collectors Edition on the net if you no longer have your installation media. For compiling you need Subversion (to download the source files). Subversion is installed as follows:

sudo apt-get install subversion

To compile the game yourself, the following libraries are required:

• build-essential (to be able to compile anything at all)
• subversion (for downloading the code)
• liballegro4.2-dev
• libexpat1-dev
• zlib1g-dev
• libfreetype6-dev
• libdumb1-dev (Optional, enables OGG music playback)
• libpng12-dev (on a freshly installed Ubuntu 14.04 with build essentials usually already installed)

All this can be installed in one step:

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

The first two libraries are not necessary for playing, the rest are. All libs are used for compiling. For the dedicated server are needed:

• build-essential (to compile anything at all)
• subversion (for downloading the code)
• libhawknl-dev (network functionalities)
• libsqlite3-dev (database functionalities for ELO score and user accounts)

Here, too, the whole thing can be dealt with briefly and concisely at once:

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

For the server alone (e.g. to run it on a root server) you need only the last two libraries, for compiling all of them.

#### Compiling Server and Game

First you have to download the sources from the SVN repository of UFO 2000 and change to the source directory:

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

(The folder name doesn't really matter.)

##### Compiling the Game

From here you can execute the different compilation commands. The game UFO2000 can be compiled in two different ways, either with OGG music support, or without.

• make (for ordinary playing)
• make no_dumbogg=1 (for playing without OGG support)

Afterwards you should copy the original UFO or TFTD files into the corresponding folder XCOM or TFTD if you have them at hand. This gives you more maps to choose from, the classic UFO menu in battlescape and more sounds in the game. Without it it's a little bit quiet, because only a few free sounds are used.

##### Compiling the Server

Here the matter is relatively trivial:

• make server

#### Abridged Version

For all those who only need the information briefly and to the point; the following commands must be issued:

1. Install required packages
1. sudo apt-get update
2. sudo apt-get upgrade
3. sudo apt-get install build-essential liballegro4.2-dev libexpat1-dev zlib1g-dev libfreetype6-dev libdumb1-dev libpng12-dev libhawknl-dev libsqlite3-dev
2. Get sources: svn checkout svn://svn.code.sf.net/p/ufo2000/code/trunk ufo2000-code
3. Compiling:
• Game compilation: make
• Compiling without music:: make no_dumbogg=1
• Compiling server (optional): make server

The game can then be started normally by double-clicking on the ufo2000-binary.

#### Problems

However, there is something to consider here: The game saves its settings, replays, soldier files, etc., in the game directory (at least for now). This means that if you want to play the game without having massive problems with usability, you must have write permissions to the ufo2000 directory. It is also recommended to check the configuration file ufo2000.ini to see which other settings can be set, because not all of them are accessible from the GUI.

It may happen that the game just compiled does not start, but throws out this error message:

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

In this case you should check if the path to the game contains any problematic Unicode characters, such as umlauts. Then it will not find the paths.

#### Create Starter

If you really value optics, you can also create a desktop file for the binary in order to integrate the just compiled UFO2000 into the starter of Gnome, for example:

[Desktop Entry]
Name=UFO2000
Exec=<pathname/to/ufo2000-Binary>
Type=Application
StartupNotify=true
Path=<pathname/to/ufo2000-folder>
Icon=<pathname/to/ufo2000-folder>/Seccast.ico


Save this file e.g. under the name UFO2000.desktop and make it executable. This file can be located anywhere, but for Ubuntu with Gnome it is recommended to store it under ~/.local/share/applications/, because the starter is searching there too. For all users the folder /usr/share/applications/ is more suitable, because everyone can find the symbol. <i>But in this case remember the above mentioned rights assignment.</i>

How to compile the game under Ubuntu is described here in my video.

## Network/Internet Server

The Mobile Infanterie has a dedicated UFO2000 server running: www.mobile-infanterie.de, Status, Stats.

If you don't want to use the Hotseat mode (two players on the same PC), you can connect to one of the servers available on the Internet. The default server ufo2000.net should almost always be available. The stats of the server can be found here: http://ufo2000.net/results.php, the status here: http://ufo2000.net:2000/.

If you want to set up a server yourself, you can do this with the included or self compiled server-binary ufo2000-srv.exe or ufo2000-srv. The server can be started on the console via ./ufo2000-srv or with an init script or as a Windows service. Files are also created, but with a server there is usually no need for other users to use them. It is therefore sufficient if the user under which the service is started has write access to the directory of the server. The settings of the server are rather limited and are made in the config file ufo2000-srv.conf. The server also provides a status page under http://your-domain:2000` . The default port is 2000 (TCP). If you choose another port, you have to specify it when connecting to the it via client.