From UnrealAdminWiki


About SmartCTF

SmartCTF is a serverside mutator to promote and reward teamplay in CTF games, instead of deathmatch. It has a special scoring system, as well as an advanced scoreboard showing various teamplay orientated statistics. It adds CTF related messages, and many, many more features.

This mod was originally made by {PiN}Kev around January 2004 (versions 1 to 4). In January/March 2005 it was picked up by {DnF2}SiNiSTeR (versions 4A to 4C). [es]Rush released a version 4D which implemented his CountryFlags.

4 years after the last version, SmartCTF had it's comeback! In December 2009, The_Cowboy & Sp0ngeb0b released a new version, containing many new enhancements which have been added over the years in 'in-official' versions.

SmartCTF {DnF2}SiNiSTeR modifications Homepage



SmartCTF 4E

Adminthis & The_Cowboy & Sp0ngeb0b, December 2009
  1. Added option to show SmartCTF scoreboard by default.
  2. Added option to show spectators on SmartCTF scoreboard.
  3. Added option to color the spectator-line on SmartCTF scoreboard.
  4. Added option to create keybind on client. Scoreboard can be changed by pressing F3.
  5. Added option to inform players about keybind.
  6. Added option to specify scoreboard initialization delay (required for compatibility with some server configurations).
  7. Added option to specify intro message delay (in case it is suppressed by a lot of other onjoin messages).
  8. Added score restoring feature
  9. Removed accessed none warnings
  10. Added Snowy SmartCTF scoreboard and santa images

SmartCTF 4D

[es]Rush, January 2006
  1. Support for IpToCountry actor!! If it is running SmartCTF will show little country flag miniatures below the faces.
  2. Improved SmartCTF logo showing up.
  3. Added additional stat - DefKills - will show up when bExtraStats is true. However it requires switching the stats every 3 seconds so it is not good when doing screenshots and want to have all the stats at one time.

SmartCTF 4C

{DnF2}SiNiSTeR, March 2005
  1. Bugfixed version of 4B, not much changes.
  2. Fixed: being unable to use a custom scoreboard like MODOS, SubStats or even the PURE Clickboard (after the first map).
  3. Spawnkill time limits can be specified in the .ini-file.
  4. Added a minimal flag capture bonus for the new scoring system.
  5. Displays a faceless avatar instead of a blank space, when a player has no face.
  6. No Flagsaves for flags really close to eachother.

SmartCTF 4B

{DnF2}SiNiSTeR, March 2005
  1. Totally renewed and vamped the SmartCTF scoreboard!
    1. The SmartCTF scoreboard now replaces the original scoreboard instead of painting over your HUD. But no worries, you can toggle between the normal scoreboard and SmartCTF scoreboard with the familiar command "mutate SmartCTF Stats". Also by default you won't see the SmartCTF scoreboard until the game has ended like with every other SmartCTF version. Therefore there should be no disadvantages, just the advantage that your HUD does not get screwed up anymore on occasion! (Like your Chat Area being hidden again...)
    2. Furthermore the scoreboard looks much sexier. Read on...
    3. For starters, players are accompanied by the face of their player model (avatar).
    4. There is a dark shading behind the data for better readibility of compressed screenshots.
    5. The statistic bars are now a ratio of the maximum, not the total.
    6. Players have extra stats: Efficiency, number of HeadShots, ShieldBelt and Damage Amp pickups.
    7. Therefore ping and packetloss is displayed under the avatar.
    8. The team headers if some extra information as well. These are average ping and packetloss for that team, and percent of total SB/Amp pickups.
    9. In the bottom of the screen the tickrate of the server will now display (at the end of the server line).
    10. All this data is also dynamic, trying to get as much players to fit on the screen as possible. It supports upto 18 players at a resolution 1024x768.
  2. Several bugfixes:
    1. Now compatible with UTPure's WarmUp Mode!
    2. Fixed "multiple player name" bug at end of game when people leave and join.
    3. No more "Long Range" messages when killing with a zoomed sniper.
    4. Show FC Location (bShowFCLocation in .ini) can actually be disabled now.
    5. As well as bPlay30SecSound, but this is tricky. When enabled, it changes a setting on the client when the player joins. This change remains until that player quits UT. So he could also hear the sound when joining a non-SmartCTF server later ;)
    6. Fixed a scoring error for flagreturns (mid/base swapped).
  3. More specific SmartCTF logging, also fills the Flag Assist column for UTStats beta 3 by azazel!
  4. Optional Spawnkill Detection, with score penalties and messages.
  5. SmartCTF Server Info (F2), including Record Holders for various stats.
  6. Optional "You Got The Lead"/"You Lost The Lead" announcer sounds at capping.
  7. Included "Overtime Control".
  8. New cap/assist scoring system.
  9. Console command "mutate SmartCTF ForceEnd" to force a game to end.
  10. Console command "mutate CTFInfo", like UTPure's "CheatInfo".
  11. "MonsterAnnouncer" for Enhanced MultiKill (broadcast multi kills etc. in console for example for reporterbot).
  12. Keybind for stat toggling can be selected in UT Settings / Controls.
  13. Made the startup logo smaller.
  14. Decreased filesize with ~one third.
  15. Decreased network usage by ~half.
  16. Works better on standalone games. But keep in mind it was programmed for a dedicated server.
  17. A lot general code improvements, optimalizations and changes.

SmartCTF 4A

{DnF2}SiNiSTeR, November 2004
  1. Fixes the "flagbug" where the flag is sent home when the FC disconnects. Now it is dropped there.
  2. Lots of booleans you can set in the .ini file to hide certain SmartCTF messages on your server.
  3. Same goes for setting SmartCTF bonuses and almost every other SmartCTF feature.
  4. Can be setup as Server Actor so you don't have to select the mutator each time. Doesn't load for non-CTF gametypes.
  5. Optional 'Assist' sound at assist, 'Capture' sound at capture and 'Nice Catch' sound at save.
  6. SmartCTF messages have their own spot and don't interfere with other messages, this also fixes the Saved message bug.
  7. Works with bots (thus offline) now as if they were players also.
  8. Enhanced MultiKill Messages (Triple Kill & MegaKill + Announcer).
  9. Code reformatting, various small code tweaks and optimalizations.
  10. Rules for Cover Kills altered a bit (more flexable).
  11. Missing Announcer sound on '30 second remaining' included.
  12. Other small sounds added for some SmartCTF messages.
  13. Long Range Kill detection and message at headshot location (headshot has preference).
  14. Powered by SmartCTF message/logo.
  15. Small Statboard enhancements.
  16. Shows "Deaths" instead of "Seals" if no Seals.

SmartCTF V4.0

{PiN}Kev, January 2004
  1. Option to turn off all smartCTF messages for those who fear distraction in matches.
    -mutate SmartCTF messages off/on
  2. Displays FC location right bottom side when your team has flag. No more need to F1.
  3. Added flag return points as follows: Flag returns in own base = 0.5 pts. Flag returns in mid = 2pts. Flag returns in enemy base = 4 pts. Flag returns very close to capping = 8 pts with a big message.
  4. Auto screenshot option for tourney mode maps. D/L the ini from main page and put in system dir.
  5. Fixed assist bug where some times it didn't reward as it should.
  6. Fixed accessed nones. No more scriptwarning: SmartCTF.broadcastlocalizedMessage stuff in the logs.
  7. Fixed current time error for month.
  8. Auto brings up stats at end of game.
  9. No longer made stats override F1, so people who dont have the stats binded can turn it off easier with F1.

SmartCTF V3.0

  1. Team scores on top
  2. Added ping , pl, and time for each player
  3. Shows server name at bottom
  4. Shows game ended message at top
  5. So now with those you can take SS of SmartCTF stats instead of F1 after each map in matches/tourneys.
  6. Now logs covers and seals into ngLogs (Prompted by dio\Apollo's ngLog parser: very nice stuff.
  7. Added current time for those who lose track of time playing. The time is YOUR time, whatever your computer is set to.
  8. Fixed some point system errors.

SmartCTF V2.0

  1. Fixed bug where not all players are drawn sometimes.
  2. Sorted names by score
  3. Changed color scheme for easier reading. The ammount of green in bar reflects the raw number of the stat.
  4. Added flag icon next to FC
  5. A cover kill is now either if the victim can see FC, ** OR ** if he's within 800 unreal units of FC (Approx 50 ft).
  6. Auto turns off F1 when viewing stats
  7. Made the number of pulse kills it takes to get pulse whore message configurable via ini. Just put the ini in the system folder.
  8. Fixed some bugs like suicides not resetting the 30-kill spree, not resetting list of ppl who assisted or covered/sealed after flag return.
  9. Fixed some accessed nones, which have no impact on server performance.
  10. Please remove all earlier versions of SmartCTF. I forgot to label the 1st one SmartCTFV1 in the mutator list, but this one is labeled SmartCTFV2.


SmartCTF is a client- and serverside mod. This means it has to be installed on the server. It should also be added to the ServerPackages so clients will download it automatically to be able to see stats and the likes.

The steps for Server Administrators are as follows:

  • Remove all earlier versions of SmartCTF to avoid conflicts!
  • Extract the .ini, .int, and .u files in the UT\System directory.
  • You can extract the readme file to UT\Help if you want.
  • Now open UnrealTournament.ini (in your UT\System folder) and look for [Engine.GameEngine].
  • Add the following to the list of ServerPackages=:
  • If you want to use IpToCountry you also have to add these
    but that should be described in IpToCountry's readme, and besides you need the IpToCountry.u.
  • Also, if you don't want to select the SmartCTF mutator each time but have it be added to CTF games by default, you have to add another line to the end of the list of ServerActors=:
  • There's a reason this has to be added at the end. The mutator will take the current scoreboard to show by default, but meanwhile replace it with the SmartCTF scoreboard. If say the ScoreBoard utility MODOSUtilV25 gets loaded after SmartCTF, the MODOS scoreboard won't get detected, or the SmartCTF scoreboard won't show. Note that UTPure also changes the scoreboard in Tournament games, for the clickboard. So place it after UTPure too.
  • Also, SmartCTF Server Info won't work if you insert the package in the list before UTPure!
  • For the same reasons, if you don't use the ServerActor but add the mutator manually, try sticking it at the end of the mutator list.
  • An usual mistake is to edit the UT .ini file while the server is still running. You won't be able to make changes to the file that way.
  • Ready to go!

Options in the .ini file

Just open up the SmartCTF_4E.ini in the UT\System folder. If you can't find it, run a game with SmartCTF one time to generate it with the default options.

Documentation here


  • When is a kill defined as a cover kill?
    Here is the technical information. When:
    - the victim is within 512 uu (10 meter) of your flagcarrier, or
    - you are within 512 uu (10 meter) of your flagcarrier, or
    - the victim is within 1536 (30 meter) of your flagcarrier and can see him, or
    - the victim is within 1024 (20 meter) of your flagcarrier and you can see your flagcarrier, or
    - the victim is within 768 (15 meter) of your flagcarrier and can see him if he turned.

  • When is a kill defined as a seal?
    a) The opponent's team doesn't have the flag, but your team has.
    b) You kill an enemy on your side of the map.
    c) Your flagcarrier is also on your side of the map.
    "Your side of the map" means you are in a level zone with your color in its name (Like "Red Base" or "Blue Corridor").

  • How does SmartCTF check where I return a flag?
    It checks the names of the level zone you are in when you did the kill (like "Red Base", "Blue Corridor" or "Upper Mid").
    Let's say your team is Red, then it checks for, and rewards as:
    "red" = Return in your base.
    "blue" = Return in enemy base.
    Neither = Return in the middle.
    900 uu (17 meter) from opponent flag = Close save.

  • What is Overtime Control?
    This setting allows you to control whether Sudden Death Overtime should kick in, when the time limit is reached and the cap scores are currently tied. If you don't want to worry about this, simply leave bEnableOvertimeControl to False.

    If it's set to True, you can set bOvertime to control it. You may want to use this for official maps to make sure your opponent won't have a deciding cap 0.5 seconds out of time (this is hard to tell). Instead, make sure the game ends even when its tied. bOvertime = False does just that. For deciders don't forget to set bOvertime back to True.

    Because this is a tricky setting considering deciders (which require overtime), you won't want to mess this up. By default bRememberOvertimeSetting = False, making sure at each mapchange, bOvertime will be set back to True (= safe). Setting it to True will ensure the bOvertime setting gets remembered through mapchanges.

    Use "mutate overtime" to see the current setting. Also, when the tournament game starts, you will see a big text for a few seconds, indicating whether it is on or off. See Commands section.

  • How do I see stats mid-game?
    Type "mutate smartctf showstats" in the console to toggle between normal scoreboard and SmartCTF scoreboard under F1.

  • OMG I'm a spawnkiller! How does SmartCTF define this?
    You get a spawnkill whenever you kill someone who has spawned less than 5 seconds ago, AND hasen't picked up any weapons or meaningfull pickups yet. Thus, is defenseless.

    The rule for Arena games such as Instagib, Rocket Launcher Arena and Sniper Arena is different. Then, a spawnkill is any kill within 1 second after your victim spawned.

    If you get 3 spawnkills in a row without dieing yourself, the server can be configured to broadcast a message saying you are a LAMER!

    From version 4C, the mentioned timelimits can be configured with SpawnKillTimeNW and SpawnKillTimeArena.

  • What do the abbreviations on the statboard mean?
    Personal stats; HS: Number of HeadShots made, SB: number of ShieldBelt pickups, AM: number of Damage Amplifier pickups, TM: time in minutes in the game, EFF: efficieny aka the frag/death ratio, P/PI: ping, L/PL: packetloss %.
    Team stats; PING: average team ping, PL: average team packetloss, TM: time in minutes the game is running, SB: % of ShieldBelts picked up in relation to the other team, AM: % of Damage Amps picked up in relation to the other team.
    Footer; TR: TickRate of the server.

  • The enhanced F2 server stats do not show up or cap count stays at 0.
    Unfortunately this happens on some servers, but I haven't been able to reproduce it. It is probably an incompatibility with some other mod. Try shuffling your mods around in the server.ini. Else go back to default F2 behaviour with bSmartCTFServerInfo=False.

  • I want to edit or delete the SmartCTF F2 server stats. How?
    Open the server's User.ini file. Find the [SmartCTF_4E.SmartCTFEndStats] block near the end. Edit it or delete the whole block.

  • The SmartCTF scoreboard doesn't show up at the end of the game.
    - First ensure SmartCTF is running at all by typing "mutate CTFInfo" in the console and see if something comes out.
    - If it is, type "mutate SmartCTF Stats". Does the scoreboard come up now?
    - If not, some mod is interfering (likely by running the console command twice, in effect immidiately hiding the scoreboard again). It's hard to tell which though - you have to manually single them out. In the past a mapvote caused this problem, but this has been fixed in the last version (I think X3dfxmapvote (UT)).


Other sections to be copied from the documentation. See source documentation for now.

See 4E source documentation for now.

the UnrealAdmin Page
  • SmartCTF