tutorials/urban_terror/beginner.1365286903.txt.gz · Last modified: 2013/04/07 00:21 by JRandomNoob

Beginner’s guide to UrT

This is an old revision of the document!


header image

Beginner’s guide to UrT

:german: Dieser Artikel wurde ins Deutsche übersetzt.

Conventions used:

Words in angle brackets <like this> mean you have to type whatever corresponds to the word, leaving out the brackets: /record <filename> means you’d have to input your desired filename (without brackets) in place of <filename>, as in /record wallhaxx0r (that would record a demo named wallhaxx0r.dm_68).

“Vanilla client” refers to the default executable (ioUrbanTerror or Quake3-UrT) that comes with the official installation from Frozen Sand. (Although Urban Terror began as a Quake III Arena mod, starting with 4.0 it has been compatible with several standalone engines, most if not all variations of the ioquake3 codebase.)

Questions this article doesn’t answer should be pointed at the official Urban Terror forum, after having read the official FAQ and the official manual.

What this game has and doesn’t have

Depending on what games you’re used to, UrT may exhibit surprising behavior and lack features you’d expect. This is a partial list of such idiosyncracies.

  • No incremental reload — when you reload, you’ll lose the unused ammo in the previous magazine. Also, no autoreload is possible; when you hear the click of death, press R, switch weapons, or die like a man.
  • When swimming, your ascent/descent can also be controlled by jump/crouch keys, not just by the direction of your view. This allows you to strafe and shoot or scan for threats just like on ground. On ladders, forward always moves up and backpedal down, regardless of the direction of your view. Ladders also do not have an “active area” where you’d automatically move into place and grab the rungs; you’ll only stick to the ladder when you touch it (this makes climbing down a bit trickier).
  • There are no player classes or equipment restrictions; you can drop your empty rifle, pick up a sniper from a fallen foe, and continue playing. Weapons and items are not bought, you can select anything that slot limits allow and change the selection as many times as you like. However, after you’ve moved or fired a shot, any following gear changes will not take effect until you respawn. You can select gear while dead or in spectator mode.
  • The gameplay is a blend of arena and tactical shooters: weapons are quite realistic, kills with one to three shots are possible, but jumping is not restricted in any way (in fact, there are more ways to jump than in Quake 3). There are separate walk, run and sprint, and you have stamina that can be depleted. Climbing is not limited to ladders: you can grab any ledge you can reach and pull yourself up. Your health does not directly affect your speed (except for an unbandaged leg wound) or aim, but it reduces your stamina and therefore the time you can sprint.
  • Knife is not an instakill weapon, doing different damage in different hitzones (only hit in an unprotected head kills instantly). Due to players’ agility and speed and the high ROF for knife in UrT, knife kills are not regarded quite as humiliating as in some other games. Thrown knife flies in straight line until it hits something, not dropping the least even on large maps.
  • There are no restricted items in this game: no random-drop hats, no store-bought golden guns, no grind-earned upgrades. Everything you can see you can use. There are no perks and no earned ranks (gameplay statistics are implemented using external software that most servers have).
  • There are no iron sights1); aiming is done in the oldschool style, with a crosshair.
  • Gameplay does not have randomized events: there are no ricochets, the weapons never overheat or jam, etc.

Downloading and installing

Right now, Urban Terror is slowly transitioning from 4.1(.1) to 4.2 version, the latter being (un)officially unstable beta, updated more or less weekly. At any given time, there are about 700 4.1(.1) servers and 250 4.2.x servers online, most of the players still flocking to the older version. If you just want to play the game, download 4.1.1. This article includes directions for both versions.

Currently, DSWP aka <<<Wurst test serwer has four 4.1 and one outdated 4.2 server.

4.1(.1)

:!: Occasionally, when connecting to a server, you’d get an “invalid gamefolder” error message. This is usually caused by the differing versions of the server and your client — 4.1 server browser also shows all 4.2 servers (but not vice versa).

4.1.1 is backwards-compatible with the previous 4.1 — you can play with it on older servers, but not vice versa. Both versions have active servers, although 4.1.1 greatly outnumbers 4.1 version (dswp.de aka <<<Wurst test serwer is running 4.1). The differences between these two versions are minor (4.1.1 is effectively a mappack — see the official news for description) and you’re advised to download 4.1.1.

The only operating system–specific parts of Urban Terror are the binaries, and all 4.x installers include Windows, Linux and Mac binaries, so there are only two (contentwise-identical) installers available: ZIP, and Windows-specific EXE. The EXE however is not a real installer but a self-extracting archive — it doesn’t prompt you for install location, instead launching a command line window and sitting there for some time, unpacking stuff. :!: If you do download EXE, let the install process finish (it’s done when the “black window” closes) — threads complaining about the “Can’t load default.cfg” error caused by impatient people are all too common on the official forum. You can find the unpacked game folder (named UrbanTerror) right where you ran the installer. Urban Terror does not use the Windows registry and you can extract/move the folder anywhere you want without breaking anything.

Installer unpacking the largest file, zpak000_assets.pk3:

When running the installer for the second time (say, because you cancelled the first run and are trying again), you’ll see it asking whether it should overwrite the already-extracted files:

If you see this, close the command line window, delete the UrbanTerror folder, and then run the installer again.

4.2 (Beta)

The newest version is 4.2.011, released in April 06. Frozen Sand has also made available an alternative full ZIP download (about 1.3 GB) (mirror).

4.2 troubleshooting

(This is less of an issue now that the updater can check every PK3 whenever you run it; however, there still are some environments the updater fails on.) Should you see a message that your game is outdated when you launch it, it’s caused by broken PK3s — for whatever reason, downloading one or several of the game files was interrupted. The easiest way to check which files are broken is comparing their sizes (see the table below). However, this is not completely reliable, since there may be garbage in the middle of an otherwise OK file. For a reliable result, you need to compare the checksums of all files against the checksums in the table below. To compute the MD5 checksums, you need dedicated software — Linux and other Unixes (including OS X) should come with the command-line md5sum already installed, Windows users can download the install-less graphical WinMD5Free or use Microsoft’s command-line checksum utility. Whenever a checksum differs from the published value, the corresponding file is corrupted; delete it and run the updater again, or download a new copy from a link in the table below.

If you download the full ZIP or need to download any of the PK3s separately (see below), and your download gets interrupted or the downloaded file(s) are broken, you should get a download manager.

There’s a bug in the UI that disables the “log in” menu entry if the auth key you entered is invalid (e.g. you made a typo). You can always re-enter the key with the command /auth-set <key> in the console; should you want to use the menu entry, find the file named authkey in the installation folder and delete it. Alternatively, you can open the file with a text editor and paste the auth key directly, replacing the original contents of the file.

4.2 features and installing

:!: 64-bit Linux users may need 32-bit compatibility libraries to run the updater — there’s currently no 64-bit binary. There’s a relevant thread on the official forum.

:!: The Mac version of the client currently does not support PowerPC processors. There’s a relevant thread on the official forum.

Urban Terror 4.22) is incompatible with the previous 4.1(.1) — while you can copy over your configs, you can’t play on older servers. Do not attempt to install 4.2 as an update to 4.1(.1) (in the same folder), this will break both versions. It’s impossible to use the (not auth-capable) ioUrbanTerror client from 4.1 for this version — it doesn’t support the new protocol 70.

Unlike in previous versions, the main deployment method for 4.2 is a dedicated downloader called UrTUpdater.

Windows and Linux updaters come as ZIP and TAR.GZ archives, respectively. Extract the contents to where you want to install the game, and run the updater. Note that you have to extract all of the contents of the archive, that is, the updater has to be inside the UrbanTerror42 folder — otherwise, after successfully running the updater, all the game content would be scattered among the other files and folders.

:!: In case you have an earlier updater (pre-4.2.010 release), you will have to download the new one — no versions other than 3.1 will work anymore. The 3.1 version is capable of doing MD5 checks on the existing files and re-downloading them even in the middle of an update if any of them turns out to be broken.

Version history (ancillary files have not been updated since .001, binaries have been updated in pretty much every version — lately this has included the updater itself):

  • .001 included zUrT42_0001.pk3 through zUrT42_0009.pk3
  • .002 added zUrT42_0010.pk3
  • .003 added zUrT42_0011.pk3
  • .004 added zUrT42_0012.pk3 and zUrT42_qvm.pk3; overwrote zUrT42_0009.pk3 through zUrT42_0011.pk3
  • .005 added zUrT42_0013.pk3; overwrote zUrT42_0008.pk3 through zUrT42_0012.pk3 and zUrT42_qvm.pk3
  • .006 added zUrT42_0014.pk3 and zUrT42_0015.pk3; overwrote zUrT42_0008.pk3 through zUrT42_0012.pk3 and zUrT42_qvm.pk3
  • .007 added zUrT42_0016.pk3; overwrote zUrT42_0009.pk3, zUrT42_0011.pk3 and zUrT42_qvm.pk3
  • .008 added zUrT42_0017.pk3; overwrote zUrT42_0009.pk3, zUrT42_0011.pk3, zUrT42_0013.pk3, zUrT42_0016.pk3 and zUrT42_qvm.pk3
  • .009 added zUrT42_0018.pk3; overwrote zUrT42_0009.pk3, zUrT42_0016.pk3 and zUrT42_qvm.pk3
  • .010 added zUrT42_0019.pk3; overwrote zUrT42_0006.pk3, zUrT42_0009.pk3, zUrT42_0011.pk3, zUrT42_0013.pk3, zUrT42_0014.pk3, zUrT42_0018.pk3 and zUrT42_qvm.pk3
  • .011 added zUrT42_0020.pk3; overwrote zUrT42_0009.pk3, zUrT42_0011.pk3, zUrT42_0013.pk3, zUrT42_0018.pk3 and zUrT42_qvm.pk3

Direct links, checksums and filesizes for all the updateable content in .011:

Link MD5 checksum Size
Ancillary files http://cdn.urbanterror.info/urt/42/011-01/q3ut4/autoexec_example.cfg 846b36f6c587a4565e64bc06b31338bd 0.25 kB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/mapcycle_example.txt 064ee3435e15b8eb7a8c30a9a4b8688b 0.17 kB
http://cdn.urbanterror.info/urt/42/011-01/QIIIA_Game_Source_License.doc a3898f602cb73e4f9a81c43fa893a808 33.5 kB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT_Logitech_Game_Recognition.reg 638620d04d70635a81fd553a0707df86 0.31 kB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/readme42.txt 2119852a17dc5c8fbff70990e0ddb337 64.6 kB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/server_example.cfg 03edd9b32d9bc2a65f4fdb7df67dd1a1 9.7 kB
Binaries http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT.app.zip 0d914efddbf9536f3b6cbf0a02971945 1.95 MB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT.exe f0186bc091e38d24e14ef03fa0dda6df 1.92 MB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT.i386 a3157537a97004cec5b45ddb1a7b3282 1.44 MB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT.x86_64 bba607b66906e447ef1c15f3cf28784f 1.80 MB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT-Ded.exe bffea383658f7cf15dbe2faaa315d429 739 kB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT-Ded.i386 ce3a3887436457cdc32a9f847b1a2b93 717 kB
http://cdn.urbanterror.info/urt/42/011-01/Quake3-UrT-Ded.x86_64 661e0ac3d6d13f6683c99bb0b360842b 926 kB
http://cdn.urbanterror.info/urt/42/011-01/UrTUpdater_Ded.i386 64a71983d348048f4d7896ced6c48023 117 kB
http://cdn.urbanterror.info/urt/42/011-01/UrTUpdater_Ded.x86_64 003645a63b3d6b21c19d3fa6b9f36b31 138 kB
http://cdn.urbanterror.info/urt/42/011-01/UrTUpdater.exe f0d6f6a7496390f5042db8826941a4f4 743 kB
http://cdn.urbanterror.info/urt/42/011-01/UrTUpdater.i386 eac9ed2cf2ebd758c4b4e1fe51258044 418 kB
http://cdn.urbanterror.info/urt/42/011-01/UrTUpdater.x86_64 7ec06c11adafeb0298d98b9e073e46d9 430 kB
PK3s http://cdn.urbanterror.info/urt/42/011-01/q3ut4/ut4_commune.pk3 63bd7ad7ac606c74144583e25039d9bc 9.14 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0001.pk3 d742ebd60664ef95c202ecf22e5e19e0 142 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0002.pk3 0539535725b37a9fdb3d216e846bab06 161 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0003.pk3 94e61ef6d88f01939a9cff3254c93133 152 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0004.pk3 01c9a1636a252c797cf18b86c6125c64 146 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0005.pk3 a0d0318eabc9f72a270d02fbd27535dd 157 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0006.pk3 8afa7de672c95a3fd7b410cc9535eee9 160 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0007.pk3 680d1b0f149f2ca879a301170018ff97 158 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0008.pk3 a6fb1c5ae65d4de7d25a33e8d6e0ac8d 10.2 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0009.pk3 55caddab44ba0adf7b4018dc621bf765 1.59 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0010.pk3 864279bd0788d3f86db6ef944f4596ee 19.1 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0011.pk3 76438b539fb77d125f1e55421bcb5ccd 69.1 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0012.pk3 4fbd566adda4bd7f64abd2fffec44424 17.2 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0013.pk3 e9aa8105c6817f9703e8fb2902b6420f 2.61 kB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0014.pk3 c8490aa7cfde97c324472636a0ab89d0 1.70 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0015.pk3 35f6cb23ef8cce2971389525d2beb0cc 4.98 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0016.pk3 d5b701a3241203d4330b87451766a540 16.4 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0017.pk3 b7307aa0833219c96b96d9ad8464102b 17.6 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0018.pk3 b5caba641d8482a4ccfc7164f1755f9a 7.38 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0019.pk3 b9728db9304e9efc4c28fc48d0057d91 42.9 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_0020.pk3 abc8dfd4fb8797c2e0ae070e38138ad7 122 MB
http://cdn.urbanterror.info/urt/42/011-01/q3ut4/zUrT42_qvm.pk3 23d890948fa0dc24528b96d17cc44c8f 726 kB

The shiny new thing in 4.2 is called “auth” — if you have registered on the official UrT forum, you can (and should) request an auth key via your account page. Think of the auth key as an in-game username + password rolled into one. You can request and input a new one whenever you feel the need to (you inadvertently give it to someone, an evil haxx0r steals it, or $DEITY forbid, the whole auth infra gets compromized). Using auth is not compulsory and most servers allow you to play without.

Auth key ties your forum account to your in-game identity, ensuring you’ll be identified as yourself across all auth-enabled servers (different and independent from GUID-based identification used currently). Being authed is supposed to keep you name and tag from being stolen, and give you some protection against cheating accusations — you could easily prove you are indeed the same player who pwns in T3h L33t UrT L34gu3 and not some random kid with downloaded skills. In the bright happy future Frozen Sand envisions, most if not all servers have auth compulsory and this makes life much harder for cheaters — getting permbanned means you’ll need to register a new account etc.

To use the auth key, click on “log in” in the main menu, and input the key in the box. Alternatively, you can use the console command auth-set <key> (on Windows and Linux, you should be able to simply paste the key with Ctrl+V (Shift+Insert if this fails)). :!: Using numpad to input the digits of the auth key will cause problems (for example, 7 inputs the digit and moves the cursor to the leftmost position, regardless of the Num Lock state). Should these methods fail, you can open the file named authkey, located in your UrT installation directory, and replace its contents with your auth key. If the file doesn’t exist, create it (see the configuration files section if you have trouble doing so).

There’s a thread on urtinfo that should answer all your questions regarding auth.

GUI & HUD

The main menu:

main-menu-4.2.jpg

  • log in/log out: along with the welcome message, it’s a 4.2-only feature. See the previous section for explanation.
  • play online: opens the server browser that allows you to filter them by several criteria, connect to selected servers, and set them as favorites.
  • setup: graphics and sound settings, keyboard & mouse customization, player character setup. Should you dislike the main menu music, you can turn it off here under System → Sound → Music Volume.
  • start server: allows you to start a local server (by default, this is not accessible from the outside). In the current version, bots are buggy and not officially supported, so this option has limited use.
  • demos: allows you to see and play back recorded demos. On a fresh installation, there’s only the tutorial demo available — do watch it.
  • quit: exits the game (you can simply press Esc twice to get past the credit screens).


in-game-menu.jpg By pressing Esc at any moment while playing, you can access the in-game menu (most setup options are available in both main and in-game menu):

  • about: technical info about the server you’re currently playing on.
  • player: player setup, team selection, gear selection
  • stats: statistics about the players currently connected.
  • controls: keyboard & mouse setup.
  • options: most of the customization is done here.
  • system: graphics and sound settings.
  • votes: call a vote or vote yes/no for in a vote in progress (“yes” is by default bound to F1, “no” to F2).
  • rcon: admin tools, useless for a normal player.
  • exit: exit to main menu or quite the game altogether.

When connecting to a server, after the map loads, in most game modes you’ll be prompted with the team selection menu:

team-selection.jpg

(You notice it suggests using the auto-join button. It’s a good advice.) You can access this menu at any time by pressing Esc, under player → team select.

Selecting your weapon and item loadout is done under player → weapon / gear select. Each of the boxes represents a slot: possible equipment is restricted by these, and you can never fill all slots at once (the disabled ones are clearly marked as such). You have one primary weapon slot, one secondary weapon slot, one sidearm slot, grenades slot, and three item slots. The minimal allowed gear is primary, sidearm and one item in the first item slot. Even if your setup has no room for secondary and grenades, you can still pick them up from dead bodies. For more advanced loadout selection methods, see the gear cvar article (you’ll need to know about config files first).

gear-selection.jpg

player-setup.jpg

You can somewhat customize your character’s look: there are two models (male and female) with 2 skins per team for each. All skins are available for everyone. Your personal color is displayed on your arm and leg bands, on the minimap arrows, and in the scoreboard and player list, allowing your team mates to identify you even when they can’t see your name. (Some servers disable personal colors, forcing everyone to wear their team color.)

The HUD of Urban Terror:

hud.jpg

The player list is commonly called “team overlay” or occasionally “mini-scoreboard”; you can customize its properties under options → Team Info Settings.

The lagometer is a connection quality display: green represents your ping (the thinner and smoother the better), black bars in the green area represent ping flux, and pink swathes appear when you have packet loss.

On the minimap, each team mate is represented by an arrow in their personal color; the arrow points in the direction they’re looking. When you’re requesting a medic via the radio, your arrow flashes. Medics’ arrows have a little red cross at the tail. You can change the size, position and transparency of the map and the size of arrows under options → Minimap Settings.

stamina-and-damage.jpg Stamina and damage indicators: the meter turns gray segment by segment the more you sprint or jump; if you get injured, the lost health/stamina is represented by dark red. When you bleed, the health blinks between your team color and dark red; there’s also periodic “blackout” effect with your view blotting with red every few seconds. The human figure shows the location of your injuries: legs, arms, torso or head wound(s).

timers.jpg Depending on game mode and server setup, you may also see these timers:

  • Top: Capture and Hold only, see the mode description.
  • Middle: Game mode independent; if wave respawns are enabled, all dead players respawn at the same time when the timer reaches zero.
  • Bottom: Hot potato timer, CTF only.

You can change your FOV under options → General Settings, and change the weapon size under options → Gun Settings. The comparison of FOVs and gun sizes:

fov-and-gunsize.jpg

By default, different messages are separated on the screen:

hits-and-chat.jpg

Top rows show hit messages (only displayed to the attacker and the attackee) and death messages (displayed to everyone); the bottom rows are for chat and the text accompanying radio calls. You can change the display time and amount of rows under options → Chat Settings. Oldschool players can force the Quake 3 style chat + messages on top of the screen with cg_standardChat 1.

The main gameplay elements

Equipment

Due to large amount of specific data, this section has a separate article dedicated to it.

Movement

Climbing and ledge grabbing: Since the very first released beta, it has been possible to not just climb ladders, but to climb on top of any object low enough. To do so, jump against an object while holding W — keep it pressed, and your character will pull themself up. Ledge grabbing can also keep you from doing the lemming thing — grabbing anything while you’re falling will bring you to stop instantly with no damage whatsoever.

Sprinting: Sprint is bound to E by default, a modifier key — you’ll have to hold this in addition to forward; the alternate “oldschool” method is to hold AWD3). Sprinting is noticably faster than simply running, but it also depletes your stamina. Sprinting is the best way to gain speed for jumps and slides. You can’t sprint in other directions or while swimming; sprint does speed up your movement while in spec.

Strafe and circle jumping: Although bunny hopping in straight line has no effect (or even a negative effect) on your speed, Quake-based games have strafe and circle jumping (the linked articles discuss Quake 3, not UrT, but the underlying theory is the same). What you need to know is that the maximum speed attainable in the game by running straight is limited (as are the strafe and backpedalling speeds), but it’s pretty easy to “abuse” the quasi-physics of the engine by moving in another direction in addition to forward, thus achieving noticably higher overall speed. Running on ground additionally limits the maximum speed with friction, but air does not have any friction, hence instead of strafe/circle running it makes sense to use respective jumping techniques. Due to the game having sprint, circle jumping is much more powerful in UrT than strafe jumping.

To circle jump, you’ll have to sprint (to gain the initial speed) and then continue jumping while keeping sprint pressed and moving your mouse left and right — the exact speed is less important than smoothness of the movement. The direction of turning can be used to affect your direction — turning more than 90° to the side can get you around corners even without walljumping.

Fun detail: when you move at speed over 600 Quake units per second, there will be a team-colored trail behind you. While useless in combat, this adds a bit of visual appeal to jump videos.

Walljumping: Introduced in 3.6, this is essentially a variation of the boot of passion (kicking people by jumping against them). Walljumping allows you to scale obstacles faster than climbing over them would allow, gaining height to get on top of objects that are too high for climbing anyway, and gaining speed by kicking against a wall sideways. In certain situations, walljumping is also usable for jumping down from heights, though somewhat tricky. You can make three walljumps in a row before you have to touch a horizontal surface.

Kicking aka the boot of passion: initially an actual item you had to equip, the boot is nowadays an emergency feature similar to knife you are always carrying. You have to hold a knife, pistol or grenade to kick; a kick always hits “body” and does 20 damage. It’s most useful for moving blocking teammates out of doorways and such (you can’t kick them if friendly fire is disabled though).

Goomba stomp: introduced in 4.0, this is probably the most difficult method for killing someone: when falling from a height where you’d break your legs or die altogether, you land on the head of someone else, you’ll get a goomba kill. Landing on their shoulder does not result in any damage (although you may hear the distinctive “plonk” sound, this is a client prediction error — all hits are actually decided on the server side).

Powerslide: Sliding (introduced in 4.0) is useful for bridging gaps between jumps, fitting through doors and tunnels, and speeding out from behind the corner — once you’re sliding, it doesn’t really matter which way you are facing, so you can aim at the most likely threat direction. (You do lose some speed if you don’t turn correctly, but this is mainly important on jump maps.) Sliding also allows you to move fast with broken legs — you can jump down from a height and slide while bandaging or shooting until you’re covered or reach your destination.

Swimming: When underwater, you have 16 seconds worth of breath (replenished instantly when you surface), and it takes 8 seconds from starting to drown to dying.

Stamina management: The only actions using stamina are sprinting, jumping and crouching (more precisely, only crouching down, not standing up); walking, running, climbing and swimming are free (however, your stamina won’t refill while you’re in the water).

Other

Bleeding and medding (bandaging and healing): All wounds except for hits in kevlar vest and helmet will bleed4), losing about 5% health per second. While bleeding, you leave a blood trail and make noise every few seconds, at the same time, your view will suffer from “blackout” effect and your aim will jerk. Bleeding or health level does not affect your speed (except for leg wounds), but since your stamina is equal to your health, your top speed / time you can sprint is lowered. Every player is capable of bandaging themself and other players (including the enemies); bandaging also fixes legs that are broken due to a fall. It’s possible to heal your teammates if you’re carrying a medkit (if you don’t carry one, but your patient does, you still can heal them, but at noticably slower rate). You can bandage and heal while swimming or climbing a ladder. Medding makes distinctive sound and blocks your actions for a short amount of time, so mind where you do this. Two (three, …) people healing someone make the process two (three, …) times faster.

Ancient ninja techniques

  • A unique feature of Urban Terror is the ability to cancel the cooking process (timer) of a grenade (you “put the pin back in” and the nade is as good as new) by switching to another weapon. In 3.x and earlier versions, switching weapons in this situation resulted in the nade dropping at your feet and exploding anyway, but someone screwed up something in the code of 4.0. It’s a kind of an ascended bug: nobody has ever re-coded this properly, but unlike the SR-8 drop exploit, re-cooking nades is a recognized and allowed technique everywhere.
    :!: Beware: if you throw a nade, immediately cook another, and then switch weapons, the nade will behave exactly the same as in earlier versions.
  • You can perform some of the actions simultaneously — reload while bandaging or climbing, bandage while climbing — but only if started in the right order:
    bandagereloadclimb
  • You can minimize your visibility behind cover by “turtling” — crouching and looking down5). This has very limited use though, since your reaction time and ability to spot threats suffer badly. It can be life-saving when you’re bleeding badly and out of ammo — both bandaging and reloading turn you into a sitting duck anyway.

Game modes

Official

In competitive play (matchmode), the matches are played in two halves, the teams being switched after the first one.

Bomb

:!: We have weekly bomb nights — connect dswp.de:22223 @ Sunday 20:00 CEST.

This is essentially the same as bomb mode in Counter-Strike: the red team has to plant the bomb in one of the two bomb spots (named “red” for A and “black” for B) while blue has to stop them. In bomb matchmode, each half is usually formed of 10 rounds which are time limited. (Usually a timer on your upper right corner of the screen counts down to zero ending one round.)

A round can be won by the red team by either killing everyone in the opposite team in the given time, or successfully blowing up one of the two targets (bombsites). To win a round as the blue team, you must keep the reds from planting the bomb in the given time or defuse it if it has been planted (done with the use key, Ctrl/Strg by default). If the bomb has not been planted the blue team can either try to kill everyone from the red team or just survive until the time for the round has expired (remember this only works if the bomb has not been planted yet).

Planting/defusing the bomb: Bomb bag is considered a weapon, by default accessible with 6 or scrolling through the weapons with the mouse wheel, and can be dropped with ut_weapdrop. The planting is done with the fire button (left mouse button); once you have started the planting process you can’t move or switch weapons until it’s finished. In UrT, you can only plant right on the bomb spot — no hiding the bomb in the corners of the bombsite. Bomb spots are visible on both your minimap and in-game as animated targets6).

Tips:

  • The time which is needed for the bomb to explode is usually 40 seconds and the time to defuse is 10 seconds, but be aware that this varies from server to server!
  • Killing the bomb carrier gives you extra points, as well as killing the planter or defuser.
  • When playing as red, following the bomb carrier is a good idea to start the round.
  • Camping might not be nice but it is not unusual to do this to protect the planted bomb as the red team or protect a bomb spot as the blue team.
  • Communicating by using the radio really helps!

C&H (Capture & Hold)

There is usually one to six capture points (represented by gray flags); every x seconds (default 60) the teams get awarded a point for every flag they currently have in their team color.

CTF (Capture the Flag)

CTF is the other main competitive mode for UrT. This mode has both teams attempting to bring the enemy flag to theirs (capturing aka capping) in order to score; you can also get points for things like killing the flag carrier, returning the taken flag and simply being in the scoring team. A flag that has been dropped (either deliberately or because the carrier died) will return after a short set time with no points added or deduced for neither team.

When a flag is taken, dropped or returned, a message is shown to everyone on the server and action-specific sound played globally; while a flag is away, the name of the team that owns this flag will blink in the right upper corner of the screen. When both flags are away, the “hot potato” timer starts ticking; when it reaches zero, both flags explode (killing the carrier if not dropped beforehand) and return. This feature was introduced to get rid of the long boring standoffs.

In the European competitive scene, wave respawns are used (all dead players spawn at the same time every x seconds), making the gameplay rotate around timers. In higher divisions, timer awareness can lead to entertaining scenes where one of the two duelling players stops shooting to get killed at the best moment, and their opponent does the same to kill the foe at the worst moment. Using wave respawns has led to creative abuse of teamkilling: when you see a team mate you’d normally heal and the timer is nearing zero, you can simply kill them and avoid the slow healing process altogether (doing /kill in the console is punished with double respawn delay, so you’ll either have to hope for a teamkill or step on a nade). While recognized and allowed technique in matches, teamkilling is still considered a bit of a bad form by some and there are various suggestions to make it useless.

In the US scene, standard delay-based respawn is used and medics are much more common.

You should be careful with using teamkilling on public servers: usually the ones that have friendly fire enabled also have TK limits, and many of the players may not understand your behavior either.

Flag is considered an item and you can drop it with ut_itemdrop flag (or by selecting the flag with the item keys and dropping it with a generic bind).

FFA (Free for All)

The “kill everything that moves” mode; while one of the most common modes in Quake 3, it’s rarely seen in UrT.

FTL (Follow the Leader)

Similar to CTF, but only the team leader can score a cap. Being one of the oldest modes, FTL has remained strikingly unpopular, having only a few nigh-empty servers at any given moment.

TDM (Team Deathmatch)

The most common mode for public servers.

TS (Team Survivor)

TS is the competitive mode in UrT in the same way Bomb is in Counter-Strike.

Unofficial

:!: This entry does not discuss any Urban Terror mods (the most famous of them being the zombie mod) that make changes to the gamecode. You can Google for these (note that Frozen Sand refuses to allow any mods-related discussion on their forum).

Jump

Jump is the defrag/race mode of UrT. In 4.1(.1), there’s no support for timers or anything like that and typically the jump servers report their mode as CTF, with “jump” in the server name. There’s no competitive jumping scene; what you get for finishing a map is bragging rights, and perhaps a cool demo/video if you can pull this off. Jump is becoming an official mode though; for UrT HD, all kinds of bells and whistles are planned. The 4.2 version has a rudimentary jump mode (g_gametype 9) since .006; as of .009, it includes timer start, stop and cancel entities and the possibility to add colored paths to maps. So far no maps utilizing these features have been released, although several existing ones are being updated.

UrT jumping does not use any weapons (although there are HK69 & HE nades, and jump servers generally have damage disabled); instead, players rely on walljumping to gain height and speed in a similar manner. Most maps have nodamage floors and/or surfaces that teleport you back to the start of the particular jump (not the start of the map); only a few maps like Deathjumps: Hell kill you on the first mistake. For those who find that friction is for noobs, there are various icy maps available, where all the jumps require running on a rather uncooperative surface.

Skeet shooting

Red team (ten to twenty bots, normally unarmed) are skeet, constantly respawning on jump pads; blue are shooting at them from a closed balcony or platform. Newer maps have nifty reloading stations that allow you to carry much more ammo than it’s possible in normal gameplay. Skeet servers run in TDM mode, which means scoring is straightforward: every kill gives one point.

Urban Zone holds sort-kinda annual Skeet Shoot Tournaments, the signups for SST 2012 opening on September 2nd.

Assault

Developed by Asche and Holblin, this utilizes special stage-based maps where capturing a point unlocks the next one. One team is attacking and capturing, the other one defending. There are currently only a few maps available, but both Asche and Holblin are now members of Frozen Sand and the assault mode will be part of UrT HD.

Deathrun

Copied from Counter-Strike, this is another map-based mode: one team has only knives and are locked in a control room where they can activate various death traps the other team has to avoid to reach and kill them. Most of the map names for this mode start with “ut4_deathrun_”.

Funstuff

Whenever you see someone with a hat, goggles, mask, horns or whatever, it’s something called funstuff — additional small models you can attach to your character. Funstuff does not require any modifications to your game and its use is completely free. There’s a more detailed article on the topic.

Talking to other players

Chat

There are four chat modes, global, team, target and PM (private message), the first two being bound to T and Y by default.

type bind command script command behavior
global chat messagemode say shown to everyone
team chat messagemode2 say_team shown only to your teammates
target chat messagemode3 tell_target shown only to the person under your crosshair
PM tell <slot number> shown only to the person you’ve specified

“Bind command” is what you’d bind to a key — you press the key for chat prompt, type your text, hit Enter. The default keys for normal and team chat are T and Y. messagemode3 only works if there is someone under your crosshair; PMs cannot be bound like this7).

“Script command” is what you’d use in console and in scripts — /say y'all so ghei or bind q "+button6; say_team Bandaging @ $location". The latter would cause you to spam this line to your teammates every time you bandage someone. (As always, think through what’s necessary and what not; useless spamming is a good way to get yourself kicked on many servers.) See “Basic scripting” below for explanation and usage.

In FFA, all chat is forced global. In team-based modes, the configuration of a particular server may force all chat to be teamchat; in round-based gamemodes (TS & bomb) it’s common to disallow chat for dead players. Spectators’ chat is always visible to spectators only.

You can only use basic ASCII/ANSI symbols in chat; if you use say ä or ², these will be replaced with period. Some characters (~, ", //, %, ^, $) have meta meaning and will either be replaced with space or cause the next word to disappear altogether (e.g., unknown words patterned like $macros are discarded).

While in global chat everything is displayed in yellow, team chat, target chat and radio messages are white and can be colorized by using the Quake color codes.

  • ^0 or ^8 black (in UrT it’s actually just the empty letter outlines)
  • ^1 red
  • ^2 green
  • ^3 yellow (the default text color; use it after any highlighted bit)
  • ^4 blue
  • ^5 cyan
  • ^6 magenta
  • ^7 white

Example: ^1the ^2gaily ^3colored ^4example ^5string ^6for ^7the ^8wiki results in

chat-colors.jpg

Radio

Radio is a menu-driven interface for playing predefined voice messages, by default accessible by pressing U and then number keys according to the menus. There’s a dedicated article on using, binding and customizing the commands.

Recording and watching demos

Demos are recordings of the game events — everything that is streamed to you when you’re playing on a server (people playing, their movement, hits, radio messages, chat) gets written in the file. Demos are not videos — see “Turning demos into videos” below about how to do that.

By default, the key for starting and stopping demos is F12; while recording, there’s a text shown at the top of the screen. By default, demos have names in the format of <year>_<month>_<day>_<hours>_<minutes>_<seconds>_<your current nickname>_<current map>_<current gamemode>.dm_68. You can change this by recording manually with the command /record <desired name>; stop the demo with /stoprecord. Usually, you’re better off with F12 and renaming the files later if needed.

:!: Beware: If you quit the game while recording, the state of F12 will “stick” so that next time you’ll have to press it twice to start recording. Always check for the “RECORDING” text; if you can’t see it, you’re not recording.

look-ma-no-hands.jpg To spectate someone, you can simply click through the players (by default left mouse button, or whatever you happen to use for shooting), but on a large-ish server like DSWP TDM this is time-consuming. Use /playerlist, find the slot number next to the player’s name you’re interested in, and do /follow <number>. Funny bug: If you do /follow while not speccing someone (floating freely), you’ll see people having no hands and no weapon in first person view. To fix this, press Ctrl twice for free-floating mode again, press left mouse button to spec anyone, and then do /follow again.

To view a demo, use the built-in demo browser (demos in the main menu) to locate the file you need. This browser however has serious limitations, most importantly, when the amount of demos exceeds a certain limit, the ones with alphabetically earlier names will not be displayed (if you have large-ish amount of demos with actual names, the automatically-named ones won’t be visible).

On Linux, you’ll probably have to rename demos to all-caps (demoname.dm_68 to DEMONAME.dm_68) before you can watch them. For more comfortable demo playback, see the “Software” section below. In case you want to change the demo playback speed (useful for watching aimbot demos), see this post.

If you can’t load the demo (error message “Couldn’t load maps/ut4_xxx.bsp”), you lack the particular map the demo was recorded on. The quickest way to fix this is to point your browser at our map server and append the map’s name (ut4_xxx.bsp) to the address on the title bar, with BSP replaced with PK3. Download the map and save it in q3ut4 folder of your UrT installation. Alternatively, there are many sites hosting UrT maps; quick Google search with the map name put between quotes usually gives you a download location (ut.s.finestway.com is a nice site, with ~ 2300 maps available). :!: Based on hearsay, some browsers on some systems may save the map with a ZIP extension instead of PK3 so you’d have to rename it before you could use it.

If you experience horrible lag when playing back a demo (that goes away when you speed the playback up and then slow to normal again), it’s probably caused by ut_timenudge. The only known fix is setting it to 0.

Demo playback has an interesting failure mode: if you have UrT 4.1.18), you can play and record on 4.1 servers (such as DSWP) just fine, but when playing back the demo, weird things can occur — up to and including dropping back into the main menu with an error message (CM_InlineModel: bad number). The reason is that some maps were updated for 4.1.1 while retaining exactly the same name — and when you’re playing back a demo recorded on the previous version of the map, data in the demo and structure of the map will clash.

The affected maps are Casa, Harbortown, Ramelle, Ricochet, Subway, Swim (The Bath), Thingley, Tombs and Uptown. (Some of the new maps in 4.1.1 started out as custom maps and you may run into the same problems with them in case the standalone version and the 4.1.1 version have any differences.)

To view 4.1 demos on 4.1.1, you have to temporarily rename or move zpak001_assets.pk3; there’s currently no other way. Linux users can use Pirat’s playdemo script (see the next section) that automatically takes care of this.

Occasionally you may see how the viewpoint player in the demo suddenly starts moving in a straight line, going through walls and whatever. This is not some kind of cheat; the person recording had CI (connection interrupted), a state where no information can move to and from the server for a noticable amount of time. While online, this looks like everyone stopping for a few seconds and then snapping to different locations; when playing back a demo, the game interprets straight constant-speed movement between points right before and right after CI.

Software for easier demo playback

Windows: There’s the UrT Demo Loader by 1UP clan. It associates the DM_68 extension with itself so that you can double-click on any demo file in the file manager, and the loader will start Urban Terror with it. This also allows you to organize your demos easily — since you can launch a demo from anywhere, you can collect different demos into different folders. (Note: the limitations of UrT mean that when you start a demo that is not located in q3ut4\demos, the loader actually creates a copy of the demo there and the game will play this copy.)

Linux: playdemo, written by Pirat, allows you to play any demo located anywhere. It also removes the need to rename demos to all-caps. For sniffing whether it’s a 4.1 or 4.1.1 demo, there’s demo file analyzer.

Location of maps, configs, demos and screenshots

The folder structure of Urban Terror is exactly the same as in Quake III Arena, just the base folder is q3ut4 instead of baseq3. Maps and configs are saved in the base folder, everything else in their respective subfolders (q3ut4/demos/ for demos etc).

  • On Windows (pre-Vista), everything is saved under the UrT installation folder (UrbanTerror\q3ut4\).
  • On Windows Vista and 7, security-related changes made it impossible for programs to write into their installation folder (like C:\Program Files\UrbanTerror\); if you don’t find any demos or your changes to the config files don’t work, the real things are most likely located in C:\Users\<your username>\AppData\Local\VirtualStore\UrbanTerror\q3ut4\. In case you want to keep Windows from using VirtualStore, see this post.
  • On Linux and other common Unixes, everything is kept in a tidy dot directory — /home/<your username>/.q3a/q3ut4/. You may have to turn on displaying hidden files in your file manager to reach this.
  • On Mac, the most likely location is /Users/<your username>/Library/ApplicationSupport/Quake3/q3ut4/.

Console

Console is used to input commands and set variables in-game; it’s mostly equivalent to changing values in config files. Everything typed into the console must be preceded by / or \, otherwise the string will be output as global chat (the opposite is not true: you can’t type /commands into the chat). The console is hard-bound to the “tilde key” which on non-US keyboards is most commonly `, ^ or some other diacritic, usually located right below Esc. (You can bind the console to something else in addition to the default, but the tilde key cannot be assigned to anything else.) If all else fails, Shift+Esc will do the trick. To force the console open without any delay, use scr_conspeed 9999. You can scroll up and down in the console using the PgUp and PgDn keys, or the mouse wheel (when scrolled up even by a single line, the console contents stop moving so you can read them easily). As usual, there’s console history: you can avoid retyping a previous command by flipping through them using up and down arrow keys. In UrT, console history is persistent (you can close the game, start it up again, and the previously-used commands will still be there).

empty-console.jpg :?: Occasionally it appears the console is totally empty when you open it. However, the line of red carets visible means the console is simply scrolled to the top; hit Ctrl+End to get back to the last line.

To save the console contents to a file, use condump <filename>. Note that on the vanilla client there’s a pretty strict limit to how much text the console can hold and condump can save. If you wan’t to be sure every event in the console gets saved, enable logfile in your server.cfg (logfile 2). :!: qconsole.log doesn’t record echoes or other output that other players can’t see (like the output of cvarlist).

Useful command for updating your settings without restarting the game after you’ve changed something in the config is exec <filename> (the file must have CFG extension, but you can omit the extension in the command itself).

Configuration files

For location of the config files, see the respective section.

You always have the main config file, q3config.cfg; this file gets overwritten every time you run UrT, so you don’t want to add your scripts there (changing the existing values after you’ve shut down the game is OK though). To customize UrT further, you’ll need to create autoexec.cfg that will get automatically executed every time and has precedence over q3config — if a value is different in q3config and autoexec, the one from the latter gets applied.

These config files are plain text in ASCII/ANSI encoding; the default text editor of your system (Notepad, Emacs, vi, gedit, Kate) will be able to handle this just fine. Do not edit config files with a word processor (Word, Write): the most likely result is a screwed up file. If you have problems creating a file with CFG extension or you can’t see the extensions, you can make a copy of q3config.cfg, rename it, open it and delete the contents.

Using the vanilla client, a single config file can be 64 kB at most; should you ever need to get around this, you can split your config into several files that are executed via commands in autoexec: exec <filename>.cfg for each file. If you have an excessive amount of scripts, UrT may crash with MAX_CVARS error: you’d either have to reduce the amount of variables or use some other client (see the Alternate clients section for a list).

Setting a variable in the config file is done with set <cvar> "<value>". It’s a good practice to always use this format; while “set” can be omitted, double quotes are required in some cases. To force a cvar being written to q3config.cfg when you change it, use seta.

Binding keys and buttons is done with bind <key> +<action>. If you want to bind something to a key you don’t know the name for, use a workaround: bind something to this key via the in-game menu, open q3config and find the relevant line. :!: Most actions are performed on keypress and stopped when the key is released (shooting only while you hold the mouse button etc). The plus sign is important; if you omit it, the action will never get reset (you’ll shoot until the ammo runs out, and then continue empty clicking.) Should you ever run into this problem, you can cancel the action via the console, by typing /-<action>. See the next section for more advanced + and - use.

Using the vanilla client, you can bind MOUSE4 (or aux1) only if you have in_mouse 1 enabled (you’ll need to do in_restart for it to take effect if you type this into the console). Binding MOUSE5 (or aux2) or scroll wheel tilt is not possible with the vanilla client; you’ll either have to use an alternate client or rebind them to keyboard keys using either the software installed with the mouse driver (if applicable) or some dedicated remapping program. You can’t bind Esc and “tilde” key (the key right below Esc) to anything else. On layouts with AltGr, UrT may read this key as Ctrl. When using non-US layout on Windows, beware that the vanilla client will use the values corresponding to the US layout (AZERTY users would have to press A although bandage is bound to Q etc9)).

Partial list of the keys and buttons (most of the other keys use the values you see printed on them):

MOUSE1, MOUSE2, MOUSE3 left & right mouse button10), middle button / scroll wheel click
MWHEELUP, MWHEELDOWN scroll wheel up & down
INS, HOME, PGUP Insert, Home, Page Up
DEL, END, PGDN Delete, End, Page Down
PRINT Print Screen11)
0x00 Scroll Lock
TAB Tab aka the →| key
CAPSLOCK Caps Lock
UPARROW, DOWNARROW, LEFTARROW, RIGHTARROW arrow keys
SEMICOLON ; on US keyboard
KP_ all numpad keys are prefixed with KP_, as in KP_SLASH. All keys use their “Num Lock off” values; 5 is KP_5, Num Lock itself KP_NUMLOCK. On the vanilla client, KP_STAR is not recognized, you’ll have to use * instead.

While you’d be able to find the names of most of the actions by skimming the config file (+attack for firing the weapon is pretty obvious), some of the actions have nonsensical and/or opaque names. This is a partial list:

+button3 fire mode (auto, burst, semi)
+button5 reload
+button6 bandage/heal
+button7 use (also switches between first person, third person, and free-floating while in spec)
+button8 sprint
+button12 from the 3.5 README: *** forgotten feature *** if you put maptoggle on 0 you can bind a key to button12 (like bind j +button12) that'll only display the minimap so long as its held down
+speed walk (UrT has “always run” turned on by default)
messagemode global chat
messagemode2 team chat

Basic scripting

Scripts, although limited, are very common in all Quake-based games: in UrT, even the demo recording and stopping (F12 key) uses a simple script (with some of the problems this causes).

A basic script would be as follows:

bind x "vstr do_stuff"
set do_stuff "vstr do_stuff_on"
set do_stuff_on "ut_echo doing stuff; set do_stuff vstr do_stuff_off"
set do_stuff_off "ut_echo not doing stuff; set do_stuff vstr do_stuff_on"

Bound to X, this echoes “doing stuff” when you first press the key, and “not doing stuff” on the next press; after that, the cycle starts from the beginning. You can have near-arbitrary amount of different variables, your main worry being ensuring that each one would point to the next one:-P

Explanation of what does what:

vstr instructs the game to execute the contents of a variable12).

do_stuff is an intermediary variable whose contents are to be changed at will: you notice that both lines after that set do_stuff to something else (it’s initially set to execute the first variable, otherwise the script would not work).

On key press, do_stuff gets executed and in turn immediately executes the first variable (do_stuff_on); the first variable, when executed, echoes the string and sets do_stuff to execute do_stuff_off. do_stuff_off echoes its own string and sets do_stuff to execute the first variable, do_stuff_on again, completing the circle. All possible scripts, however complicated, use the same basic technique; if you can follow this explanation, you should be able to customize any script you come across.

A variation of vstr is +vstr that executes something on key press and something else on key release:

bind x "+vstr do_stuff_on do_stuff_off"

A limitation of +vstr is that if you call another vstr via one of the variables, the second argument to +vstr won’t get executed.

Beware that scripting in Quake 3 / Urban Terror is full of edge cases and the limitations offer nasty surprises; for example, to make a “hold to zoom” bind, you’d have to do this:

bind x "+vstr zoominonce zoomout"
set zoominonce "vstr zoomin"
set nothing ""
set zoomin "ut_zoomin; set zoominonce vstr nothing"
set zoomout "ut_zoomreset; set zoominonce vstr zoomin"

The empty nothing ensures that the rifle won’t continue zooming in when you hold the key. Quite easy solution.

However, the seemingly simple script that would allow you to zoom in and out with the same key:

bind x "vstr zoominout"
set zoominout "vstr zoomin"
set zoomin "ut_zoomin; set zoominout vstr zoomout"
set zoomout "ut_zoomreset; set zoominout vstr zoomin"

would mean that every time you die while scoped in, after respawning you’d have to press the zoom key twice to actually zoom in — the state stored in zoominout cannot be reset when you die. If you have more than one or two of such sticky scripts, it would make sense to bind a special key for resetting all of them at once, to be hit whenever you respawn.

Feedback in scripts

ut_echo is a command that outputs a local message on the screen (upper left corner; only you can see it), useful for feedback. You can use colors in echoes the same way as in chat.

For more feedback options, you can use sound: for example, by default the screenshot key (F11) has following bound to it:

bind F11 "play sound/misc/kcaction.wav;screenshotjpeg;ut_echo ^1Screenshot^7 taken."

Sound files are referred to by using their paths starting from the PK3s (these can all be considered one amorphous blob for our purposes): sound/misc/kcaction.wav = UrbanTerror/q3ut4/zpak000_assets.pk3/sound/misc/kcaction.wav. You can play any sound you have in any of the PK3s, whether standard files, custom maps, or something you’ve added yourself.

Alternate clients

The vanilla client (named ioUrbanTerror in 4.1(.1), Quake3-UrT in 4.2) is a version of 2007 ioquake3, with some minor code changes (for example, the base folder is set to q3ut4 instead of baseq3, ensuring you don’t have to pass the fs_game parameter when launching the game). Although it’s the most stable client for most people, it lacks some of the features introduced into ioquake3 after 4.0 release; it also has no advanced rendering capabilities whatsoever.

Below is a partial list of clients that can be used to run Urban Terror. Important for Windows users: most of these clients do not save their configs, demos and screenshots in the UrbanTerror folder; to force the old behavior, add +set fs_homepath <path> (like +set fs_homepath C:\Games\UrbanTerror).

For 4.1(.1):

  • UrT can still be run as Quake 3 mod (or by simply using its binary); however, this is the least appealing solution. Similarly, OpenArena, an open source recreation of Quake III Arena, uses a compatible engine (the familiar ioquake3 codebase).
  • Ikalizer is a version of ioUrT with a different sound engine, intended to give better spatial representation of sounds.
  • dmaHD build is a similar project to Ikalizer. Also supports larger configs and more mouse buttons.
  • Mitsubishi’s build aka the optimized .exe is the kitchen sink client including Ikalizer, dmaHD, better mouse input, more supported buttons/keys, larger config size, and fancy rendering options from the bumpy binary. (The Google Translate–related options do not work anymore though: Google turned off the free API in December 2011.)
  • SACC aka Slackin’s Advanced Competitive Client has various cvars for fine-tuning your connection.

For 4.2:

  • diRf is an optimized client specifically for 4.2 (although it’s usable with older versions) built from newest ioquake3 sources. It comes with dmaHD and should also support 4.2 auth; some other features from the official client are disabled for security reasons. This build deliberately lacks raw mouse input though.
  • r00t’s build (based on Mitsubishi’s) supports auth, raw mouse, dmaHD and Ikalizer.
1) It’s kind of a tired joke on the official UrT forum that every few weeks someone registers just to suggest iron sights.
2) 4.2 is not HD — the latter is going to be the next generation of UrT, including new MD5 models, new maps, updated game code, proprietary version of Quake 3 engine, and anticheat.
3) as soon as you re-bind the default move keys, sprinting by pressing +moveleft and +moveright no longer works. i confirmed it a bunch of ways (config via the UI or manual edit, deleting all other binds, no autoexec, etc.). First Impressions from a nOOb
4) Knife hits in kevlar will bleed; knife hits in helmet will also bleed, although the damage location is not shown.
5) This has been toned down from 3.x and earlier versions where you could bend your upper body down at 90° angle, allowing you to hide behind knee-high ledges.
6) Sometimes on custom maps there are some bugs depending on what binary you use to play Urban Terror, you might only see the bomb spot in-game or on the minimap, but don’t worry as long as you can navigate using only the available option you will still be able to plant the bomb.
7) Although messagemode4 does exist, it does nothing.
8) Unfortunately, 4.1.1 doesn’t identify itself as such (the version number at the bottom right corner of the main menu is still 4.1). Some ways to find out whether you have this version:
* Look in the q3ut4 folder in your UrT installation directory. If you have a file named zpak001_assets.pk3 there, you have 4.1.1.
* In the main menu, click on “start server”. Look at the map list. If you see Company, The Docks and Herring at the top of the list, you very likely have 4.1.1.
* If you see people with short sleeves in the game, you have 4.1.1.
9) PS : Sur Windows, Urban Terror associe pour les binds les touches du clavier anglo-saxon (qwerty). Donc par exemple lorsque vous voulez associer la touche A à un bind, vous devez écrire bind q "ut_radio 5 5", Q étant à la place de A dans le clavier qwerty. (Des binds radio évolués)
10) Depending on your operating system, UrT may not recognize swapped mouse buttons.
11) May not work at all.
12) Simply using “do_stuff” would echo do_stuff is set do_stuff "vstr do_stuff_on", default: set do_stuff "vstr do_stuff_on" in the console — useful in some situations, but not what we need here.