While the installation of the Linux binary for the Unreal Tournament 3 Server is dead simple, some very brave game server administrators apparently chose to run the server with root permissions because there’s no useful server start script. This usually is an exceptionally bad idea for everything that opens ports on an Internet server.
Here’s a very simple start script that starts the UT3 server with a different account which you have to create using the groupadd/useradd command. In my case I’m using user game in group game. The script will sudo to this less powerful account and then start a botless deathmatch UT3 server. The server will continue to run after you close your shell. Well, at least until the server crashes, which it does frequently. In its current form the script has to be put into the ut3-dedicated/Binaries directory.
#!/bin/sh SUDO_USER=game MAX_PLAYERS=10 MIN_NET_PLAYERS=2 NUM_PUBLIC_CONNECTIONS=12 NUM_OPEN_PUBLIC_CONNECTIONS=12 GOAL_SCORE=50 TIME_LIMIT=20 PORT=7777 QUERY_PORT=6500 MAP=DM-HeatRay LOG_FILE=/tmp/UT3_server.log SCREEN_FILE=/tmp/UT3_screen.log ADMIN_PASSWORD=<enter admin password> GAMESPY_USER=<enter gamespy username> GAMESPY_PASSWORD=<enter gamespy password> GAME_PASSWORD=<enter game password> SERVER_IP=<enter IP of the bind address, usually your server IP> screen -A -m -d sudo -u $SUDO_USER ./ut3 Server $MAP?GameMode=0?MaxPlayers=$MAX_PLAYERS?MinNetPlayers=$MIN_NET_PLAYERS?GamePassword=$ GAME_PASSWORD?bPlayersMustBeReady=True?bAllowJoinInProgress=True?bAllowInvites=True?BotCount=0?NumPublicConnections=$NUM_PUBLIC _CONNECTIONS?NumOpenPublicConnections=$NUM_OPEN_PUBLIC_CONNECTIONS?GoalScore=$GOAL_SCORE?TimeLimit=$TIME_LIMIT?bShouldAdvertise =True?bUsesStats=True?bIsLanMatch=False?ForceRespawn=1?PureServer=1?bIsDedicated=True?AdminPassword=$ADMIN_PASSWORD -login=$GAM ESPY_USER -password=$GAMESPY_PASSWORD -Port=$PORT -QueryPort=$QUERY_PORT -log=$LOG_FILE -unattended -multihome=$SERVER_IP >> $SCREEN_FILE
At first I was unable to setup the UT3 linux server using the UT3-linux-server-12172007.bin binary. But then I stumbled upon an UT3 mailing list and found a patch that works. The patch can be found here: http://treefort.icculus.org/ut3/ut3-bin-test.tar.bz2
Please be aware that this is a development patch from the UT3 linux server developer and not a final release.
My UT3 server is set up as a private server as there are way too many aimbot-equipped kiddies on public UT3 servers. How can you connect to an unlisted, password-enabled UT3 server?
- Start the UT3 game client in Windows.
- After successfully logging in, press F10. A command prompt should be displayed.
- Enter open 18.104.22.168?password=gamepassword and press <enter>
Replace 22.214.171.124 with the IP address the server is running on and the game password for that server.
- Nice rc.D start/stop script
- Automatically restart the game server after it crashes
- Jail the whole server to its own root directory for security reasons