NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host an Urban Terror server (2026)

Urban TerrorUpdated Nov 5, 20269 min read

Short answer. You can host an Urban Terror server yourself for free: run the official UrTUpdater dedicated-server script on Linux to download version 4.3.4, copy server_example.cfg to server.cfg, start Quake3-UrT-Ded.x86_64 and open UDP port 27960. Or rent an Urban Terror server and skip the networking.

Players find your server by name in the in-game server list: with dedicated 2 the server reports itself to the master servers set in server.cfg.

Checked on 5 November 2026 against Urban Terror 4.3.4, the newest version the official updater offered.

This guide uses three sources: the official UrTUpdater and the files it downloads (server_example.cfg and mapcycle_example.txt), FrozenSand's own engine source (ioq3-for-UrbanTerror-4) for the default port and the master server behaviour, and the install our panel runs for every Urban Terror server. To skip to the rental route, go to Option 2.

What you need

  • The server software: Urban Terror 4.3.4 dedicated server files, downloaded by the official updater. The updater's version list shows 4.3.4 as the latest, dated 21 June 2018. Do not install 4.3 over an older version: the official download page recommends an empty folder.
  • A machine that stays on: a spare PC, a home server or a cloud virtual machine. This guide uses 64-bit Linux, which is what we run. We have not tested a Windows server.
  • Tools for the updater: curl and xmllint (the libxml2-utils package on Debian and Ubuntu). The updater refuses to start without either of them.
  • RAM and CPU: the developer does not publish server requirements, so treat any figure you read elsewhere as an estimate.
  • A player cap: set with sv_maxclients. The official example config says more than 16 is not advised and that going over 24 can cause nasty bugs.
  • Network: UDP 27960 for the game, reachable from the internet. That is the default server port in FrozenSand's engine source, the ioquake3 engine they maintain for Urban Terror 4.

Option 1: host it yourself

These steps are for Debian or Ubuntu. The updater script and the file names are the ones our own install uses.

Install the server

  1. Install the tools.
    sudo apt update
    sudo apt install curl libxml2-utils -y
  2. Create a user and an empty folder for the server.
    sudo useradd -m -s /bin/bash -U urt
    sudo su - urt
    mkdir -p ~/server
    cd ~/server
  3. Download the dedicated-server updater from the UrTUpdater releases on GitHub (FrozenSand/UrTUpdater, release v4.0.3-RC1, marked as a pre-release).
    curl -sSL -o UrTUpdater-Ded.sh https://github.com/FrozenSand/UrTUpdater/releases/download/v4.0.3-RC1/UrTUpdater-v4.0.3-Ded.sh
  4. Run it once, by hand.
    bash UrTUpdater-Ded.sh
    The first run must be interactive: with -q the script stops with "Initial run must be interactive". It shows the licence and asks whether you accept it. It then asks you to choose a version (pick 4.3.4 (latest)), a download mirror, an engine (pick Quake3-UrT (default)), and whether to update automatically. If you answer n to automatic updates, it asks whether to download the update now: answer y. The download is about 1.5 GB. At the end it asks whether you would like to play now: answer n, because that starts the game client, not the server. Later, bash UrTUpdater-Ded.sh -q checks for and downloads updates without questions (the script's help says it is for cron use). Stop the server before you run it.
  5. Make sure the server binary is executable (the updater normally does this already).
    chmod +x Quake3-UrT-Ded.x86_64

Write the settings

  1. Copy the example files the updater put in the q3ut4 folder:
    cp q3ut4/server_example.cfg q3ut4/server.cfg
    cp q3ut4/mapcycle_example.txt q3ut4/mapcycle.txt
  2. Edit q3ut4/server.cfg. These are the lines you will change first, with the names the example file uses:
    set  sv_hostname "My Urban Terror server"
    set  sv_joinmessage "Welcome, have fun!"
    set  sv_maxclients "16"
    set  rconpassword "a-long-password"
    set  g_password ""
    set  g_gametype "7"
    set  g_friendlyfire "1"
    set  timelimit "20"
    Leave g_password empty for a public server. The example file's comments list the game types: 0 Free For All, 1 Last Man Standing, 3 Team DeathMatch, 4 Team Survivor, 5 Follow The Leader, 6 Capture And Hold, 7 Capture The Flag, 8 Bomb Mode, 9 Jump, 10 Freeze Tag and 11 Gun Game. For g_friendlyfire, 0 is off, 1 is on with a kick after too many team kills, and 2 is on with no kicks.
  3. Know what the maps do. The last line of server.cfg, map ut4_casa in the example, is the map the server starts with. The mapcycle.txt file lists the maps the server plays in turn after that. The example list starts with ut4_turnpike and ut4_paris.

Open the port

  • Game: allow UDP 27960 on the machine's firewall (for example sudo ufw allow 27960/udp) and forward it on your router.
  • Server list: the example config keeps sv_master2 and sv_master3 pointed at master.urbanterror.info and master2.urbanterror.info. Leave them as they are so the server can reach the master servers.

Start it and join

  1. Start the server from the server folder:
    ./Quake3-UrT-Ded.x86_64 +exec "server.cfg" +set fs_game "q3ut4" +set fs_basepath "$PWD" +set fs_homepath "$PWD" +set dedicated "2" +set net_port "27960"
    The server is up when the log prints ------- Game Initialization -------. Run it under a service manager such as systemd so it restarts after a crash. Keep dedicated 2: in the engine source, only a server started with dedicated 2 sends heartbeats to the master servers (dedicated 1 is for LAN play).
  2. Join it. Open Urban Terror, go to the server list and look for the name you set in sv_hostname.
  3. Update by stopping the server and running bash UrTUpdater-Ded.sh again.

Option 2: host it on PlayNHost

Renting removes the install, the updater script, the firewall and most of the config file editing. You still choose a name, a map, a game type and your rules.

  1. Pick a plan. Open the Urban Terror server hosting page and compare the plans: RECON (16 players), ASSAULT (24) and SPECOPS (32) at the time of writing. Press Create Server (Customize Plan on SPECOPS) and finish the order. Prices change, so check them on that page.
  2. Wait for the install. The server appears in the panel. Its Console prints ------- Game Initialization ------- when it is ready.
  3. Name it. On the Settings page, open Game Settings and set the Server Hostname and the Join Message. For a private server, set a Server Password. Then restart.
  4. Choose your rules in the same card: Max Players, Gametype / Gamemode, Map Timelimit, Friendlyfire and Bots. Restart to apply them. Map is written into server.cfg only at the server's first start; to change the starting map later, edit the last line of q3ut4/server.cfg (map "ut4_casa" by default) in the Files tab and restart.
  5. Add admin control. Set an RCON Password if you want to run rcon commands from the game or an outside tool.

What the panel does for you

  • Install and files: the server is installed with the same official updater, version 4.3.4, and server_example.cfg and mapcycle_example.txt are already renamed to server.cfg and mapcycle.txt. You never answer the updater's questions.
  • Port: your port is assigned and passed to the server as net_port at every start. You do not open anything.
  • Settings: the panel rewrites the hostname, join message, player cap, RCON password, server password, friendly fire, game type, time limit and bot minimum in server.cfg at every start. Change them in the panel, not in the file, or your edit to those lines is replaced. The starting map is written only at the first start, so after that the map line is yours to edit.
  • Bots: the install adds bot_enable 1 and bot_minplayers 0 to server.cfg. The Bots field sets bot_minplayers, and its default is 0. The Gametype / Gamemode field accepts 1 to 11, so Free For All (0) is not offered. Friendlyfire allows at most 1, so the no-kick mode (2) is not offered.
  • Maps: Map sets only the map the server boots into, and the panel writes it into server.cfg only at the first start. When each map ends (for example when the Map Timelimit runs out), the game moves to the next map in mapcycle.txt on its own, so edit that file in the Files tab to change the rotation.
  • Console and RCON: the console box on your server's page works without an RCON password. RCON itself stays off until you set one.

Self-hosting or renting: an honest comparison

  • Cost: the server software is free. Self-hosting costs power, hardware and bandwidth, or a cloud machine. Renting is a monthly fee set by the plan.
  • Uptime: a home server is only up while your PC, power and internet are. A rented server runs on the host's hardware.
  • Exposure: at home, players connect to your public IP address and you look after the firewall and router. A rented server keeps your home IP out of it.
  • Setup: self-hosting needs the command line, the updater, a hand-edited server.cfg and an open UDP port. Renting needs a name, a game type and a map.
  • Control: self-hosting gives you every cvar in the 26 KB example config. On our servers you change the main ones in the panel and still have the Files tab for server.cfg extras and mapcycle.txt.

Ready to skip the setup? See the Urban Terror server plans.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS