How To: Setup a UT3 Internet Server
Update 2: It has come to my attention, while trying to play UT3 myself after many years, that the GameSpy aspects of the game no longer function due to the incompetence of IGN and the concept of DRM’d games. There’s a pretty good chance that nothing about setting up a UT3 Server, other than for LAN play, will work anymore since the GameSpy servers have been taken offline. This means no logging into the GameSpy account for you or your server, so no online authentication, leaving only offline play.
Update 1: I have updated the links that were broken, and some formatting & informational changes.
Surprisingly there are no complete blog postings or forum topics that tell you how to set up a UT3 Internet Server from start to finish…so here we go (this guide will primarily focus on a Windows install, but I will include as much info as I can for Linux):
1. Open the ports
To play online, you’ll need not only the the UT3 ports, but also the GameSpy ports. Be sure to open these ports on your network firewall as well as your localhost (Windows Firewall, Linux Firewall, etc.).
- 6500 (Query)
- 6515 (Dplay UDP)
- 7777 (Port for UT3 – default is 7777, you can change in server setup)
- 13000 (Port for UT3)
- 13139 (Custom UDP Pings)
- 27900 (Master Server UDP Heartbeat)
- 3783 (Voice)
- 6667 (IRC)
- 28900 (Master Server List Request)
- 29900 (GP Connection Manager)
- 29901 (GP Search Manager)
2. Dedicated Server Package
3. Install the Server
Once you finish downloading, unzip it to a temporary location. Then run SetupUT3.exe and follow through the install process.
4. The Server’s GameSpy Account
Before you’re able to do anything, you need to load the original game, and create an account that the server will use. Every instance of online UT3 requires a GameSpy account to play.
- Load the game (and log out if automatically logged in)
- Hit Create Profile at the bottom of the login screen
- Type in credentials for your Server’s new account
- Hit Create Profile and then login with those credentials to verify they work.
- Log out of the game
5. The configuration script
I made my configuration script using a tool from other user-generated content websites. However, both websites I used have gone 404, so you’ll have to use the UT3 wiki, or use mine below as a starting point. Once I had my configuration script, I then went to inspect the command line options and customize them according to the wiki.
Here’s a grouped-breakdown of the different options present in the command line string.
- Port: 7777
- Login: <the new account you just created>
- Password: <the password for your new account>
- Server Description: <use this website to create a description>
- Max Players: ## (max on the server)
- Min. Players: ## (min real-players, not bots, before a match begins)
- Number of Bots: ## (number of bots in the game – bots quit as humans join, unless configured to be vs humans)
- **Public Connections: ## (max number of advertised connections)
- **Private Connections: ## (reserve slots for local connections – i.e. you host the internet game on a server in your network, and you’re playing on another computer local to the server)
- **Open Public Connections: ## (max number of public connections)
** These I’m not really sure about the descriptions. “Public Connections” does show max advertised for the server, but not sure about the others)
- Game Mode: <choose your game type>
- Map Name: <be sure to choose an appropriate map for the game type. Find your maps available here in the configuration line for your game mode. I’ll get to that configuration further down.>
- Goal Score: ## <max frags/caps before next map>
- Time Limit: ## <time limit for the map>
- Versus Bots: #.# <here’s where you decide if it will be humans vs bots>
- Bot Skill: ## <1-6 bot skill, 1: Novice – 6: Godlike>
- Force Respawn: <make the user respawn upon death>
- Pure Server: <game mode is forced on all maps, even maps belonging to other game modes>
- Choose the mutators you want for the map
- Allow Join in Progress: <allows people to join mid-game>
- Allow Invites: <allow users to invite others to the game>
- Uses Presence: <tell the Master Server that a user is playing on this server>
- Allow Join via Presence: <allow friends of a user to follow the user currently playing on the server>
- Advertise Server: <show it in the server browser>
- Report Stats
- Is LAN Only: <only a lan server?>
- Is Dedicated: <is it a dedicated server?>
- Game Password: <password to join the server>
- Admin Password: <admin joining password>
Once you’ve decided what you want to use for those settings, check the wiki for their appropriate values and update them in the command line, and you should have something like what you see below. Your command line will be all bunched up into one line, but broken out by “?” it should look something like this (for a Vehicle CTF):
- Note the red line of text: The previously used (but now 404) tools had “NumPublicConnections” twice. You need to change it to “NumPrivateConnections” if that is the case for you – that was an error in the script creator’s website.
- Also note the orange line of text: If you’re not using the default 7777 port number as described above, then change that information here.
- The blue lines of text are the server logins to play the game
- The green lines of text are the GameSpy credentials for your server.
5b. Optional: Map Voting with DefaultGame.ini
If you’d like to allow for map voting, or at least a map rotation, here’s how you’d do that:
- Locate the dedicated server files (e.g. “C:\Program Files\Unreal Tournament 3 (Dedicated)”) and navigate to “.\UTGame\Config”
- Change the Window’s File Properties on the DefaultGame.ini to remove “Read-Only” and then open it in Notepad and search for “bAllowMapVoting”
- Find your map-cycle-list here.
- Make sure that your Game Mode is shown in the .ini file with maps to cycle through. On my server, the Vehicle CTF did not have a map rotation already in the .ini file, and I had to add it.
6. Batch file to Load the Server
To make things easy on yourself, you’ll probably want to create a batch file to load the server with a single click. Here’s how you do that:
- Open Notepad.exe
- Start off changing to the directory containing the dedicated server files
- Then enter your command line from above
- You should now have a batch file of 2 lines like the example below
- Save this file as something like start_ut3_vctf.bat where ever you want to keep your server batch files. All you’ll have to do is double-click the file to start your server.
- When the batch file runs, it should call the ut3 console and start processing the attributes. When the last line says “Log: GAME PATH IS UTVehicleCTFGame_Content” (or whatever type of game you’ve chosen) then your server is up, and ready to be searched for in the Server List. You’ll have to play around with the filter to find your server.
Example batch file
cd "C:\Program Files\Unreal Tournament 3 (Dedicated)\Binaries" ut3.exe Server vCTF-Suspense?ServerDescription=116000104000101000045000115000112000111000116000?MaxPlayers=12?MinNetPlayers=1?NumPlay=4?NumPublicConnections=12?NumPrivateConnections=2?NumOpenPublicConnections=12?GoalScore=3?TimeLimit=20?VsBots=1.5?BotSkill=4?PureServer=1?bAllowJoinInProgress=True?bAllowInvites=True?bUsesPresence=True?bAllowJoinViaPresence=True?bShouldAdvertise=True?bUsesStats=True?bIsLanMatch=False?GamePassword=playme?AdminPassword=bigbawls -Port=7777 -Login=SurvurBocks -Password=sekratshiz -log=DedicatedServer.log
That’s all there is to setting up the server…at least that’s all there was to setting up mine. Happy Fraggin’!
I originally wrote this post in January of 2008, which is a lifetime ago on the internet. I don’t run my server anymore – but when I did, the method described above worked, and I followed these instructions verbatim to ensure that I wasn’t leaving anything out.
Unfortunately, I can’t provide individual support for everyone trying to setup their server. This blog post is my documentation for everything I did, step-by-step, without doing anything extra or different from what’s here. So if you have trouble getting your server up, just play around with things and scour the internet for solutions. I’m sure after over 5 years someone else has encountered the same issue you’re having.