Ultra Freeze Tag 1.1 Commands and Variables


Contents


Server Variables (contents)

Variable Default Description Functional Area
g_thawTime 3.0 The amount of time, in seconds, a player must stand next to a teammate to thaw him. Fractional values (e.g. 2.5) are fine. Gameplay
g_autoThawTime 120 The amount of time, in seconds, it takes for a player to thaw automatically. Whole numbers only. Gameplay
g_friendlyAutoThawTime 120 The amount of time, in seconds, it takes for a player to thaw automatically if he was frozen by a teammate. Whole numbers only. Gameplay
g_hardcore 0 Set this to "1" to enable a hardcore suicide policy. Cratering and drowning players will freeze, and corpsicles in lava/slime/voids/death fog will take g_llamaPenalty seconds to thaw. Gameplay
g_llamaPenalty 3.0 Set this to the number of seconds it takes to thaw in lava/slime/voids/death fog. Fractional values (like 2.5) are fine. Gameplay
g_noDamageTime 0.0 The amount of time, in seconds, that a player cannot be damaged after he spawns in. This is primarily intended for instagib play. Fractional values are fine. Gameplay
g_noAttackTime 0.0 The amount of time, in seconds, that a player cannot fire his weapon after he spawns in. This is meant to be used with g_noDamageTime. Fractional values are fine. Gameplay
g_noFreezeTime 2.0 The amount of time, in seconds, that a player cannot be frozen after he spawns in. Fractional values are fine. Gameplay
g_startArmor 0 Set this to the amount of armor you want players to start with. Gameplay
dmflags 0 A binary mask to set certain game options. Add up the numbers belonging to the features you wish to enable and set dmflags to that value.

Value Feature
8 No falling damage
16 Fixed field-of-view: Players' cg_fov settings will be locked at 90.
32 No footsteps
64 No item reset: When a team wins a round all the living players will not have their health and weapon ammo reset.
128 No team reset: When a team wins a round, their players will not be automatically thawed.
256 Weapon stay: Weapons will not disappear when picked up.
512 No playerclip: Players can move through so-called "clip brushes", invisible volumes which are used to close certain areas off.
1024 Nightmare mode: All weapons do mega damage with 200 starting ammo. This is mostly used to set up instagib Freeze Tag servers. Note that with weaponlimit set to 2048, the Gauntlet will not do mega damage.
2048 No self damage: Splash damage weapons will not hurt the player who fires them.

For example, if you wanted a "nightmare mode" server with no falling damage, you would set dmflags to 1032 (8 + 1024).

Gameplay
wpflags 1 A binary mask to set which weapons players will spawn with.

Value Weapon
1 Machinegun
2 Shotgun
4 Grenade Launcher
8 Rocket Launcher
16 Lightning Gun
32 Railgun
64 Plasmagun
128 BFG10K

For example, if you wanted players to spawn with a machinegun, shotgun, and railgun, you would set wpflags to 35 (1 + 2 + 32).

Gameplay
weaponlimit 0 A binary mask to remove weapons and the ammo from a map. It uses the same values as wpflags. For example, if you wanted to remove the BFG from every map, you would set weaponlimit to 128. Gameplay
g_grapple 0 Set this to "1" to enable the grappling hook. Gameplay
g_grappleSpeed 1800 Determines how fast the grappling hook flies. Gameplay
g_grapplePullSpeed 1200 Determines how fast the grapple pulls players along. Gameplay
g_reloadFactor 1.0

A number usually between 0 and 1 that is multiplied against the reload time. 0 is no reload time, 1 is normal. Settings below 0.5 are not recommended, as reload times will quickly start to become framerate-dependent for some weapons. (For example, if it is set to 0.5, the lightning gun will not fire as quickly for players whose framerates are below 40.) You can get around this by using pmove_fixed.

This setting is probably most useful in instagib mode. Here is a list of reload times for the various weapons:

Weapon Reload Time
Gauntlet 0.4 (2/5) seconds
Machinegun 0.1 (1/10) seconds
Shotgun 1 second
Grenade Launcher 0.8 (8/10) seconds
Rocket Launcher 0.8 (8/10) seconds
Lightning Gun 0.05 (1/20) seconds
Railgun 1.5 (1 1/2) seconds
Plasmagun 0.1 (1/10) seconds
BFG10K 0.2 (1/5) seconds

For example, if you wanted the railgun to reload every second, you would set g_reloadFactor to 0.666.

Gameplay
g_railJumpKnock 0 Determines the strength of the knockback of the Railgun. This only affects the player that fired the shot. Setting this to 100 will give a knockback equal to that of the Rocket Launcher. Gameplay
g_pogoJumps 0 This setting is halfway between a joke and...okay, it's actually kind of a joke. Set it to "1" if you want "pogo jumps" enabled. If a player crash lands and has had the jump key held for 1/2 second or more, he will do a "pogo jump": his velocity will be reflected off of the surface he landed on. It's actually very useful, and anyone alive in the 70's will love the sound it makes. Gameplay
g_delagHitscan 1 Setting this to "0" will disable full lag compensation. Unlagged 2.0's correction for Quake 3's built-in 50ms lag will still be in effect, however. (This is the same correction that CPMA and OSP use.) Lag Compensation
g_smoothClients 1

The implementation of this has changed. Previously, having g_smoothClients set to "1" would simply prepare for extrapolation on clients that set cg_smoothClients to "1". Having g_smoothClients enabled on the server and cg_smoothClients enabled on the client was supposed to smooth out other players who would otherwise skip around because of a laggy connection. (It didn't work.)

g_smoothClients now extrapolates player positions on the server, making cg_smoothClients unnecessary and reducing network bandwidth requirements somewhat. The only downside is a nearly unappreciable amount of CPU usage. For the sake of your clients who would actually like to hit a player who would otherwise be skipping around, please leave this enabled unless you are really strapped for CPU power.

Lag Compensation
g_lightningDamage 8

With the lightning gun being so easy to use with lag compensation turned on, there has been a big debate over whether or not it's too powerful. People who say it is contend that the damage amount was assigned after the networking was in place; therefore the weapon had to be overpowered to make it useful. People who say it isn't say that the people on the receiving end simply aren't used to having the shaft pointed at them so much by people who can use it, and haven't had a chance to learn to dodge it properly.

I lean toward the latter, which is why the default on this setting is the damage the lightning gun does normally. However, if you have a problem with its overuse on your server, you might try setting it to 7 after removing it from wpflags.

Lag Compensation
ref_password "none" Set it if you trust a few players to have referee acess. Those players can use the ref command to authenticate as referee using this password. If set to "none," players cannot authenticate as a referee. Referee
g_refAutologin 0 Set this to "1" if you'd like referees to be able to login automatically by setting ref_login. Referee
g_startFrozen 0 Set this to "1" if you want players who join the game after it has started to join frozen. It is only meaningful if g_doWarmup is "1". Competition
g_doSuddenDeath 1 Set this to "0" if you want matches to be able to end in a draw. Competition
g_doTimeouts 0 Set this to "1" if you want teams to be able to call timeouts. Competition
g_maxTimeout 120 The initial duration of a team timeout, in seconds. Competition
g_numTimeouts 3 The maximum number of timeouts a team can call in a game. Competition
g_doReady 0 Set to "1" if you want players to have to ready up (by issuing a "/ready" command). This setting is only meaningful if g_doWarmup is "1". Competition
g_readyPercent 50 The percentage of players needed to be ready to start the game. This setting is only meaningful if g_doReady is "1". Competition
g_doTeamLocks 0 Set to "1" if you want teams lockable. If players lock their team, nobody can join until they unlock it. Competition
g_forceNoFloat 0 This is the amount of time players are allowed to free-float as frozen spectators before they are forced to follow a teammate. A setting of "0" will let players free-float indefinitely. Competition
g_allowFollowEnemy 1 With this set to "1," when another an enemy rails a corpsicle or hits one with the gauntlet, the player whose corpsicle it is will spectate the enemy player. Set this to "0" if you'd rather not have that happen. Competition
g_allowThirdPerson 1 Set to "0" if you don't want players to be able to play in third-person mode. Third-person is safe enough for public servers in UFreeze since the third-person angle and range are locked down, but probably not good for a competition game. Competition
disable_item_<item> 0 Set this to "1" to remove specific items from the game. Replace <item> with the full name of the item. For example, setting disable_item_quad to "1" will remove the Quad Damage from the game. See the file items.txt for a list of items, and ft-hook-rail.cfg for more examples. General
vote_* variables 1

Disable specific voting options by setting these values to 0. Here is the whole list of names:

vote_capturelimit vote_timelimit vote_warmup
vote_friendlyfire vote_gametype vote_grapple
vote_lagcomp vote_kick vote_remove
vote_putblue vote_putred vote_map
vote_restart vote_nextmap vote_railjump
vote_opinion vote_config

Of all these vote control variables, only vote_config's default value is "0", because it requires some configuration first.

All of the configuration files a player may vote on are in the directory votecfgs, inside the ufreeze directory. Five files are supplied as examples: casual.cfg, competition.cfg, instagib.cfg, 3bots.cfg, and nobots.cfg. The last two shouldn't need any changes, but if you want players to vote in new game types, you MUST make your votable configs match your server's config. The reason is that the configs are simply executed as if you had done an "exec votecfgs/casual.cfg" (for instance) at the server's command line, and will overwrite any settings they please. If you make them match, it won't matter.

At the end of each game type votable config is the command hard_restart. This is like map_restart, except that it forces the server to reload the map - in case items were disabled or enabled.

General
g_noVoiceChatSounds 0 Set this to "1" if you run a server and some players abuse the voice chat sounds. No one will any longer hear the voice chat sounds. General
g_floodProtect 1 sv_floodProtect is over-generalized and badly-implemented. It is disabled in UFreeze. Use g_floodProtect instead. General
bot_chatfrag 1 Set this to "0" if you want the bots to never target a player who is chatting. Be aware that a bot will keep attacking a player who begins chatting after the bot targets him. Also, if a player is not chatting for even a split second while the bot is watching, the bot will attack. (Best keep your consoles down, you know?) General
bot_grapplemonkey 2.0 Use this to change how often the bots will use the grapple if it's enabled. "0.0" means never, and "100.0" is the highest meaningful value. General
ammo_* variables various

Use these to change the amount of ammo players start with for each gun. The gun must be given to the player upon spawning using wpflags first. Here is a list of the variables and their default values:

Variable Default Variable Default
ammo_mg 100 ammo_sg 10
ammo_gl 5 ammo_rl 5
ammo_lg 60 ammo_rg 10
ammo_pg 30 ammo_bfg 15

Note that in nightmare mode (dmflags 1024), these values do nothing since players spawn in with 200 ammo for each weapon.

General


Server Commands (contents)

Command Description Functional Area
remove <client> Makes a player into a spectator, takes a client number as an argument. General
putblue <client> Puts a player on the blue team, takes a client number as an argument. General
putred <client> Puts a player on the red team, takes a client number as an argument. General
hard_restart This is like map_restart, except that the map is forced to reload. The map rotation will be preserved. This is useful for scripts that change from instagib to regular mode, since the instagib script will likely disable items. General


Client Variables (contents)

Variable Default Description Functional Area
cg_enemyModel "" Set this to the name of the model you want all of your enemies' bodies to appear as. This option is only meaningful if you are forcing models. Gameplay
cg_enemyHeadModel "" Set this to the name of the model you want all of your enemies' heads to appear as. This option is only meaningful if you are forcing models. Gameplay
cg_swapSkins 0 Set this to "1" if you want team colors swapped. This only applies to player models. This is useful in maps where one team color easily blends in. Gameplay
ch_drawSpeed 0 Set this to "1" if you want your current horizontal speed to appear in the upper-right corner of your screen. Gameplay
cg_teamRails 0 Set this to "1" if you want all rail colors to match the team of the player who shot the rail. Gameplay
cg_otherRailTrailTime 400 This was created so you can make changes to your own rail trail time (using cg_railTrailTime) without making it difficult to see other players' rails. Its upper bound is 400, so it's probably useless to change it. Gameplay
cg_pmove_fixed 1 Previously, every player was forced to accept the server's pmove_fixed setting. (A thorough discussion of pmove_fixed is way outside the scope of this document.) Now a player may set cg_pmove_fixed to "0" to override that. Note that to use pmove_fixed it still must be enabled on the server. Gameplay
cg_pmove_accurate 1 This is an alternative to pmove_fixed. pmove_fixed has issues - namely occasional frames going by without a player state change (which can make the game stutter a bit), and some slight (very slight) aiming issues.

cg_pmove_accurate addresses framerate-dependent behavior by eliminating rounding error rather than forcing all movement into frames of constant duration - which does not create the same problems as pmove_fixed does. It also takes a little less processing time to advance a player than pmove_fixed does, both on the client and on the server.

cg_pmove_fixed feels almost exactly like pmove_fixed 1, pmove_msec 8. You should probably only disable it if you have serious incoming bandwidth issues (cg_pmove_accurate takes up to about 50 bytes/sec of bandwidth), or if the very slight difference between it and pmove_fixed (or normal, framerate-dependent movement) bothers you.

Gameplay
cg_noVoiceChatSounds 0 Set this to "1" if you don't want to hear voice chats. Audio
cg_lastCue 1 Set this to "0" if you'd rather not hear the "last man" buzzer. Audio
cg_noChatBeep 0 Set this to "1" if you'd rather not hear the beeping sound when global chats are printed to your console. Audio
cg_noTeamChatBeep 0 Set this to "1" if you'd rather not hear the beeping sound when team chats are printed to your console. Audio
cg_noGrappleSound 0 Set this to "1" if you'd rather not hear your own grappling hook sound. You will still be able to hear other players'. Audio
cg_iceChips 1 Set to 1 to disable ice chips for faster framerates - though not much faster. You can also set this in the SETUP->GAME OPTIONS menu. Visual
cg_weather 1 Set this to "0" if you would rather not see autothaw-time-based weather effects. You can also set this in the SETUP->GAME OPTIONS menu. Visual
cg_crosshairPulse 1 Set this to "0" if you don't want the crosshair to pulse when you pick up items. Visual
cg_crosshairHealth 1 Set this to "0" if you don't want the crosshair's color to reflect your health and armor. Visual
cg_centerPrintTime 3.0 This is the amount of time huge messages (like "You thawed ...") will remain in the center of your screen. Visual
ch_drawFrozen 1 Set this to "0" if you'd rather not have your "% Frozen" or "% Thawed" indicator drawn when you are frozen. Visual
cg_chatFilter 0 Set this to "1" if you want player chats filtered for profanity. You can also set this in the SETUP->GAME OPTIONS menu. Visual
cg_teamChatsOnly 0 Setting this to "1" will filter out any non-teamchat message. Visual
cg_noVoiceChats 0 Setting this to "1" will filter out all voice chat messages. Visual
cg_noStats 0 Set this to "1" if you'd rather the server didn't dump your stats to the console at the end of every map. Visual
cg_pointClickSpec 1 Setting this to "0" will make spectating behave as it always has, meaning that you can't follow a player by clicking on his name in the scoreboard, and you can't follow a player by clicking on him in the game. Visual
cg_delag 1 Set this to "0" if you'd rather not have the server compensate for your ping. This setting is only meaningful if the server is compensating for lag (see g_delagHitscan). You can also set this in the SETUP->GAME OPTIONS menu.

This can also be used to opt into lag compensation for certain weapons. It's a binary mask like dmflags - so add up the numbers for the weapons you want lag compensated and set cg_delag to that.

Value Weapon
1 All hitscan weapons (overrides any other setting)
2 Machinegun
4 Shotgun
8 Lightning Gun
16 Railgun

For example, if you wanted lag compensation on every weapon but the railgun, you would set cg_delag to 14 (2 + 4 + 8).

Lag Compensation
cg_cmdTimeNudge 0 If you feel the server is overcompensating for your ping, you can set this to a positive number (like 25) to have it compensate less. Lag Compensation
cg_projectileNudge 0 If you want to use this feature, set it to your ping. If you can put up with the attendant visual inconsistencies (projectiles sticking into walls before exploding and looking like they start far away from your attacker's muzzle), this feature can make it easier to dodge projectiles. Lag Compensation
cg_truePing 0 Set this to "1" if you'd like to see software latencies reflected in everyone's ping times. The kind of information you get from "true pings" is much more useful in tweaking your connection and in helping you know how far forward to lead your shots. Lag Compensation
ref_login "" If the server has g_refAutologin set to "1", you can set this to your referee password and log in automatically when you connect. Referee


Client Commands (contents)

Command Description Functional Area
autofollow Turns on autofollow if you're in spectator mode. You will automatically follow the last player, players who pick up powerups, and living players - not necessarily in that order. It will also cause the scoreboard to show sometimes. Misc
showinfo Causes the "info" box to show itself like it did when the map started. Misc
clients Shows a list of all the connected clients, and a few bits of information about them. Use this to get a player's client number when you need it. Misc
me <text> Just like in IRC, causes you to emote. Chat
me_team <text> Just like me, except on the team channel. Chat
say_ref <text> Chat on the referee channel with this. Only referees will hear you. Chat
say_red <text> Chat to the red channel. Only players on the red team and referees will hear you. This is good for having a team conversation involving a referee. Chat
say_blue <text> Chat to the blue channel. Only players on the blue team and referees will hear you. This is good for having a team conversation involving a referee. Chat
ignore <client> Ignore a player's chats with this. If you do it, the player will have absolutely no means of communicating with you, except through other players. Use "/ignore" by itself to get a list of players you are ignoring. Chat
unignore <client> Stop ignoring a player's chats using this. Chat
stats [client] Issue this command to have your accuracy and freezing stats dumped to your console. If you give a client number as an argument, you can see another player's stats. Statistics
statsacc [client] Issue this command to have your accumulated stats (not just the current map's) dumped to your console. Statistics
statsred Dump the entire red team's accuracy and freezing stats to your console. Statistics
statsblue Dump the entire blue team's accuracy and freezing stats to your console. Statistics
statsall Dump every connected client's accuracy and freezing stats to your console. Statistics
statsteam Dump your own team's freezing stats to the console. Statistics
statsteamred Dump the red team's freezing stats to the console. Statistics
statsteamblue Dump the blue team's freezing stats to the console. Statistics
statsteamall Dump both team's freezing stats to the console. Statistics
topshots [weapon] Issue this command to see the best player accuracies for every weapon. If you follow it with a weapon abbreviation (MG, SG, GL, RL, LG, RG, PG, or BFG), it will show you every player's accuracy for that weapon. Statistics
bottomshots [weapon] Issue this command to see the worst player accuracies. Statistics
ready If the server requires players to "ready up", issue this command to signal that you are ready. Competition
notready Issue this command to signal that you are no longer ready. Competition
timeout / pause If the server has team timeouts enabled, you can issue this command to call a timeout. Competition
timein / unpause Issue this command to end a timeout, if a player on your team called it. Competition
lock If the server has team locking enabled, you can issue this command to lock your team. No other players will be allowed to join it until you unlock it. Competition
unlock Issue this command to unlock your team. Competition
ref [password] Log in as a referee with this command. If you are already a referee and do not supply a password, the server will give you a list of available commands. Referee
unref Issue this command to log out as a referee. Referee
ref_makeref <client> Issue this command to make another player into a referee. He will not have access to the ban list, and will not be able to do anything to another referee. Referee
ref_kick <client> Kick a player. Referee
ref_remove <client> Remove a player from whatever team he's on. Referee
ref_putred <client> Put a player on the red team. Referee
ref_putblue <client> Put a player on the blue team. Referee
ref_swap <client> <client> Swap two players. They must be on teams, and different teams. Referee
ref_clients List all of the players on the server, with some information about them. Referee
ref_allready Force every player to be ready. Referee
ref_allnotready Force every player to be not ready. Referee
ref_lock Lock both teams. Referee
ref_lockblue Lock the blue team. Referee
ref_lockred Lock the red team. Referee
ref_unlock Unlock both teams. Referee
ref_unlockblue Unlock the blue team. Referee
ref_unlockred Unlock the red team. Referee
ref_speclock Lock both teams against spectators following the players. Referee
ref_speclockblue Lock the blue team against spectators following the players. Referee
ref_speclockred Lock the red team against spectators following the players. Referee
ref_specunlock Unlock both teams against spectators following the players. Referee
ref_specunlockblue Unlock the blue team against spectators following the players. Referee
ref_specunlockred Unlock the red team against spectators following the players. Referee
ref_timeout / ref_pause Call a timeout, or extend the current timeout. Referee
ref_timein / ref_unpause End the current timeout. Referee
ref_restart Restart the map. This will not ruin the map rotation. Referee
ref_map <map> Load a map. This will not ruin the map rotation. Referee
ref_nextmap Go to the next map in the rotation. Referee
ref_mute <client> Mute a player. He will only be able to talk on the referee channel (using say_ref) until you use this command on him again. Referee
ref_ban <client> Both kick a player and add his IP address to the ban list. Referee
ref_addip <ip> Add an IP address to the ban list. Referee
ref_removeip <ip> Remove an IP address from the ban list. Referee
ref_listip List the IP addresses in the ban list. Referee
ref_invisible Go invisible. It will look like you disconnected to every player on the server, and for all intents and purposes, to them, you won't be there - unless you speak. Use it again or join a team to "connect" again. Referee
ref_wallhack Turn on a wall hack. This will show other players through walls when you are spectating and following another player. This works well with ref_invisible. Referee
ref_vote <yes|no> Issue a "referee vote", which will cause the current vote to pass or fail immediately. Referee