ut99server: Unreal Tournament 99 Linux Server Manager
Contents [hide]
About ut99server
ut99server is a command line tool for quick, simple deployment and management of an Unreal Tournament 99 Linux dedicated server.
Current Version: 310813
Main features
- Server installer
- Start/Stop/Restart server
- Server monitor (including email notification)
- Map compression for fast map downloads (RedirectToURL=)
Compatibility
The Linux Server Manager is tested to work on the following Linux systems.
- Debian based distros (Ubuntu, Mint etc.)
- Redhat based distros (CentOS, Fedora etc.)
The scripts are written in BASH and Python and would probably work with other distros.
Installation
The installer will automatically download and configure a Unreal Tournament 99 server including enabling the web interface.
Prerequisites
Before installing, please ensure you have all the dependencies required to run the script.
Debian/Ubuntu
Debian/Ubuntu 32-bit
apt-get -y install wget curl tar mailutils unzip nano screen
Debian 6/Ubuntu 64-bit
apt-get -y install wget curl tar mailutils unzip nano screen ia32-libs-gtk
Debian 7 64-bit
dpkg --add-architecture i386
apt-get update
apt-get -y install wget curl tar mailutils unzip nano screen ia32-libs-gtk
Red Hat 6/CentOS 6
Red Hat 6/CentOS 6 32-bit
yum -y install wget curl tar mailx unzip nano screen
Red Hat 6/CentOS 6 64-bit
yum -y install wget curl tar mailx unzip nano screen glibc.i686 libstdc++.i686
Install
1. Create a user and login
adduser ut99server
passwd ut99server
su - ut99server
2. Download the script
wget https://raw.github.com/dgibbs64/linuxgameservers/master/UnrealTournament99/ut99server
3. Make it executable
chmod +x ut99server
4. Run the installer and follow the instructions
./ut99server install
Usage
Running the server
Start the server
./ut99server start
Stop the server
./ut99server stop
Restart the server
./ut99server restart
Webadmin
You can access the Webadmin to make game configuration changes to the server.
http://localhost:8075
Map Compression
Map Compression allows you to compress maps for url redirection.
./ut2k4server map-compressor
Monitoring the server
The script can monitor the server to ensure it is online. Should the server go offline, the monitor will attempt to start it again.
./ut99server monitor
Note: see Automation on how to get monitor to run automatically.
Email notification
Monitoring can send you an email, should the server go offline, and report details of the issue. See example email below:
Enable email notification
nano ut99server
# Notification Email # (on|off) emailnotification="on" email="email@example.com"
Test email notification
You can test email notifications are working without restarting the server.
./ut99server email-test
Debug mode
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.
./ut2k4server debug
Server Details
If you need to get all main server details you can use the following command.
You will be given the following details if applicable to your server:
- Server Name
- Server Ports
- Rcon Password
- WebAdmin Username
- WebAdmin Password
This can be very useful if you have forgotten your servers details.
Automation
You can use cronjobs to automate the process monitoring the server. You can either run the cronjob as root or as the ut99server user.
Monitor
Root Cronjob
crontab -e
*/5 * * * * su - ut99server -c '/home/ut99server/ut99server monitor' > /dev/null 2>&1
ut99server Cronjob
crontab -e
*/5 * * * * /home/ut99server/ut99server monitor > /dev/null 2>&1
Configuration
Start parameters
If you need to adjust the start parameters you can edit the ‘parms’ variable under ‘Start Vars’ in the script.
parms="server ${defaultmap}.unr ini=${systemdir}/${ini}"
Config File
The server has a default config file that will allow you to edit many different settings.
To find the config file use the details command.
./ut2k4server details
Default Ports
7777 UDP (Game Port) 7778 UDP (Query Port) UDP 7779+ (Used randomly for UdpLink objects) 28900/28902 TCP & UDP (Master Server port) 8077 TCP (WebAdmin Port)
If the Game port is offset from the default 7777, then all of the other ports are offset by the same value. For example, if the Game port is changed to 7778 (+1), then the following ports are used:
7778 UDP (Game Port) 7770 UDP (Query Port) 7780+ UDP (Used randomly for UdpLink objects) 28900/28902 TCP & UDP (Master Server port) 8078 TCP (WebAdmin Port)
This is typically only needed when running multiple servers on one system. It is recommended to leave the ports as they are by default.
In the server’s ut99-server.ini, you can change the following values:
Game Port
Port=7777
WebAdmin Port
ListenPort=8077
The other values should change automatically.
Multiple Servers
It is possible to run multiple server instances.
I recommend repeating the installation however create a second user account and change the default ports.
Running as root
The script will not run as root and will error if you try. This is for security and to stop permissions issues. For example, if you run update as root any changed files are then owned by root. This means the tf2server user will be unable to access the updated files causing the server to fail.
Useful Resources
Here are some useful resources that will help with management and configuration of your server.
Unreal Admin website: http://www.unrealadmin.org
Issues and troubleshooting
If you find a bug or have a suggestion please submit a bug report on GitHub .
https://github.com/dgibbs64/linuxgameservers/issues
If you have a question about the server that is not related to the script please check out Unreal Admin.
If you are having issues getting the script to work you probably haven’t followed the instructions correctly. If you are sure you have then please leave a comment below.
GitHub
This script is developed using GitHub you can view the full project here:
https://github.com/dgibbs64/linuxgameservers
Debug Mode
Use debug mode to help you if you are having issues with the server. Debug outputs what the server is doing directly to your screen allowing you to diagnose any problems.
./ut99server debug
Further notes
This script is free to use and you are welcome to customise and change it. I hope the script makes it easier to manage a Unreal Tournament 2004 server.
Donate
Found my work helpful? Please consider donating to my beer fund so I can enjoy a drink on you. Cheers!
PayPal: me@danielgibbs.co.uk