Here you’ll find a step by step guide to install Unreal Tournament 2004 in Linux !

I recently came back to spend some time with my old hobby of making Total Conversion mods and creating game maps, based on my favorite engines, such as Half-Life 2 Source engine and other Quake cousins. This brought me to look for new stuff that I haven’t done before, specially because I have had a hard time trying to run tools such as Hammer Editor in linux, under Wine. This is a tool that’s required for map development and compiling in HL2, if you don’t want to spend ages trying to do it with other tools such as Blender.

That was when Unreal Tournament catched my eye; it did have “that” older release that ran in linux, huh? And it had an installer for it, And, huh, it had modding and mapping and all that, lots of forums and resources. Also, there was the Unreal Engine and all. More important, I owned two legal copies of it: UT2003 and UT2004!!!

First off, I really never have played Unreal. I am more of a HL2 fan, or Quake, because of all the modding and mapping I so much like to do, for Single Player action or RPG. So, I prefer Single Player, with a storyline and some puzzles. A FPS which only objective seems to be that of running around a series of rooms, caves or streets,  shooting everyone you can find with the only purpose of killing rather than be killed, doesn’t really tickle my fancy. Unreal is a Tournament, though, so it’s more like a sport, the game objective is the killing and survival, right? Like a real life paintball tournament, huh?

I appreciate the entertainment benefits of it, though. Or, even, the terapeutical effects of shooting people or entities in a virtual setting, instead of climbing up to a real building, or tower, carrying a deadly sniper rifle aimed at anyone that walks down the street below, mentally scoring points while stealthily gunning down ladies, children and other passers by. Those have real families, real blood and real hearts that stop pumping. No “back to beginning” there, huh? No “spawning” of the same old characters that you already shot, after the whole thing is over. No story, too, in both scenarios, virtual or real. Only, one scenario could be seen as a “sport”, almost like paintball, and the other… well, real blood sports aren’t that welcome anymore, are they? :) But games are, and games have a place, albeit its violence and gore.

So, the aspects that interest me in a game, are the production, the art, the cinematics, the story, the music, and so on. And, of course, the action and the ability to be part of it. HL2 has lots of it and a story, so I liked it.

Myst, one of my all time favorites, had a lot of what I liked – lest the action and the adrenaline. It was a bit, err, slow, now I say. (BTW, I found a rather Myst’y mod for HL2, “Dear Esther” – definitely looks inspired in the old Myst game, so many are the similarities… it’s very good, though, and a proof that FPS engines can be made to produce some excellent literary experiences, when you put effort and skill to it)

But still, it’s also the story that interests me, and Unreal doesn’t seem to have much of one. In single player mode, the AI, which I reckon to be much better now than in former editions, seemed to be a little too sloppy or, au contraire, very efficient at grinding me before I even had a chance to aim the gun or walk.

Doom, way back when it seemed to be the only 3D shooter game that worked in Linux, fascinated me, but it left me wanting for more. Then, Half-Life came, and finally I knew what type of game I was interested in – so much so that I even intalled Windows in a partition of my Slakware machine so I could run it!  That was back in 98, I guess. When HL2 and it’s sequels came to be, I installed then straight in Linux, with Wine and a lot of tweaking and library compiling. But it worked, eventually, and in some cases it was even better than the ones running in Windows, also given the fact that I could run them in lower end machines than the ones required for the other, commercial OS.

Linux is now my OS of choice for the simple reason that I can run a decent distro, complete with productivity and development tools, in my old, lower- end computers, and I do not have to spend a fortune doing so. So, with linux, I can work, have quality, speed, and lots of tools… but when it comes to developing games (mods, maps…), most tools will not work in a linux box or, even when ran with Wine, they will work very badly. That is specially true because I have a machine which specs are very low when compared with the usual stuff available nowadays.

What brought my attention to Unreal, was the fact that Epic had released Linux versions for it, some time in the past, which is very rare in commercial game titles, and that their latest release, which does not “support” Linux, by the way, is distributed with a bounty of excellent game developing tools. Unfortunately, any of those tools will work in Windows – not in Linux.

There are several games based on the latest Unreal Engine that do have stories and good single player lines, though, and that interested me when I read about it. I’m talking about titles like Mass Effect, The Last Remnant, and Harry Potter and the Philosopher’s Stone.

That made me wonder if I could do something with the engine and the tools I already owned. Knowing I would not be able to benefit from all that bounty of new stuff the latest Unreal Engine could give me, I still felt drawn to the challenge. It’s a hobby, after all, and my objective was not to make “money” off of it, at least not in a professional manner. So what was there to loose? I was frustrated with the Steam SDK and the stupid Hammer that actually hammered my machine down when ran in a Sun Virtualbox with my only, and legal :) , copy of Windows XP Pro. It ran (almost) perfectly under Wine in the same machine, except for the annoying black window effect that drove me desperate when I was editing maps…!!

Before installing Unreal, though, I went through some googled pages about it, trying to decide which of the two versions I owned would be better for my objectives, and I was totally appalled at what I found: it seemed that the damned linux-installer did not work out of the box, after all!!  And, to add insult to injury, Epic did NOT officially support Linux, although it shipped those installers and patches for it.

That was when I found Maya 7.0PLE (PLE stands for Personal Learning Edition, or something like that) on CD 3 of Unreal Tournament 2003 and my curiosity finally vanquished my hesitations. Possibly, this was a true “cousin” of the same Maya software that is used in REAl big screen movies! :D

I was decided. I would start with the 2003 version and would try the famous Maya software, finally!

The nightmare that ensued may come to be described in another article here, for I actually managed to resolve many of the problems I faced with the process. It required a lot of hacking, learning and tweaking just to get the *mghhnnhgh* installer to run, in the first place, and then some more until I finally gave up with an unresolved checksum error right in the begining.

Frustrated in my original intent, I just copied the Extras/ folder from the CD 3 of UT2003, which contained the Maya installation software package, to my hard drive, and put it aside for now. I’ll try it later, running it under the ever helpful Wine, which Is Not an Emulator :)

Now, I went for the UT2004 CDs. Five, and two “Play Disks” so you could install it in two machines and play it at home with someone else, on a local network and server. Cool.

Well, I don’t like the “cd-in-the-drive-or-no-play” thing at all, because I feel that it’s stupid. But, as a professional developer, I understand and subscribe to the concern and the need to protect the developer’s investment and author’s rights, so there you go. I suspected I would not need those “suplemental” CDs in linux, though :)

Already tired from the UT2003 installation attempt, but now more knowleable of the first steps, I did not waist anytime trying to get it to work out of the box. I already knew it wouldn’t, probably for the same reasons UT2003 didn’t, so I followed the same steps I had already learned from the former attempt.

Then, just not to change, it crashed right in the begining and I feared a new predicament. However, this time I knew what to do and what to look for, and the result is my little guide, further down in this article, that explains how to set it up,

If you really are up to it, you do like your old UT so much that you think it deserves a second run, and you have a machine running Ubuntu 9.10 (Karmic Koala), go ahead and try my guide below. In further edits of this article, I will add to it so that I explore different paths and methods of installation. Also, I’ll give here a reccount of my further experiments with the Unreal Engine and mod and map creation for it. I will try all the tools and document it. And I will do it in Linux, as much as possible. I am stubborn :)

Prerequisites:

- I assume you OWN a legal copy of UT2004 and you have a valid CD key for it :)

- This howto is for Ubuntu 9.10 (karmic koala); I expect it to be valid for former versions or for Debian distros, however.
(It does not cover other linux distros like fedora, gentoo etc, though gnome desktop installations may seem very similar)

- Because my architecture is i386, I focus on explaining how to install libs for it. It can be adapted to AMD 64s, with some little tweaks, so beware of that.

- I also assume you are using Gnome Desktop, but it will work very similarly with KDE or other desktop or window managers.

- And, of course, this is to provide a supposedly “easier” way to do this, so there’s a lot of point and clicking, using gnome or kde desktop window stuff. If you really care to have it all done in the command line, ask me and I may prepare a how-to for it, as well. But, make no mistake: you will be required to type in some commands, anyway…

Game prerequistes can be found here:

http://www.unrealtournament2003.com/ut2004/specs.html

In the site, the specs mentioned there are for Windows, obviously, but what’s relevant for linux installations is:

- Processor: Pentium III or AMD Athlon 1.0 GHz processor or faster (1.5 GHz or faster processor recommended)
- Memory: 128 MB RAM minimum (256 MB recommended); if you’re running Karmic, I expect you have more memory, anyway
- Hard Disk Space: 5.5 GB free (I recommend more, mine ate up about 8 GB…)
- Video: Any video card(NVIDIA GeForce 2 or ATI Radeon with at least 64 megs of video memory recommended), OpenGL compatible
- Sound: OpenAL compatible sound card.
- Multiplayer: Internet (TCP/IP) and LAN (TCP/IP)play supported | 33.6K baud modem or broadband Internet connection recommended

As you can see by the specs, this game is a serious candidate to run in your Linux installation that resides in an old or lower end computer you may have hanging at home :)

Let’s start the installation process, then…

Prepare for it:

ut2004 needs libstdc++5, libSDL-1.2.so.0 and openal.so. Karmic does not ship with libstdc++5, which causes some compatibility problems with some older software. As for libSDL and OpenAL, the linux-installer.sh from the cd distribution will ask you if you want a local copy of the sources, but still, that you could find with Synaptic. In any case, I recommend that you let the installer copy those files locally, anyway.

Also, the linux installer that comes with the distribution CDs (CD nr 1), does not just work off the cdrom itself, so you must copy it to your local drive and run it from there.

It is a compiled installer (if you try to open it in an editor like gedit, it will hang or be all garbled) and it was done so against older libs, so you may experience some compatibility problems running it right away. In Step 4 I will show how to make it work, though.

Here are the preparation steps:

Step 0. Check if you have already installed libstdc++5 in you system :)

First, run the updatedb utility to scan your system and create an “index” of files in it. Open a terminal and typs:

sudo updatedb

… and wait until its finished (it goes back to the prompt). Then:

locate libstdc++.so.5

If it returns something like

/usr/lib/libstdc++.so.5
 /usr/lib/libstdc++.so.5.0.7

… it’s because you have it already, so SKIP Step 1. Otherwise, just go ahead and follow through :)

Step 1. Install libstdc++5 from an older repo from canonical:

- The simpler way, using a browser and gnome:
Download the debian package from

http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb

or, if you have an AMD 64 system architecture,

http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb

Then, just double click its icon, which will open the package manager, and install it (you will need to be root or authenticate by entering your password)

Step 2. Make sure you have libSDL-1.2 and OpenAL installed:

- for libSDL, open a terminal and type:

locate libSDL-1.2.so.0

If you see something like this:

/usr/lib/libSDL-1.2.so.0
 /usr/lib/libSDL-1.2.so.0.11.2

…then you are set. If not, open Synaptic, search for libSDL-1.2 and install it from there.

- for OpenAL, we can do the same, opening a terminal:

locate libopenal

Again, if you see this or similar:

/usr/lib/libopenal.so.1
 /usr/lib/libopenal.so.1.8.466

… you are ok. If not, look for it in Synaptic, searching for libopenal or, simply, OpenAL.

Step 3. Copy the installer to your machine and prepare it to run:

Note: don’t close your terminal, just yet ;)

Insert CD nr. 1 of the game set, open it to browse files and simply copy (right-mouse click, copy) linux-installer.sh to your desktop (right-mouse click, paste);

Now you have to make it executable, so you can do it by setting its permissions to allow execution (right-mouse click, properties, Permissions tab, check the “Allow executing file as program” box)

If this doesn’t work, just open a terminal (or go back to it) and type:

cd ~/Desktop
sudo chmod a+x linux-installer.sh

Step 4. Launch the installer, in your terminal (don’t double click it!)

Type, in the terminal:

cd ~/Desktop

Because of compatibility problems, you need to run it from the command line with some settings, like this:

sudo _POSIX2_VERSION=199209 linux32 sh ./linux-installer.sh

This installer will run in the terminal window. It is graphics based, the old way, so don’t be too surprised :)

Step 5. Follow instructions:

Accept the Terms blarb and read the readme file if you want to. Be prepared to enter your CD key, by now.

It will eventually ask you if you want to install the sources for Open AL and LibSDL. You may want to say “yes”, if you doubt you have it or if you aren’t sure you don’t need it.

The base install is mandatory, of course, and it’s checked by default.

Just accept defaults for directories, when prompted, and when it asks you to create shortcuts, type in the box:

~/Desktop/

or

/home/[yourusername]/Desktop/

This will let the installer create a shortcut to the game directories right on your desktop. Also, let it create a menu entry, which will ease up the use within gnome. It usually places this entry under “Other”, in the “Applications” menu.

When prompted to change CDs, just go to the desktop icon of the mounted Unreal cd, right-click it, and select “eject”. This action will unmount the cd, open the tray and allow you to put the new, requested CD in. Wait until its icon shows on the desktop, then go back to the installer and select (with the arrow keys or tab) the option “retry”, and press enter. The installer will proceed with the new CD.

All the rest of the installation should occur with no problems.

Note, the last CD it will ask for, after CD 5, will be CD 1.

When it finishes installing, it may show an error about permissions that you may ignore. If all goes well, it will now ask you if you want to start right away. That’s good news :)

Launching the game from the Main Menu, should work now. Look for the game in the Applications menu, under “Other”, as mentioned before.

Step 6. Apply recommended vendor patches for linux:

Get them at

http://www.unrealtournament2003.com/ut2004/downloads.html

This seems to be optional for the game to run; I haven’t applied the patch yet, and level 3 seemed a bit choppy, slow even, but I don’t have the slightest idea if that’s related. Since I did not look into it, yet, I really don’t know what those patches are about or if they are supposed to improve anything at all. The “choppyness” could be due to other issues in my machine, such as sound or video card, so for now I really don’t know. But still, it is always recommended to apply vendor patches, regardless of what software we are talking about.

Go for it, if you are brave enough. In the future, I may write a how-to for those patches as well… but not today, not today. :D

..

So we’re done. This was just the First Phase, as I call it. Now, my next challenge is to make some maps, then mods – and make those work and deploy to others. It just may “spawn” some more articles about the subject, wha’ddya say, huh?

Ah, and the “play disks” that are supposed to be on the drive to run UT? Not needed in Linux, as expected ;)

Cheers to y’all and happy Unreality!!!