tutorials/new-mod.1338542200.txt.gz · Last modified: 2012/06/01 11:16 by natirips

New mod? Read this

This is an old revision of the document!


New mod? Read this

This is an expansion of AimMe’s original post on the forum three years ago. Some things have changed, many things have been added, and some things he didn’t talk about. There’s a good chance that most mods and admins regardless of their experience, not to mention lowly level 1 players, would find something useful here. (Just a quick reminder: you’re not expected to understand everything.)

Hereinafter “the server” is to be read as “the DSWP TDM server” (not all of the tools discussed here are usable with / have versions for our BOMB, JUMP & TS servers).

The least you need to know

On being a good deity

We are gods: whether minor deities or Creators, doesn’t matter, we shape the world for our subjects. The most important part of admining a server is not being a dick.

Ruling over an empty world kinda sucks, you know.

Chat vs console

In some cases (UrT /commands, as opposed to B3 !commands), you want to use console instead of chat. Console is hard-bound to the “tilde key” which on non-US keyboards is most commonly ^ or some other diacritic, usually located right below the Esc. If all else fails, Shift+Esc will do the trick.

You can scroll up and down in the console using the PgUp and PgDn keys. (Occasionally it appears the console is totally empty when you open it. But see this line of red carets? These mean the console is simply scrolled to the top; hit Ctrl+End to get back to the last line.)

Using B3 commands and what to watch out for

All commands start with ! (with no space before the command itself); for commands that give output, you can use the @ prefix which makes the output public (!nextmap tells the nextmap only to yourself, @nextmap to everyone).

To punish or reward a player, you’d use !<command> <name or number> <duration for some commands> <reason for some commands>, as in !tb unmiezi 1h egregious lack of miezitude, which would ban the player named unmiezi for one hour, logging “egregious lack of miezitude” as the reason (reasons for kicks and bans are also shown to the affected players after they’re forcibly disconnected, and logged in Echelon). Regardless of command, you can use just a part of the player’s name (say, unm or ezi would do in this case); if two or more players match, B3 will ignore the command and tell you their names and slot numbers.

There are several ways using names can fail. Say we have a player called .23, slot number 7. !k .23 tk does nothing, the name starts with an “illegal character”. !k 23 tk, however, B3 considers a slot number, and kicks the player number 23 instead (if such exists) — as long as the part of the name you’re using starts with at least one and at most two digits, it will be misinterpreted as slot number.

To find out a player’s slot number, there are two ways: !find <name>, or a bit more stealthy but more cumbersome /playerlist in the console. (In the latter case, you have to find the player from the list yourself.)

The most useful commands are:

  • !help <command> — gives you an usage example for the command. When used without parameters, lists all commands you can use on your current level.
  • @rules — lists all the DSWP rules, useful in order to resolve the occasional arguments about camping being “totally permissible, you noob admin”.
  • !kiss <name or number> — removes all warnings and TK points from the player. Used without name or number, it affects everyone. You probably know some nice players who never teamkill deliberately and who you’d gladly smooch to keep them from getting kicked.
  • !force <name or number> <team> <optional lock> — forces the player into red, blue or spec. Using lock keeps them from switching back to their previous team. To release a lock, use free as the team. !force all free releases all locks.
  • !ch <player 1> <player 2> — (aka !change) interchanges two players’s teams (only makes sense if they’re from opposing teams). Omitting the second name results in you being switched against the specified player: good for balancing teams if yours is stronger and you’re skilled enough to make a difference.
  • !! <text> — (aka !say) this allows a spectator to say things to players in-game.
  • !veto — cancels the vote in progress. Most cyclemap votes should be vetoed, unless the current map is clearly unsuitable (jumpmap on TDM, Dressingroom with 30 players) or has already been played like thousand times in the last hour. Same goes for nextmap votes for horribly unsuitable maps and further votes after an already passed vote.
  • !id <name or number> — display the player’s name, GUID and IP along with a timestamp. Do it always when recording a cheater.
  • !alias <name or number> — display the player’s most-used nicknames, if any.
  • !bi <name or number> — display the player’s previous bans, if any.
  • !ff <name or number> — (aka !follow) puts the player in the “under suspicion of cheating” list. Whenever a followed player joins, a PM is displayed to all mods and admins; whenever a mod or admin joins, a PM for any followed player is displayed to them. Use !uf (aka !unfollow) to remove the player from the list. Generally, if you have seen a warning about someone way too many times and they’re still not banned, it’s safe to unfollow them; they’ve just seemed “suspicious” to someone some time ago, which doesn’t amount to much.
  • !mute <name or number> <optional duration> — mutes the player until the next map, until they reconnect, or until the duration is over. B3 still sees and logs everything the muted player says, which means they can get kicked for spamming even though nobody sees it. Muted players can still call votes.
  • !afk <name or number> — asks the player if he’s AFK, if there’s no answer within a few seconds, the player is moved to spec. Similar but faster is !force <name or number> spec.
  • !poke <name or number> — displays a random message urging the player to move.
  • !slap <name or number> <optional amount> — slaps the player. Most useful for moving blockers out of the doorways, freeing people stuck on ladders and getting the attention of campers. The maximum amount is 25, capable of killing player with full health. Displays annoying bigtext to everyone on the server with each slap, so don’t overuse it.
  • !nuke <name or number> — spawns a HK69 grenade directed at the player. Pretty dangerous command, avoid using it if there’s a chance of someone else getting killed (it usually takes a second or two for the nuke to reach the target, so beware of people running by). Not terribly useful per se; it might force a camper to avoid the spot he got nuked at, or make a point for a spawnkiller, but its limitations (fails in confined spaces, easy to kill the wrong person, from the punishee’s point of view feels too much like a grenade from enemy) mean it’s a tool for special occasions.
  • !w <name or number> <optional reason> — (aka !warn) warns the player. Four active warnings result in a two-minute tempban; the warnings given by humans persist for an hour, as opposed to B3 ones that will expire after five minutes. You can only warn the same player once in every 15 seconds.
  • !k <name or number> <reason> — (aka !kick) kicks the player. They’re free to reconnect immediately.
  • !tb <name or number> <duration> <reason> — tempban the player. The duration is 1s for 1 second, 1m for 1 minute, 1h for 1 hour, and 1d for 1 day. Maximum duration is 3 days. There’s no space before the letter. For cheaters, you want to use !b.
  • !b <name or number> <reason> — (aka !ban) bans the player for 3 days. See the “Banning” section below for more.

You can warn without giving a reason (in which case the warning will be “behave yourself”), but other penalties do require one. You want to use these abbreviations (expanded by B3 into full warning) for the most common reasons:

  • tk — stop team killing!
  • ta — do not attack your teammates!
  • sk — do not spawn kill!
  • camp — stop camping or you will be kicked!
  • lang — Rule #7: No profanity or offensive language (in any language) (Don’t be overzealous; what is not to be tolerated is rudeness towards others, not occasional “fucking hell, no fucking hits whatsoever”.)
  • spam — do not spam, shut-up! (B3 warns for excessive chat spam automatically, but it can’t see radio spam.)
  • name — Rule #5: No offensive or potentially offensive names, annoying names and NO nazi names
  • adv — Rule #6: No advertising or spamming, it's annoying! (Leave the occasional people doing “/connect 127.0.0.1” alone, they’re just trying to go and play somewhere else and accidentally typing the command into chat, not necessarily advertising for another server.)

There’s an automatically updated B3 command listing for each server that includes short usage explanation and minimum level required. Note that occasionally things change and command levels on different servers go out of sync; this is unintended and reports are welcome.

Remember not to over-police; if there's nothing disrupting the gameplay, just enjoy yourself, it gives better results than attempting to make everything perfect.

Recording and watching demos

By default, the key for starting and stopping demos is F12; while recording, there’s a text shown at the top of the screen. (Beware: If you quit the game while recording, the state of F12 will “stick” so that next time you have to press it twice to start recording. Always check for the “RECORDING” text; if you can’t see it, you’re not recording.) By default, demos have names in the format of <year>_<month>_<day>_<hours>_<minutes>_<seconds>_<your current nickname>_<current map>_<current gamemode>.dm_68.

look-ma-no-hands.jpg To follow a cheater, you can simply click through the players, but on a large-ish server like DSWP TDM this is time-consuming. It’s better to use !find <name>, which gives you the player’s slot number, and then type /follow <number> in the console. (Note that the B3 command !follow is a completely different thing and will put the player in the “suspicious people” list.) Funny failure mode: 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.

You can find the demos recorded by you:

  • On Windows (pre-Vista), everything is saved in the UrbanTerror\q3ut4\demos\ folder wherever you installed it.
  • On Windows Vista and 7, you probably won’t find any demos in the default folder. In this case, they are located in C:\Users\<your username>\AppData\Local\VirtualStore\UrbanTerror\q3ut4\demos\. In case you want to keep Windows from using VirtualStore, see this post on the official forum.
  • On Linux and other common Unixes, everything is kept in a tidy dot directory — /home/<your name>/.q3a/q3ut4/demos/. You may need to turn on displaying hidden files in your file manager to reach this. Note that you may have to rename demos to all-caps (demoname.dm_68 to DEMONAME.dm_68) before you can watch them.
  • On Mac, the most likely location is User\Library\ApplicationSupport\Quake3\q3ut4\demos.

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 in quotes usually gives you a download location. Based on hearsay, some browsers may save the map with a ZIP extension instead of PK3 so you have to rename it before you can load it.

Demo playback has an interesting failure mode: if you have UrT 4.1.11), 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). 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, 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, but not while playing on DSWP — we currently don’t have any of them installed.)

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.

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 into different positions; when playing back a demo, the game interprets straight movement between points right before and right after CI.

Banning

If in doubt, don’t. Don’t kick either. Take a demo and post it; others can have a look and reach a decision. Banning is not a race, it’s possible to do it later, whether the cheater is in-game or not.

After the semi-recent change the previously admin-only (level 60 and above) !b command is now accessible to mods (level 40), but instead of a month, it only bans for three days. You still can use !tb <duration> for banning up to one day.

Thanks to the Autotopic plugin for B3, every !b creates a thread in the Lamas corner; this thread is posted under your name and behaves exactly the same as if you posted it, which among other things means you can simply delete the occasional double posts. You have to attach the demo of the cheater to this thread so that admins could watch it and decide whether to extend the ban. The poll at the top of each such thread was initially supposed to auto-extend bans if enough people voted yes, but extending has not been working from the very beginning and will probably remain so.

Note that although Autotopic inserts links to cheater’s XLRStats and Echelon pages, you still should do !id while recording the demo; it helps to unambiguously identify the cheater (occasionally there can be some doubt whether the demo shows the right player / whether the banned player is the same you recorded), and, well, sometimes Autotopic just falls flat on its face and has to be restarted. In which case you have to post everything manually, like in ye olden times.

In case the cheater/teamkiller happens to disconnect or get kicked, you can still ban them using their B3 ID — you did !id them, right? (Even if you didn’t, you can still see their B3 ID on their Echelon page.) The relevant part is the usually six-figure number starting with @ — you just do !b @123456 and that’s it. (Other commands work too, within reasonable limits, of course — slapping someone not connected wouldn’t make a whole lot of sense, but doing !follow for a suspicious player is a useful trick.) Be careful and always double-check the @ID: mods cannot undo bans and have to ask admins to do so.

Balancing teams

“Winning” or “losing” has no real meaning on this (fun-oriented) server; we talk about “balanced” and “unbalanced” teams instead. Balanced teams ideally mean that most of the action occurs in the middle part of the map, with minimal spawnkilling possible, and the team scores are approximately equal (say, 150:120 is still pretty balanced). Balancing is kind of an art, depending on the map, skill of the players, aggressiveness of the players, etc. Generally speaking, if the scores aren’t too far apart, if you’re not running into teammates near the opposing spawn or being constantly under attack in/at your own spawn, balance is best left alone. In case you’re skilled enough, just changing to the opposing team can do wonders.

After adding team balancer to the Poweradminurt plugin, the tolerance for the count-based balancing command !teams was relaxed (you now need more than three-people difference for this to have any effect), and the new magic word is !bal that balances the teams by skill. Beware: this command can be highly annoying, in some cases changing more than half the players at once (including mods and admins who are immune to !teams). Use !bal only when teams are badly unbalanced, otherwise rely on !force and !change.

Hints or tips

Commonly called “Pirat hints” after the inventor and most active user of these, they are useful tips bound to keys and utilizing the !! (aka !say) command, allowing you to help people playing even while you sit in spec. Example:

bind x "say !!^2HINT^7: Press '^2Q^7' or '^2A^7' to ^2bandage yourself^7 or ^2heal others^7."

It’s “Q or A” due to AZERTY-using players who are rather common here. (Note that say in this example is not a B3 command but an UrT command, forcing the following string being interpreted as chat, not a command string. Yeah, kinda confusing.) Since the strings must be surrounded by double quotes ("), you have to use single quotes (') in the tips. (If typed directly into chat, double quotes show up as spaces. Use duplicated single quotes ('') to fake double quotes.)

Numbers prefixed with caret are Quake color codes, useful for highlighting important parts of the string:

  • ^0: Black
  • ^1: Red
  • ^2: Green
  • ^3: Yellow
  • ^4: Blue
  • ^5: Cyan
  • ^6: Pink
  • ^7: White (the default text color; use it after any highlighted bit)
  • ^8: Black

Tips used by Pirat:

  • "say !!^2HINT^7: Press '^2Q^7' or '^2A^7' to ^2bandage yourself^7 or ^2heal others^7."
  • "say !!^2HINT^7: ^2Change weapons^7 with keys '^21^7' (^5KNIFE^7) to '^25^7' (or '6' in bomb mode) or ^2mouse wheel^7."
  • "say !!^2HINT^7: ^2Change weapon mode^7 with key '^2N^7'."
  • "say !!^2HINT^7: Press '^2CTRL^7' to ^2open/close doors^7 and defuse bomb."
  • "say !!^2HINT^7: Someone cheating? Take demo (F12), say '!admin <name> is cheating', then visit dswp.de/postdemo"
  • "say !!^2HINT^7: ^1When we think camping is killing the fun, we stop it.^7" // explaining why campers are warned and kicked, rather than relying on might and right alone
  • "say !!^2HINT^7: Say '^2!fa^7' to ^2forgive all^7 who attacked you, or they might get kicked."
  • "say !!^2HINT^7: Say '^2!fp^7' to ^2forgive someone^7 who just attacked you, or they might be kicked."
  • "say !!^2HINT^7: Press '^2E^7' to ^2SPRINT^7 (i.e. run faster)."
  • "say !!^2HINT^7: Press ^2F5^7 to ^2call a medic^7, so your team can locate you."
  • "say !!^2HINT^7: To ^2kill yourself^7, hit ^2Shift-ESC^7, then type: ^2/kill^7" // for when someone complains that he’s stuck and asks others to kill him

The most useful and commonly-used tips deal with bandaging (press Q) and forgiving (!fp or !fa). Another useful tip to keep ready is one explaining that smoke grenades and HK69 are forbidden here (when you see someone repeatedly joining the game and immediately going back to spec, they’re obviously not seeing or understanding the PM by B3). Mix and match as you see fit.

More about your main tools

B3

Big Brother Bot is not actually part of Urban Terror; it’s a multi-platform bot usable on most Quake 3–derived games (including the bane of UrT suggestions forum, Call of Duty series). B3 is first and foremost an rcon mediator, sitting on the server as logged in admin and giving selected people access to selected admin commands. This means that even the highest-level B3 admins are still equal to the lowliest of peons in the eyes of the game server itself (notably, even though B3 won’t warn or kick you for teamkilling, if you exceed the TK limit set in server config file, the server will kick you nonetheless). B3 is also maintaining two databases: GUID-based penalty database (UrT itself only allows IP-based bans, logs no kicks and issues no warnings), also accessible via the web interface called Echelon, and XLRStats database for players’ kills, deaths and other assorted stuff.

XLRStats

XLRStats is a statistics plugin for B3; usually the servers that have bot also have stats enabled. Most of the names you see on the main DSWP site are links to stats pages (JRandomNoob’s page hereby offered as an example). While its main function is displaying one’s e-penis in all its glory, XLRStats also provides quick assessment of a player’s nature: suspiciously high ratio? lots of teamkills? horribly noobish? has a tendency to join every hour or so and get kicked within minutes? Additionally, the main page for XLRStats (http://www.dswp.de/old/xlr_stats.php without any parameters) lists top 50s by various parameters, and most importantly, allows you to search players by name. It’s better than Echelon name search, allowing you to search only last-used names (default) or also include aliases (previously-used names).

Echelon

Although there are red Echelon links in the main menu (you did notice them, being a new mod and all, right?), you’ll mostly use Echelon via players’ XLRStats pages. On top of each such page is a link saying “echelon page of this player” — this link both logs you into Echelon and directs you at the relevant stats. Note that your Echelon password, included in the link’s address, is not the same as your forum password. It’s advised to middle-click this link (or right-click and choose “Open in new tab”) — otherwise the Echelon page opens in a new window with inactive address bar.

Players’ GUID and IP are links, click on them searches for other occurrences of them. Since the player identification in Urban Terror uses the rather fragile GUIDs as unique identifiers, GUID search is useless — there’s exactly one match, the same player whose page you are on. IP search is much more interesting: if the player has changed their GUID, their IP might be same, allowing you to find a cheater’s previous identities and possible bans. Here’s where address bar comes handy — by deleting the last one or several octets (digit groups separated by dots) you can widen the search range (most IPs nowadays are dynamic).

Software

For 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, it 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 for playing.)

Samtron has written a Vista/7 compatible desktop gadget named DSWP Server viewer that shows people on forum/servers/mumble/irc.

For Linux

Everything here is written by Pirat and command-line only.

playdemo allows you to play any demo located anywhere. For sniffing whether it’s a 4.1 or 4.1.1 demo, there’s demo file analyzer.

For browser haters, there’s postdemo intended for posting demos & ban info (also suitable for posting anything else on the forum).

dswpppl shows people on forum/servers/mumble/irc.

dswpmapvote allows you to define your preferred mapcycle and vote with a single command without visiting the map voting page and click-click-clicking a whole bunch of little checkboxes.

DSWP bar

(Firefox only) SvaRoX has written a Firefox addon that is essentially an extension to the forum — you use the same username & password and once logged in via the bar, you’re also logged in to the forum. The main function of the bar is to continually monitor the most important parameters of the server (current map, next map, scores, and time remaining) so you would know when it’s the best moment to join. If you have any people set as friends on the forum, by default the bar displays a popup whenever any of them joins or leaves the server; the Stfu checkbox keeps the friends popup away.

DSWP bar can save your username and password so that the next time you want to log in, you can simply press “Load profile” and avoid typing. This functionality is unfinished though; if you change your password on the forum, you have to delete the DSWP bar profile (in Firefox menu, Tools > Options > Security tab > Saved passwords button) and then retype and resave your username and password in the bar.

DSWP bar hasn’t been updated in a while and only works on Firefox 3.x unless you do some scary magic.

Useful pages on DSWP

Statusxml

(Usable without being logged in; works in Firefox, Safari, Opera, Chrome and pretty much everything other than Internet Explorer) This is a Javascript-using web page that shows real-time status of the server (players in their teams, their scores, map being played and time remaining). Player names are links that display a popup with basic data about them; Playerstats at the bottom of the popup gives you their XLRStats page.

Recent bans

(Link also displayed in the main menu) Choose admin bans, B3 bans (mostly TK kicks), or both. Names are links that give you the delinquent0rs’ (or, if you’re interested, the execut0rs’) XLRStats page.

Chatlog

(Usable without being logged in) The Echelon chatlog shows you the last 500 lines generated by the players (B3 warnings, spams & bigtexts are not shown). In its basic form, it makes for a useful tool for keeping an eye on the server (chat being somewhat more expressive than the scores of players…).

In case you want to read chat from a specific date, you can add parameters to the URLtimestamp takes a value expressed as Unix epoch (a converter is available online), and rows displays more lines than the default (the whole chat generated in a day is pretty much always between 2000 and 3000 lines — note that excessive amount of lines may take a long-ish time to load). You can use timestamp without rows (in which case 50 lines are displayed), but not vice versa. The chatlog displays timestamps in CET (Central European Time, DSWP native time, and also the timezone most of the players visiting the server live in), which is GMT +1 hour — remember this when using the converter.

Example URL from the moment of writing this:

http://www.dswp.de/echelon/chatlog.php?timestamp=1335987797&rows=1000

Such links are also attached to each penalty registered in Echelon for easy reference (the date is a link). aimlessbot on #dswp can convert dates into chatlog links with the !chatlog command.

Other

IRC

We have a channel on QuakeNet named #dswp. If you don’t know what IRC is, the easiest way to chat there is to use our web applet (link also available in the main menu). For prolonged stay it’s more sensible to use a dedicated IRC client — for starters, most common client for Windows is mIrc, terminal-loving Unix people tend to use irssi, XChat/YChat is a graphical client available for both Windows and Linux, and there are also several more generic chat clients that understand IRC (you may know Pidgin, née Gaim).

On #dswp resides our lovely CuntBot; her function is to act as a mediator between the channel, forum and game server. List of the commands is available on our AnusWiki; you can also ask for the list using !help on the channel. Her commands are prefixed the same way B3 ones are, with ! for normal use and @ for publicly visible output. CuntBot allows proper-levelled people do some of the B3 things without joining the game (!say, !bigtext, !kick, !slap, !nuke); she’s also relaying the !admin requests to the channel. Cuntie’s also reporting when any of the registered people joins any of the servers or Mumble, and giving the information about people on IRC in the whoswhere display. For fun, there are !penis and the magic all-question-answering !8ball.

When CuntBot is down, aimlessbot takes her place (and I swear, he’s seen more uptime in the past year than CuntBot…). He’s simpler, has no powers on the channel or on the game server, but can still listen for !admin, tell you who’s playing or mumbling, etc.

Mumble

Our software of choice for trashtalking, discussing anal beads and singing badly off-key birthday songs is Mumble. Before use, it needs calibrating to your sound card / microphone / drivers / whatever; be sure not to skip this step, for the admins of DSWP are fragile of ear and quick to anger.

The address is dswp.de, port is default. When connecting, you use your forum username and password for identification. There’s Mumble viewer on the upper right corner on all forum pages; CuntBot/aimlessbot and B3 also have !mumble command displaying users online.

Note for Windows users: In case you already have an older installation lying around, you may run into an odd problem, Mumble complaining that “A referral was returned by the server” and shutting down. Read this.

What’s not working anymore

!trans in CuntBot/aimlessbot and !translast in B3 (also the autotranslation in Mitsubishi’s UrT build) stopped working when Google killed off their free translation API in December 2011. Currently there’s no replacement; use their web page for translating.

DSWP bar badly needs updating, at least to get rid of the “incompatibility” problem (only Firefox 3.x agrees to run it).

1) 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.