This guide will show you step by step how to install Unreal Tournament 99 on a Linux box. It will contain information about applying patch 451, because without it, there is no functioning webadmin.
First and foremost, you need to create a regular user. **DO NOT** use ROOT to run the game server!!
First you have to have a user which will run the server. Different Linux distributions each have their own way, but usually, you can do:
This will run a scripts that will ask a few questions, like the password.
Once that is done, login with that user. Easiest way to do this without logging out is to use the su command.
su - [username]
Ok so now that we have our user, we need to change directory to it’s home directory. So lets do that:
# (note: with some distro's this will not work. You'll have to type cd /home/[username] ) cd
Next, we want to download the server, patches and abfackelns Server Utilities (ASU) (file locations may change in the future, which will cause the links not to work anymore. Change as needed):
wget http://ut-files.com/Entire_Server_Download/ut-server-436.tar.gz tar -zxf ut-server-436.tar.gz cd ut-server wget http://www.ut-files.com/Patches/UTPGPatch451LINUX.tar.tar # May be changed to .tar.bz2 by the admins soon tar xfj UTPGPatch451LINUX.tar.tar wget http://ut-files.com/Entire_Server_Download/server_scripts/asu-0.6.tar.gz tar -zxf asu-0.6.tar.gz chmod +x asu.sh cd System ln -s libSDL-1.1.so.0 libSDL-1.2.so.0 cd $HOME/ut-server
Because of some error (as described), map names with ][ in them, like DM-Deck16][, are 0 bytes. So, you have to copy them from some other UT installation. 2399Skillz on the forums said he’ll fix it, so it might be fixed at some point.
The server (at moment of writing) has special net-textures, to reduce the size of the installation. Problems my occur when clients are using the high-res textures (see aforementioned topic). To solve this, copy the normal CD1 textures to the server dir:
# Can also be copied from an UT installation that doesn't have the CD2 textures. cp -v /path/to/cd/System/Textures/* $HOME/ut-server/Textures/
Now we need to run the server utilities:
This should open a texted based menu. Just to get the server started, we’re only going to focus on setting up the startup script. So choose option I.
It will tell you something about running as root or regular user, regardless of what it says. Do not run it as root. It will ask you what user will be running the script, enter the user name of the user you created earlier.
Next it will ask you to enter the IP-address it will listen on. You only need to do this if there are more than one IPs on the server. If in doubt, leave empty.
Next it will ask you what game type you want to run, if you do not see the game type you plan on running, don’t worry. Just select DM for now.
Then it will ask you what map you want to start with. Just choose one of the maps shown. Doesn’t matter, can be changed later.
If you plan to run mutators, then enter them now. Only enter one, then press enter. It’ll keep asking this question till you submit a blank answer. If you don’t want to run any mutators, then just press enter.
Once you are done with that, it should show you the configs/setup you just entered. Review it to make sure it looks right. Then you can exit the script.
The script will have made an ucc.init file. Important to know is, that the path of the server is set in it. So, if you want to move the server to another dir, you have to change that file. The path name is mentioned several times.
[Want to mention that ASU has this ability via the text based editor I mentioned above. Running the utility manager via ./asu.sh then by selecting the option [S] ( Server Info, MOTD and Passwords) it’ll ask you in there what port you want to use for web admin as well as a user name and password. No need in editing the UnrealTournament.ini directly. It will also allow you to change the server name, MOTDS and other information. -Skillz]
Next you want to enable the webadmin. You can do that by opening UnrealTournament.ini, going to the [UWeb.WebServer] section and setting bEnabled=True and choose a port (5080 is standard) (ListenPort line may need to be added):
[UWeb.WebServer] Applications=UTServerAdmin.UTServerAdmin ApplicationPaths=/ServerAdmin Applications=UTServerAdmin.UTImageServer ApplicationPaths=/images DefaultApplication=0 bEnabled=True ListenPort=5080
Also set a password in the UTServerAdmin.UTServerAdmin section (already defined), otherwise people will try to log in with the defaults:
[UTServerAdmin.UTServerAdmin] AdminUsername=admin AdminPassword=mybiggestsecret
When going to the webadmin, be sure to include /ServerAdmin/ in your address bar after the host, because otherwise it will try to redirect you to that, using a HTTP redirect, but that will fail because the server has no idea you’re using an internet hostname and therefore it will redirect you to it’s LAN-IP, which obviously won’t work if the server is not in your LAN. So, go to http://hostname:5080/ServerAdmin/ (Don’t forget trailing slash).
As a security precaution, patch 451 adds brute force protection to the admin login. See the file Releasenotes.htm in the Help dir for more info. In the Engine.Gameinfo section, a few rules should be added/modified (depending on whether they’re already there or not):
[Engine.GameInfo] (snip) ... LoginDelaySeconds=1.000000 MaxLoginAttempts=50 ActionToTake=DO_KickBanPlayer
If all is well, then you can go ahead and skip that step and just start the server using this command.
If you need to stop the server then type this
If you have issues with UT complaining about not being able to find it’s data files (see the Logs dir for the error messages if it won’t start), you need to set the UT_DATA_PATH variable. To do that, I added this line below MYUSER=User.ini in ucc.init:
—Azura 02:23, 25 March 2009 (GMT) Thanks for this tutorial Skillz. It’ll come in handy if I need to get a server running on a dedicated server. Hmmm, have you ever heard of chrooting ? Is this something that should/can be done with a game server ?
—Back4More 01:05, 18 November 2009 +1200 (GMT) if you get the following error: Starting Unreal Tournament: ucc.init ./ucc-bin: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory
then change directory to the /System folder and type the following cmd to link libSDL
ln -s libSDL-1.1.so.0 libSDL-1.2.so.0
To make multiple Servers I use the following . system used CentOS Server 64bit
cp -R ut-server ut-server2 cd ut-server2 cd System
ln -s libSDL-1.1.so.0 libSDL-1.2.so.0
[arrows to navigate] down to port:7777 I use [NexGen] to edit server-name etc.
change to port:6666 then press [esc] > type :wq > [enter]
cd .. ./asu.sh
reconfigure option's 'i' & 'd'
change path /home/<user>/ut-server2
I think that covered it.
64 bit Debian Installs
If you are doing this on a 64 bit Debian based distribution you may get:
Starting Unreal Tournament: ucc.init exec: 88: ./ucc-bin: not found
To resolve this problem run:
apt-get install ia32-libs
On my CentOS machine I got:
“/lib/ld-linux.so.2: bad ELF interpreter:” Error
You may have to run:
yum install ld-linux.so.2 Orignally posted here https://wiki.unrealadmin.org/Server_Install_linux This page is merly a backup