- Server Install linux
- Contents
- Discussion
- Appendage
- Trouble Shooting
- 64 bit Debian Installs
- 64 bit CentOS Installs
- Deploy Unreal Tournament 99 Game Servers
- Compatibility
- Server
- Minimum Recommended Distros
- Other Distros
- Game Server Binary
- Dependencies
- Ubuntu 64-bit
- Debian 64-bit
- CentOS 64-bit
- Gamedig
- Install Dependencies Using LinuxGSM
- user with sudo access
- root user
- Install
- Basic Usage
- All Commands
- Running
- start
- stop
- restart
- console
- Debugging
- Details
- Debug
- Logs
- Backup
- Monitor
- Configure LinuxGSM
- Documentation
- Cronjobs
- Configure LinuxGSM
- Documentation
Server Install linux
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.
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[0]=UTServerAdmin.UTServerAdmin ApplicationPaths[0]=/ServerAdmin Applications[1]=UTServerAdmin.UTImageServer ApplicationPaths[1]=/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:
export UT_DATA_PATH="$MYDIR/ut-server/System/"
Contents
Discussion
—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 ?
Appendage
—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]
change path /home//ut-server2
Trouble Shooting
—lvlint67 05:38, 11 February 2012 -500 (GMT)
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:
64 bit CentOS Installs
On my CentOS machine I got:
“/lib/ld-linux.so.2: bad ELF interpreter:” Error
Deploy Unreal Tournament 99 Game Servers
LinuxGSM is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Compatibility
Unreal Tournament 99 will run on popular distros as long as the minimum requirements are met.
Server
For consistant uptime it is recomended you host a server in a data center. If you dont already have a server, you can rent a dedicated or vitual server from one of our sponsored providers, OVHCloud, Linode, Vultr.
Minimum Recommended Distros
- Ubuntu 16.04 LTS
- Debian 9
- CentOS 7
Other Distros
Although not tested, any distro with tmux => 1.6 and glibc => 2.1 should also be compatible with Unreal Tournament 99 servers. For distros not listed above LinuxGSM does not check dependencies and should be manually checked.
Game Server Binary
Only 32-Bit game server binary is available.
Dependencies
Before installing, you must ensure you have all the dependencies required to run ut99server.
These intructions also cover other RHEL derivatives such as AlmaLinux and Rocky Linux.
Ubuntu 64-bit
Ubuntu = 20.10
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6
Debian 64-bit
Debian = 11
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6
EPEL is required to install some dependencies needed for using LinuxGSM on CentOS.
CentOS 64-bit
yum install curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686
Gamedig
GameDig is a recommended additional module that allows LinuxGSM to gather more info from the game server such as current map and connected players to be displayed in details and in logs. It also replaces the default LinuxGSM query module in monitor. To install GameDig follow the steps in the LinuxGSM documentation.
Install Dependencies Using LinuxGSM
It is possible for LinuxGSM to install dependencies either by having the ut99server user account with sudo access or running the installer as root.
user with sudo access
During the installation if the game server user has sudo permissions LinuxGSM will attempt to install any missing dependencies itself.
root user
if ut99server is already installed run ./ut99server install as root and LinuxGSM will automatically install missing dependencies.
Install
From the command-line do the following. Ensuring you have also installed the required dependencies.
1. Create a user and login.
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh ut99server
Basic Usage
All Commands
Running
start
stop
restart
console
Console allows you to view the live console of a server as it is running and allow you to enter commands; if supported.
Debugging
Details
You can get all important and useful details about the server such as passwords, ports, config files etc.
Debug
Use debug mode to help you if you are having issues with the server. Debug allows you to see the output of the server directly to your terminal allowing you to diagnose any problems the server might be having.
Logs
Server logs are available to monitor and diagnose your server. Script, console and game server (if available) logs are created for the server.
Backup
Backup will allow you to create a complete tar bzip2 archive of the whole server.
Monitor
LinuxGSM can monitor the game server by checking that the proccess is running and querying it. Should the server go offline LinuxGSM can restart the server and send you an alert. You can use cronjobs to setup monitoring.
Configure LinuxGSM
For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.
Documentation
For detailed documentation visit the LinuxGSM docs.
Cronjobs
To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time. You can edit the crontab using the following.
Below are the recommended cron tasks.
*/5 * * * * /home/ut99server/ut99server monitor > /dev/null 2>&1 0 0 * * 0 /home/ut99server/ut99server update-lgsm > /dev/null 2>&1
Configure LinuxGSM
For details on how to alter LinuxGSM settings visit LinuxGSM Config Files page.
Documentation
For detailed documentation visit the LinuxGSM docs.