Variables can be used to change almost everything about how the game works. Currently there is almost no documentation on the website, so as of now this page is just a really long list of variables and descriptions copied and pasted from https://github.com/redeclipse/base/blob/master/config/usage.cfg and then formatted for the website. However, we are working on sorting these into a series of pages. You can help too by clicking the “edit on GitHub” button on the top right.

basic gameplay commands

“name” “sets your player’s display name” “name” “quit” “quits the game” “connect” “connect to a multiplayer server” “[IP or hostname port admin or server password]” “accountname” “name to authenticate as” “name” “accountpass” “authentication key to authenticate as” “key” “authconnect” “toggles automatic authentication upon connection” “boolean” “disconnect” “disconnects from the current server or singleplayer game” “discordenabled” “toggles Discord functionality (if present)” “boolean” “auth” “sends an account authentication request” “spectate” “toggles spectator status” “boolean” “team” “requests team change to the specified team” “team” “thirdpersonswitch” “change from first to third person point of view or vise-versa” “playermodel” “toggles between male (0) and female (1) player models” “boolean” “playercolour” “sets the player model’s accent colour and chat icon colour” “colour” “colour” “sets the player model’s accent colour and chat icon colour” “colour” “goto” “jumps the spectator camera to the position of the specified client” “name/cn”

map commands

“mapvariant” “returns the current map variant; 1 for normal and 2 for alt” “forcemapvariant” “sets the current map variant; 0 for random, 1 for normal, 2 for alt” “value”

misc commands

“connectguidelines” “toggles acceptance of the multiplayer guidelines” “boolean” “setdesc” “sets the description for an alias (you are reading one right now)” “alias description arguments” “version” “game version for scripts” “version” “autosavebackups” “make backups;^n0 = off, 1 = single backup, 2 = named backup, 3/4 = same as 1/2 with move to ^”backups/^”” “value” “autoreloading” “0 = never, 1 = when empty, 2 = weapons that don’t add a full clip, 3 = always (+1 zooming weaps too)” “value” “skipspawnweapon” “skip spawnweapon;^n0 = never, 1 = if numweaps gt 1 (+1), 3 = if carry gt 0 (+2), 6 = always” “value” “skipclaw” “skip claw;^n0 = never, 1 = if numweaps gt 1 (+2), 4 = if carry gt 0 (+2), 7 = if carry gt 0 and is offset (+2), 10 = always” “value” “skippistol” “skip pistol;^n0 = never, 1 = if numweaps gt 1 (+2), 4 = if carry gt 0 (+2), 7 = if carry gt 0 and is offset (+2), 10 = always” “value” “skipgrenade” “skip grenade;^n0 = never, 1 = if numweaps gt 1 (+2), 4 = if carry gt 0 (+2), 7 = if carry gt 0 and is offset (+2), 10 = always” “value” “skiprocket” “skip rocket;^n0 = never, 1 = if numweaps gt 1 (+2), 4 = if carry gt 0 (+2), 7 = if carry gt 0 and is offset (+2), 10 = always” “value” “skippickup” “disallow pickups for skipped weapons” “value” “weapselectslot” “determines how weapons are selected using the number keys;^n0 = by global weapon numbers, 1 = by temporary pickup slot numbers” “boolean” “showaiinfo” “determines how much info is shown for bots;^n0 = hide bot info, 1 = show bot joins/parts, 2 = show more verbose info” “value” “rehash” “reload configuration, including settings and UIs” “resetgl” “reloads all textures and re-initalizes OpenGL” “compresslevel” “level of png (lossless) compression for screenshots (0 = lowest compression; 9 = highest compression)” “value” “animoverride” “animation index to play in loop instead of normal player actions (see also findanims)” “index” “animtargets” “toggles overriding bots’ (in singleplayer) animations as well as the player’s in animoverride” “boolean” “findanims” “finds the index for an animation from its human-readable name, e.g. `findanim ^”shotgun reload^”; see ^f7src/game.h: animnames[] ^f4or ^f7data/actors/player/player.cfg^f4 for entries” “name” “testanims” “toggles locking player model/animation to due north regardless of camera orientation” “boolean”

demo settings

“demoautoclientsave” “determines if the client automatically saves demos after each match” “value” “demolock” “determines who may record demos;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder” “value” “democount” “determines the maximum amount of demo files that may be saved simultaneously on the server (deletes old demos if exceeded)” “value” “demomaxsize” “determines the maximum size of individual demo files that may be saved on the server” “bytes” “demoautorec” “determines if demos are automatically recorded each match” “value” “demoautoserversave” “determines if the server automatically saves demos to disk” “value” “demoserverkeeptime” “if greater than 0, only keep auto-recorded demos younger than demoserverkeeptime seconds” “value” “listdemos” “get a list of recorded demos available for download” “” “getdemo” “get the demo id and save to the name name, id defaults to the last and name defaults to the current time” “[id] [name]”

movement settings

“gravity” “raw gravity value” “value” “gravityscale” “multiply gravity by this much” “value” “gravityfall” “multiply gravity by this much when falling downwards” “value” “gravityfallcrouch” “multiply gravity by this much when falling downwards and crouching” “value” “gravitycrouch” “multiply gravity by this at all times while crouching” “value” “gravityjump” “multiply gravity by this much while in the process of jumping” “value” “buoyancy” “raw buoyancy value” “value” “buoyancyscale” “multiply buoyancy by this much” “value” “buoyancyfall” “multiply buoyancy by this much when falling downwards” “value” “buoyancyfallcrouch” “multiply buoyancy by this much when falling downwards and crouching” “value” “buoyancycrouch” “multiply buoyancy by this at all times while crouching” “value” “buoyancyjump” “multiply buoyancy by this much while in the process of jumping” “value” “liquidspeedscale” “multiply liquidspeed by this much” “value” “liquidcoastscale” “multiply liquidcoast by this much” “value” “floorcoastscale” “multiply floorcoast by this much” “value” “aircoastscale” “multiply aircoast by this much” “value” “slidecoastscale” “multiply slidecoast by this much” “value” “movespeed” “baseline movement speed” “value” “movecrawl” “multiplier of speed when crawling” “value” “movestraight” “multiplier of speed when only moving forward” “value” “movestrafe” “multiplier of speed when strafing” “value” “moveinair” “multiplier of speed when in-air” “value” “movestepup” “multiplier of speed when stepping up” “value” “movestepdown” “multiplier of speed when stepping down” “value” “impulseboost” “multiplier of impulse when boosting (double jump)” “value” “impulseboostredir” “redirection scale of player’s momentum into a boost (double jump)” “value” “impulsedash” “multiplier of impulse when dashing” “value” “impulsejump” “multiplier of impulse when jumping” “value” “impulsejumpredir” “redirection scale of player’s momentum into a jump” “value” “impulsekick” “parkour kick modifier” “value” “impulsekickredir” “redirection scale of player’s momentum into a kick” “value” “impulsekickdelay” “minimum time between wall kicks/climbs” “milliseconds” “impulseparkour” “multiplier of impulse when doing other parkour” “value” “impulseparkournorm” “minimum parkour surface z normal” “value” “impulseparkourredir” “redirection scale of player’s momentum into a parkour” “value” “impulsestyle” “impulse style;^n0 = off, 1 = touch and count, 2 = count only, 3 = freestyle” “value” “impulsecount” “number of impulse actions per air transit” “value” “impulsesliplen” “time before floor friction kicks back in” “milliseconds” “impulseslidelen” “time before powerslides end” “milliseconds” “impulsedashdelay” “minimum time between dashes/powerslides” “milliseconds” “impulsevault” “parkour vault modifier” “value” “impulsevaultredir” “redirection scale of player’s momentum into a vault” “value” “impulsevaultmin” “minimum percentage of height for vault” “value” “impulsevaultmax” “maximum percentage of height for vault” “value” “impulsemelee” “multiplier of impulse when using melee” “value” “impulsemeleeredir” “redirection scale of player’s momentum into a melee attack” “value” “impulseparkourlen” “length of time a run along a wall can last” “value” “impulsemeter” “impulse meter capacity (0 = freestyle)” “value” “impulsecost” “cost of impulse jump” “value” “impulseregen” “impulse regen multiplier” “value” “impulseregencrouch” “impulse regen modifier when crouching” “value” “impulseregenmove” “impulse regen modifier when moving” “value” “impulseregeninair” “impulse regen modifier when in air” “value” “impulseregendelay” “delay before impulse regens” “value” “impulsejumpdown” “scale for jumpdown (groundpound)” “value” “impulsejumpdownstyle” “toggles between allowing jumpdown while movement keys are pressed (1) and only allowing jumpdown if no other keys are pressed (0)” “boolean”

balance settings

“teambalance” “determines the method of team balancing; style is a player ranking (see balancestyle);^n 0 = off, 1 = by number then style, 2 = by style then number, ^n3 = by number, using swap requests, 4 = same as 3, and reassign players if necessary,^n 5 = same as 4, but by style, then number, 6 = by style during waiting, revert to 4 otherwise” “teambalancestyle” “determines the method of sorting for team balancing;^n 0 = top of list, 1 = time played, 2 = points, 3 = frags, 4 = scoretime, 5 = kdratio, 6 = combined kdratio, 7 = average scoreboard position” “value” “teambalancehighest” “determines if team balancing moves the highest players in the balance sort” “value” “teambalanceduel” “allow reassignments in duel” “bool” “teambalanceplaying” “min players before reassignments occur” “number” “teambalanceamt” “max-min offset for players per team before reassignments occur” “value” “teambalancewait” “how long before reassignment can happen again” “ms” “teambalancedelay” “how long before reassignments start” “ms” “teambalanceswap” “allow swap requests if unable to change team” “bool” “teambalancelock” “level at which one can override swap” “rank” “teambalanceavgposlocalweight” “weight of local statistics when balancing players by average scoreboard position” “value” “teampersist” “when a player leaves and rejoins the game, automatically put them on the same team they had before;^n0 = off, 1 = only attempt, 2 = forced” “value”

server gameplay locks (server-side configurable gameplay limitations)

“mastermode” “set a specific mode to the server;^n0 = open (everybody can join), 1 = veto (vetolock determines who can force a vote), 2 = locked (only moderator or higher can spawn), 3 = private (only global privs and players with the password can join the server)” “value” “masterlock” “determines who can set mastermode;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “spawneditlock” “determines who may spawn during editing when mastermode = 2 (lock), but not make changes to the map;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “editlock” “determines who may spawn during editing when mastermode = 2 (lock);^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “speclock” “determines who may force players to spectate;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “crclock” “determines who may use maps with an incorrect CRC integrity check;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “kicklock” “determines who may kick players;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “allowlock” “determines who may allow players;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “banlock” “determines who may ban players;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “mutelock” “determines who may mute players;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “limitlock” “determines who may limit players;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “vetolock” “determines who may force match votes;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “floodlock” “enables flood protection for everyone below a specific privilege level;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “floodmute” “automatically mute player when warned this many times” “value” “floodtime” “time span to check for floody messages” “value” “floodlines” “number of lines in floodtime span before too many” “value” “autospectate” “determines when the game switches automatically to spectate mode;^n0 = when idle, 1 = when remaining dead for autospecdelay” “bool” “resetallowsonend” “determines when the allow list is reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “resetbansonend” “determines when the ban list is reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “resetmutesonend” “determines when the mute list is reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “resetlimitsonend” “determines when the limit list is reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “resetvarsonend” “determines when these game variables are reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “resetmmonend” “determines when privilege mode changes are reset;^n0 = off, 1 = just when empty, 2 = when matches end” “value” “gamespeedlock” “determines if gamespeed is locked (also limited by varslock);^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “rotatemodefilter” “determines the modes which can be selected when the server selects the next map,^nconvenient to set using a sum of $modebit* vars, for example: (| $modebitediting $modebitdeathmatch)” $modeidxname “rotatemuts” “determines if mutators rotate when the server selects the next map;^n0 = never rotate mutators, 1 = always rotate mutators, >1 = decrease chances the larger this value” “value” “rotatemutsfilter” “determines the mutators which can be picked when the server selects the next map,^nconvenient to set using a sum of $mutsbit* vars” (concat $mutsidxname mode-specific1 mode-specific2 mode-specific3) “defaultmap” “default map, ^”^” = random” “map” “defaultmode” “default game mode;^n1 = editing, 2 = deathmatch, 3 = ctf, 4 = dac, 5 = bomber, 6 = race” “value” “defaultmuts” “default mutators, convenient to set using a sum of $mutsbit* vars” (concat $mutsidxname mode-specific1 mode-specific2 mode-specific3) “forcemapvariant” “force selection of a particular variant when loading maps, will change current variant if called when a map is loaded;^n0 = random, 1 = normal, 2 = alt” “value” “rotatemaps” “determines behaviour of map rotation;^n0 = off, 1 = sequence, 2 = random” “value” “rotatemapsfilter” “0 = off, 1 = filter based on mutators, 2 = also filter based on players” “value” “rotatemode” “determines if modes rotate when the server selects the next map” “value” “allowmaps” “determines which maps are allowed to be chosen without elevated privileges” “list” “mainmaps” “deathmatch maps” “list” “capturemaps” “capture-the-flag maps” “list” “defendmaps” “defend-the-flag maps” “list” “bombermaps” “bomber-ball maps” “list” “holdmaps” “hold bomber-ball maps” “list” “racemaps” “race maps” “list” “duelmaps” “duel map filter (extra filter on top of mode filter)” “list” “kingmaps” “king-of-the-hill maps” “list” “multimaps” “maps allowed for modes which require multi spawns (ctf/bb)” “list” “modelock” “determines at which privilege level modes are locked, according to modelocktype;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value”” “modelocktype” “determines the mode locking type;^n0 = off, 1 = lock level only, 2 = lock level can set limited mode and higher” “value” “mapsfilter” “0 = off, 1 = filter based on mutators, 2 = also filter based on players” “value” “mapslock” “determines at which privilege level maps are locked, according to mapslocktype;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “mapslocktype” “determines the maps locking type;^n0 = off, 1 = lock level only, 2 = lock level can select non-rotation” “value” “varslock” “determines if vars are locked;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “votelock” “determines at which privilege level votes are locked, according to votelocktype;^n0 = off, 1 = player, 2 = supporter, 3 = moderator, 4 = administrator, 5 = developer, 6 = founder, 7 = nobody” “value” “votelocktype” “determines the vote locking type;^n0 = off, 1 = lock level only, 2 = lock level can select prevmaps” “value” “votewait” “time in milliseconds before a player may cast another vote (to avoid flooding)” “milliseconds” “votestyle” “determines how mid-match votes are handled;^n0 = votes don’t pass mid-match, 1 = passes if votethreshold is met, 2 = passes if unanimous” “milliseconds” “votethreshold” “auto-pass votes when this many agree” “value” “voteinterm” “0 = must wait entire time, 1 = passes if votethreshold is met, 2 = passes if unanimous” “value” “votefilter” “filters out spectators that have not voted from the threshold” “value” “smallmapmax” “maximum number of players for a small map” “value” “mediummapmax” “maximum number of players for a medium map” “value” “maxalive” “only allow thisnumplayers (for current map) to be alive at once” “value” “maxalivequeue” “toggle queue system (used if number of players exceeds maxalivenumplayers for current map);^n0 = prohibits leaving spectator, 1 = players enter queue” “value” “maxaliveminimum” “only enables maxalive limit if the number of players is more than or equal to this” “value” “maxalivethreshold” “only enables maxalive limit if the number of players is more than or equal to this*numplayers (for current map)” “value” “spawnrotate” “spawn point rotation;^n0 = let client decide, 1 = sequence, 2 = random” “value” “spawnprotect” “time in milliseconds after spawning players cannot be damaged” “milliseconds” “duelprotect” “time in milliseconds after spawning players cannot be damaged in duel/survivor matches” “milliseconds” “instaprotect” “time in milliseconds after spawning players cannot be damaged in instagib matches” “milliseconds” “protectbreakshoot” “determines if firing a weapon breaks spawn protection” “value” “protectbreakcook” “determines if cooking a weapon breaks spawn protection” “value” “protectbreakaffinity” “determines if picking up an affinity breaks spawn protection” “value”

gameplay settings

“instaresizeamt” “each kill adds this much size in insta-resize” “value” “regendelay” “time in milliseconds after being damage before normal regeneration resumes” “milliseconds” “regentime” “time in milliseconds for which regenerate gives health” “milliseconds” “regenhealth” “amount of health regeneration gives” “value” “regendecay” “if over maxhealth, decay this amount each regen” “value” “kamikaze” “determines the level of kamikaze events;^n0 = never, 1 = holding grenade, 2 = have grenade, 3 = always” “value” “itemspawntime” “time in milliseconds before items (re)spawn” “milliseconds” “itemspawndelay” “time in milliseconds after map start items first spawn” “milliseconds” “itemspawnstyle” “determines the timing of item spawning at map start;^n0 = all at once, 1 = staggered, 2 = random, 3 = randomise between both” “value” “timelimit” “time in minutes before round ends, for modes without an explicit timelimit;^n0 = off” “time” “timelimitbomber” “time in minutes before a bomber-ball match ends;^n0 = off” “time” “timelimitbomberhold” “time in minutes before a hold bomber-ball match ends;^n0 = off” “time” “timelimitcapture” “time in minutes before a capture-the-flag match ends;^n0 = off” “time” “timelimitdefend” “time in minutes before a defend-and-control match ends;^n0 = off” “time” “timelimitdefendking” “time in minutes before a king defend-and-control match ends;^n0 = off” “time” “timelimitduel” “time in minutes before a duel match ends;^n0 = off” “time” “timelimitgladiator” “time in minutes before a gladiator deathmatch ends;^n0 = off” “time” “timelimitrace” “time in minutes before a race match ends;^n0 = off” “time” “timelimitracegauntlet” “time in minutes before a gauntlet race match ends;^n0 = off” “time” “timelimitracetimed” “time in minutes before a timed race match ends;^n0 = off” “time” “timelimitsurvivor” “time in minutes before a survivor deathmatch ends;^n0 = off” “time” “overtimeallow” “if scores are equal, go into overtime” “value” “overtimelimit” “maximum time overtime may last, 0 = forever” “minutes” “intermlimit” “time in milliseconds intermission lasts” “milliseconds” “votelimit” “time in milliseconds intermission voting lasts” “milliseconds” “damageself” “determines if the player can damage themselves;^n0 = off, 1 = either hurt self or use damageteam rules” “value” “damageselfscale” “determines how much self-damage is dealt;^n0 = off, anything else = scale for damage” “value” “damageteamscale” “determines how much team damage is dealt;^n0 = off, anything else = scale for damage” “value” “enemyspawntime” “determine length of time before enemies respawn” “milliseconds” “enemyspawndelay” “determine length of time after map start enemies first spawn” “milliseconds” “enemyspawnstyle” “determines enemy spawning style, 0 = all at once, 1 = staggered, 2 = random, 3 = randomise between both” “value” “playerscale” “defines the size of players” “value” “botscale” “defines the size of bots” “value” “captureresetdelay” “time in milliseconds before a dropped flag automatically resets” “milliseconds” “healthscalehard” “multiplier of spawn health when playing with hard enabled is active” “milliseconds” “maxhealth” “spawnhealth * maxhealth defines the maximum amount of health that can be reached (e.g. standing next to a friendly goal)” “value” “maxhealthvampire” “spawnhealth * maxhealthvampire defines the maximum amount of health that can be reached by damaging other players in vampire” “value” “minresizescale” “defines the smallest scaled size a player can become in a match with the resize mutator enabled” “value” “maxresizescale” “defines the largest scaled size a player can become in a match with the resize mutator enabled” “value” “checkpointspawn” “determines if you will respawn at checkpoints after material deaths” “value” “duelmaxqueued” “number of players that can be queued for duel. 0 = any number of players” “survivormaxqueued” “number of players that can be queued for survivor. 0 = any number of players” “followaiming” “determines aim direction when following a player” “[aim in thirdperson] [aim in first person]” “spectvfirstperson” “determines aim direction of spectv;^n0 = aim in direction followed player is facing, 1 = aim in direction determined by spectv when dead, 2 = always aim in direction” “value” “spectvthirdperson” “determines aim direction of spectv;^n0 = aim in direction followed player is facing, 1 = aim in direction determined by spectv when dead, 2 = always aim in direction” “value” “previousmaps” “list of previously played maps” “maphistory” “remember this many maps that can’t be voted again if votelock is set” “value” “intermmode” “determines camera style in intermission;^n0 = float, 1 = tv” “value” “coopbalance” “in coop, bot team gets this many players for each human” “coopmultibalance” “in multi-coop, each bot team gets this many players for each human” “serverclients” “maximum number of allowed clients” “value” “serverdesc” “server description” “text” “servermotd” “server message of the day” “text” “serveropen” “determines server openness for public use;^n0 = allow ^”setpriv 1^” and locked/private, 1 = allow ^”setpriv 1^” but no privileged mode, no locked/private, 2 = allow ^”setpriv 1^” but disallows private privileged mode (for public coop-editing), 3 = privilege only by moderator or above” “value” “autoadmin” “determines if authorities claim status by default” “value” “aihostnum” “multiply number of bots hosted by this much for the bot hosting decision” “value” “aihostping” “multiply host ping by this much for the bot hosting decision” “value” “aihostshift” “require this difference before shifting bot hosts” “value” “airefreshdelay” “delay imposed before the AI manager reorganises their setup” “milliseconds” “modelockfilter” “determines the modes which are allowed to be used as dictated by modelock,^nconvenient to set using a sum of $modebit* vars,^nexample: (| $modebitediting $modebitdeathmatch)” $modeidxname “mutslockfilter” “determines the mutators which are allowed to be used as dictated by modelock,^nconvenient to set using a sum of $mutsbit* vars” (concat $mutsidxname mode-specific1 mode-specific2 mode-specific3) “gamespeed” “percentage of default gameplay speed” “value” “gamepaused” “pauses the game, automatically unset by server” “value” “burntime” “time in milliseconds fire burns for, try to allow an extra 500ms breathing room for sync” “milliseconds” “burndelay” “time in milliseconds for which fire burning deals damage” “milliseconds” “burndamage” “amount of damage fire burning deals” “value” “bleedtime” “time in milliseconds bleeding lasts for, try to allow an extra 500ms breathing room for sync” “milliseconds” “bleeddelay” “time in milliseconds for which bleeding deals damage” “value” “bleeddamage” “amount of damage bleeding deals” “value” “bleedtime” “time in milliseconds shocking lasts for, try to allow an extra 500ms breathing room for sync” “milliseconds” “bleeddelay” “time in milliseconds for which shocking deals damage” “value” “bleeddamage” “amount of damage shocking deals” “value” “botskillmin” “minimum randomly assigned AI skill level” “value” “botskillmax” “maximum randomly assigned AI skill level” “value” “coopskillmin” “minimum randomly assigned AI skill level in coop” “value” “coopskillmax” “maximum randomly assigned AI skill level in coop” “value” “enemyskillmin” “minimum randomly assigned skill level for neutral actors in onslaught” “value” “enemyskillmax” “maximum randomly assigned skill level for neutral actors in onslaught” “value” “botlimit” “maximum number of bots allowed, regardless of any other variable/setting” “value” “botbalance” “determines bot balancing method;^n-1 = always use numplayers, 0 = don’t balance, 1 or more = fill only with this*numteams” “value” “botoffset” “increases or decreases the amount of bots starting from the numplayers value of the current map” “value” “mapcomplete” “enables map completion for a given command or alias;^nthis enables tab-completion for the first argument of an already existing command or alias,^nthe completion uses files that ends with ‘mpz’ in the ‘maps’ folders of the game’s homedir, and its data dir(s)” “command” “enemybalance” “multiply number of enemy spawns by this much” “value” “radialscale” “multiply explosion radius by this amount” “value” “radiallimited” “multiply explosion radius by this amount in limited situations (eg. instagib)” “value” “damagescale” “scale damage by this amount” “value” “hitpushscale” “scale hit pushes by this amount” “value” “hitstunscale” “multiply ^”stun target on hit^” by this amount” “value” “deadpushscale” “scale hit pushes by this amount when it results in a frag” “value” “wavepushscale” “scale of the hitpush force used in a wavepush” “value” “kickpushscale” “multiply kick pushes from weapons by this much” “value” “kickpushcrouch” “multiply kick pushes from weapons by this much when crouching” “value” “kickpushsway” “multiply kick push effect on hud gun sway by this much” “value” “kickpushzoom” “multiply kick pushes from weapons by this much when zoomed” “value” “lasthitdelay” “time in milliseconds before a hit no longer is counted as a last hit” “value” “multikilldelay” “time in milliseconds multiple kills in a row must occur” “value” “spreecount” “number of consecutive frags for each spree level” “value” “dominatecount” “number of frags on a single player without revenge before it is considered domination” “value”

“obitbleed” “determines death message caused by bleeding out from another’s bleed residual” “string” “obitbleedself” “determines death message caused by bleeding out from one’s own bleed residual or as a result of hurtmat” “string” “obitburn” “determines death message caused by being burnt to death by another’s burn residual” “string” “obitburnself” “determines death message caused by being burnt to death by one’s own burn residual or as a result of hurtmat” “string” “obitdeathmat” “determines death message caused by deathmat (when not specified by map)” “string” “obitdestroyed” “one of the unused obits (should not see in normal gameplay)” “string” “obitdied” “one of the unused obits (should not see in normal gameplay)” “string” “obitdrowned” “determines death message caused by entering deathmat water (when not specified by map)” “string” “obitfragged” “one of the unused obits (should not see in normal gameplay)” “string” “obitheadless” “one of the unused obits (should not see in normal gameplay)” “string” “obithurtmat” “determines death message caused by entering hurt material (when not specified by map)” “string” “obitkilled” “one of the unused obits (should not see in normal gameplay)” “string” “obitlost” “one of the unused obits (should not see in normal gameplay)” “string” “obitmelted” “determines death message caused by entering lava (when not specified by map)” “string” “obitobliterated” “one of the unused obits (should not see in normal gameplay)” “string” “obitshock” “determines death message caused by being shocked to death from another’s shock residual” “string” “obitshockself” “determines death message caused by being shocked to death from one’s own shock residual or as a result of hurtmat” “string” “obitspawn” “determines death message caused by being spawned or teleported inside geometry” “string” “obitspectator” “determines death message caused by becoming a spectator while still alive (voluntary or otherwise)” “string” “obitsuicide” “determines death message caused by killing onself via command (default hotkey k)” “string” “obitchoked” “determines death message caused by entering deathmat volfog (when not specified by map)” “string”

gamemode-specific settings

“duelreset” “determines if duel/survivor winner should be sent back to respawn for next round” “value” “duelclear” “determines if items are reset at the end of each round” “value” “duelcooloff” “cool off period before duel goes to next round” “milliseconds” “duelcycle” “determines if players are force-cycled after a certain number of wins (0 = off, 1 = non-team games, 2 = team games, 3 = both)” “value” “duelcycles” “maximum wins in a row before force-cycling (0 = num team/total players)” “value” “pointlimit” “number of points required to end the round (and win) in deathmatch modes” “value” “capturelimit” “number of captures required to end the round (and win) in ctf” “value” “capturepoints” “points added to score for capturing flag” “value” “capturepickuppoints” “points added to score for picking up enemy flag” “value” “capturethreshold” “automatically drop the flag if the flag-carrier ^”warps^” more than this distance” “distance” “capturebuffing” “buff circumstances” “[near own flag at its base] [near own loose flag] [holding own flag] [near teammate holding own flag] [holding enemy flag] [near teammate holding enemy flag]” “capturebuffdelay” “buffed when guarding, and for this long after” “milliseconds” “capturebuffarea” “multiply affinity radius by this much for buff” “value” “capturebuffdamage” “multiply outgoing damage by this much when buffed” “value” “capturebuffshield” “divide incoming damage by this much when buffed” “value” “captureregenbuff” “0 = off, 1 = modify regeneration when buffed” “value” “captureregendelay” “regen this often when buffed” “milliseconds” “captureregenextra” “add this to regen when buffed” “value” “defendlimit” “determines the style of dac play;^nnumber of points required to end the round (and win) in dac” “value” “defendinterval” “time in milliseconds to add one tick to the secure gauge” “milliseconds” “defendpoints” “number of points given in dac” “value” “defendoccupy” “ticks needed to overthrow or secure a control area” “value” “defendking” “ticks needed to secure in king-of-the-hill” “value” “defendhold” “ticks an area must remain secured in order to score” “value” “defendflags” “flags to init and how;^n0 = init all (neutral), 1 = init neutral and team only, 2 = init team only, 3 = init all (team + neutral + converted)” “value” “defendbuffing” “buff circumstances” “[when guarding] [when securing] [even when enemies are present]” “defendbuffoccupy” “if defendbuffing = 4, must be occupied this much before passing” “milliseconds” “defendbuffdelay” “buffed for this long after leaving” “milliseconds” “defendbuffarea” “multiply affinity radius by this much for buff” “value” “defendbuffdamage” “multiply outgoing damage by this much when buffed” “value” “defendbuffshield” “divide incoming damage by this much when buffed” “value” “defendregenbuff” “0 = off, 1 = modify regeneration when buffed” “value” “defendregendelay” “regen this often when buffed” “milliseconds” “defendregenextra” “add this to regen when buffed” “value” “bomberlimit” “finish when score is this or more (non-hold)” “value” “bomberholdlimit” “finish when score is this or more (hold)” “value” “bomberpoints” “points added to score for a goal” “value” “bomberthrowinpoints” “points team gets for scoring with throw-in in basket” “value” “bombertouchdownpoints” “points team gets for scoring with touchdown in basket” “value” “bomberpenalty” “points taken from score for throwing the bomb into your own goal” “value” “bomberpickuppoints” “points added to score for picking up the bomb” “value” “bomberholdpoints” “points added to score for each interval (hold)” “value” “bomberholdpenalty” “points subtracted for having the bomb fuse run out (hold)” “value” “bomberthreshold” “automatically drop the bomb if the bomb-carrier ^”warps^” more than this distance” “distance” “bomberbuffing” “buff circumstances” “[when near own base] [when holding bomb] [when holding bomb as the defenders (attack only)]” “bomberbuffdelay” “buffed for this long after leaving” “milliseconds” “bomberbuffarea” “multiply affinity radius by this much for buff” “value” “bomberbuffdamage” “multiply outgoing damage by this much when buffed” “value” “bomberbuffshield” “divide incoming damage by this much when buffed” “value” “bomberregenbuff” “0 = off, 1 = modify regeneration when buffed” “value” “bomberregendelay” “regen this often when buffed” “milliseconds” “bomberregenextra” “add this to regen when buffed” “value” “bombercarryspeed” “scales the movement speed of the player carrying the bomber ball by this value” “value” “bombercarrytime” “time in milliseconds a player can carry the bomber ball before it explodes” “milliseconds” “bomberholdinterval” “time in milliseconds a player needs to hold the ball in hold bomber-ball to get a point” “milliseconds” “bomberpickupdelay” “time in milliseconds a player needs to wait to be able to pick up the bomber ball again after dropping it” “milliseconds” “bomberresetdelay” “time in milliseconds before the bomber ball resets after being dropped” “milliseconds” “bomberspeed” “speed at which the bomber ball moves when thrown or dropped;^nfor reference, 125 is the speed the player moves at by default” “value”

game mode aliases

“map” “requests a map change to a given map, with no change of mode or mutators;^ndepending on privileges, this will force or vote for the map change” “map” “gamemode” “returns the current game mode; 0 = demo, 1 = edit, 2 = dm, 3 = ctf, 4 = dac, 5 = bb, 6 = race” “mode” “sets the mode and mutator values for the next map change request;^nmode sets the mode type,^nmuts sets the mutators according to a bitwise sum of mutator values,^nconveniently set using $modeidx* vars and sums of $mutsbit* vars,^nexample: mode $modeidxdeathmatch (| $mutsbitinstagib $mutsbitmedieval)” “mode muts” “start” “requests a map change to a given map with a specific mode and mutators;^ndepending on privileges, this will force or vote for the map change,^nmode sets the mode type,^nmuts sets the mutators according to a bitwise sum of mutator values,^nconveniently set using $modeidx* vars and sums of $mutsbit* vars,^nexample: start bath $modeidxdeathmatch (| $mutsbitinstagib $mutsbitmedieval)” “map mode muts” “edit” “starts editing on a random map. specifying a file name will create a new map file on a blank map canvas” “map” “demo” “starts playback of a given demo” “demo” “deathmatch” “requests a map change to deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values, conveniently set using a sum of $mutsbit* vars,^nexample: deathmatch bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “ffa” “requests a map change to free-for-all deathmatch on a given map; ^n[muts] optionally adds extra mutators according to bitwise mutator values, conveniently set using a sum of $mutsbit* vars,^nexample: ffa bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “fdm” “requests a map change to free-for-all deathmatch on a given map; ^n[muts] optionally adds extra mutators according to bitwise mutator values, conveniently set using a sum of $mutsbit* vars,^nexample: ffa bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “dm” “requests a map change to deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values, conveniently set using a sum of $mutsbit* vars,^nexample: dm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “teamdm” “requests a map change to team deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: teamdm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “tdm” “requests a map change to team deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: tdm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “multidm” “requests a map change to multi deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: multidm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “mdm” “requests a map change to multi deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: mdm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “coop” “requests a map change to coop deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: coop bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “cdm” “requests a map change to coop deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: cdm bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “instagib” “requests a map change to instagib deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: instagib bath (| $mutsbitduel $mutsbitmedieval)” “map [muts]” “insta” “requests a map change to instagib deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: insta bath (| $mutsbitduel $mutsbitmedieval)” “map [muts]” “medieval” “requests a map change to medieval deathmatch on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: medieval bath (| $mutsbitinstagib $mutsbitduel)” “map [muts]” “kaboom” “requests a map change to kaboom deathmatch on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: kaboom bath (| $mutsbitinstagib $mutsbitduel)” “map [muts]” “duel” “requests a map change to duel deathmatch on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: duel bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “survivor” “requests a map change to survivor deathmatch on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: survivor bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “lms” “requests a map change to survivor deathmatch (last man standing) on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: lms bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “classic” “requests a map change to classic deathmatch on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: classic bath (| $mutsbitinstagib $mutsbitduel)” “map [muts]” “capture” “requests a map change to capture-the-flag on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: capture bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “ctf” “requests a map change to capture-the-flag on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: ctf bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “quickcapture” “requests a map change to quick capture-the-flag on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: quickcapture bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “defendcapture” “requests a map change to defend capture-the-flag on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: defendcapture bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “protectcapture” “requests a map change to protect capture-the-flag on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: protectcapture bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “defend” “requests a map change to defend-and-control on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: defend bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “dac” “requests a map change to defend-and-control on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: dac bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “dnc” “requests a map change to defend-and-control on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: dac bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “quickdefend” “requests a map change to quick defend-and-control on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: quickdefend bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “kingdefend” “requests a map change to king defend-and-control on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: kingdefend bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “koth” “requests a map change to king defend-and-control (king of the hill) on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: koth bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “bomber” “requests a map change to bomber-ball on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: bomber futuresport (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “bb” “requests a map change to bomber-ball on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: bb futuresport (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “holdbomber” “requests a map change to hold bomber-ball on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: holdbomber bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “basketbomber” “requests a map change to basket bomber-ball on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: basketbomber bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “attackbomber” “requests a map change to attack bomber-ball on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: attackbomber bath (| $mutsbitinstagib $mutsbitmedieval)” “map [muts]” “race” “requests a map change to race on a given map;^n[muts] optionally adds extra mutators according to bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: race purge (| $mutsbitduel $mutsbitmedieval)” “map [muts]” “timedrace” “requests a map change to timed race on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: timedrace purge (| $mutsbitffa $mutsbitduel)” “map [muts]” “trial” “requests a map change to timed race on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: trial purge (| $mutsbitffa $mutsbitduel)” “map [muts]” “endurancerace” “requests a map change to endurance race on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: endurancerace purge (| $mutsbitffa $mutsbitduel)” “map [muts]” “gauntletrace” “requests a map change to gauntlet race on a given map;^n[muts] optionally adds extra mutators according to a bitwise mutator values,^nconveniently set using a sum of $mutsbit* vars,^nexample: gauntletrace purge (| $mutsbitffa $mutsbitduel)” “map [muts]”

sound settings

“soundmastervol” “sets master sound volume (0=mute)” “value” “soundeffectvol” “sets effect sound volume (0=mute)” “value” “soundmusicvol” “sets music sound volume (0=mute)” “value” “sounddevice” “sets the name of the sound device to be used” “value” “soundsources” “sets number of sound sources that can play at once” “value” “footstepsounds” “determines which players’ sounds are played, bitwise OR;^n1: own footsteps^n2: all other players’ footsteps” “value” “footstepsoundmin” “speed at which lower velocities take on the footstepsoundminvol value (scales linearly to footstepsoundmaxvol above this)” “value” “footstepsoundmax” “speed at which higher velocities are capped at the footstepsoundmaxvol (scales linearly down below this)” “value” “footstepsoundlevel” “scale of footstep sounds” “value” “footstepsoundfocus” “scale of the player’s own footstep sounds” “value” “footstepsoundlight” “scale of footstep sounds while moving quietly (e.g. crouching)” “value” “footstepsoundmaxvol” “volume of footsteps while at or above footstepsoundmax speed” “footstepsoundminvol” “volume of footsteps while at or below footstepsoundmin speed” “titlemusic” “sets the music to play while not in a game” “file”

user interface and hud settings

“firstpersonbob” “toggles first-person camera bob effect” “boolean” “firstpersonsway” “toggles first-person camera sway effect” “boolean” “showcrosshair” “0 = off, 1 = on, 2 = blend depending on current accuracy level” “value” “crosshairweapons” “0 = off, 1 = crosshair-specific weapons, 2 = also apply colour” “value” “crosshairtone” “colour of crosshair (when weapon specific colours are not enabled)” “colour” “hitcrosshairtone” “colour of hit crosshair” “colour” “showcrosshair” “0 = off, 1 = on, 2 = blend depending on current accuracy level” “value” “crosshairweapons” “0 = off, 1 = crosshair-specific weapons, 2 = also apply colour” “value” “crosshairsize” “size of crosshair (in terms of screen size)” “value” “crosshairscale” “scale of crosshair” “value” “crosshairhitspeed” “duration for hit crosshair to show following a hit on an opponent (milliseconds)” “value” “crosshairblend” “determines crosshair opacity (0 = transparent 1 = opaque)” “value” “crosshairaccamt” “determines blend by accuracy level intensity (when blend by accuracy is enabled)” “value” “crosshairflash” “determines whether the crosshair flashes when at critical health (less than the heal amount)” “value” “crosshairthrob” “determines scale of crosshair throb (size change) effect (like while gaining health)” “value” “crosshairtex” “determines path to crosshair image file” “file” “showfps” “display the frames per second counter on the hud;^n0 = no display^n1 = display average fps^n2 = display average fps and best and worst difference^n3 = display average fps and fps range^n4 = display average fps and average/worst frametimes” “value” “showloadinglogos” “display logos while not in game” “boolean” “showvelocity” “display the velocity indicator on the hud” “value” “showconsole” “display the console” “boolean” “clearconsole” “clears the selected console output;^n-1: all^n0: debug^n1: event^n2: frag^n3: chat” “console-index” “clearchat” “clears the chat console output” “showminimap” “toggle minimap visibility” “boolean” “showhud” “toggle heads up display visibility” “boolean” “autoscores” “1 = when dead, 2 = also in spectv, 3 = and in waittv too” “value” “scoresdelay” “otherwise use respawn delay” “milliseconds” “showlaptimes” “0 = off, 1 = only player, 2 = +humans, 3 = +bots” “value” “muzzleflash” “0 = off, 1 = only other players, 2 = only thirdperson, 3 = all” “value” “muzzleflare” “0 = off, 1 = only other players, 2 = only thirdperson, 3 = all” “value” “showdamage” “1 shows just damage texture, 2 blends as well” “value” “cursorstyle” “0 = top left tracking, 1 = center” “value” “radarhardaffinity” “0 = no radar in hard, 1 = affinity only radar in hard” “value” “animationinterpolationtime” “sets the duration in milliseconds of animation blending” “value” “addpostfx” “adds this effect to the post-processing stack” “value” “setpostfx” “replaces all the current post-processing effects with this one” “value” “clearpostfx” “clears all post-processing effects” “musictype” “0 = no in-game music, 1 = map music (or random if none), 2 = always random, 3 = map music (silence if none), 4-5 = same as 1-2 but pick new tracks when done” “value” “musicedit” “0 = no editing music, 1 = map music (or random if none), 2 = always random, 3 = map music (silence if none), 4-5 = same as 1-2 but pick new tracks when done” “value” “followdead” “0 = never, 1 = in all but duel/survivor, 2 = always” “value” “specmode” “0 = float, 1 = tv” “value” “waitmode” “0 = float, 1 = tv in duel/survivor, 2 = tv always” “value” “spectvrotate” “rotate style, 0 = absolute angle, 0 = scaled, gt 0 = scaled with max angle” “value” “spectvdead” “0 = never, 1 = in all but duel/survivor, 2 = always” “value” “deathcamstyle” “0 = no follow, 1 = follow attacker, 2 = follow self” “value” “zoomdefault” “-1 = last used, else defines default level” “value” “zoomscroll” “0 = stop at min/max, 1 = go to opposite end” “value” “showobituaries” “0 = off, 1 = only me, 2 = 1 + announcements, 3 = 2 + but dying bots, 4 = 3 + but bot vs bot, 5 = all” “value” “obitannounce” “0 = off, 1 = only focus, 2 = everyone” “value” “obitverbose” “0 = extremely simple, 1 = simplified per-weapon, 2 = regular messages” “value” “obitstyles” “ 0 = no obituary styles, 1 = show sprees/dominations/etc” “value” “showpresence” “0 = never show join/leave, 1 = show only during game, 2 = show when connecting/disconnecting” “value” “showpresencehostinfo” “0 = do not show host info in join/leave messages, 1 = show host info in join/leave messages when at an appropriate privilege level” “value” “showteamchange” “0 = never show, 1 = show only when switching between, 2 = show when entering match too” “value” “showtimestyle” “determines display style of remaining game time; 0 = seconds only, 1 = (minutes):(seconds to the thousandths place), 2 = (minutes):(seconds to the tenths place), 3 = (minutes):(seconds), no decimals, 4 = (minutes)m(seconds)s” “value” “showrealtime” “toggles display of local real time beneath gameplay time” “boolean” “deathanim” “0 = hide player when dead, 1 = old death animation, 2 = ragdolls, 3 = ragdolls, but hide in duel/survivor” “value” “deathfade” “0 = don’t fade out dead players, 1 = fade them out” “value” “deathscale” “0 = don’t scale out dead players, 1 = scale them out” “value” “allconsole” “display console messages in the hud without manually opening the console” “value” “bloodsize” “sets the size of blood splatter” “value” “bloodfade” “determines the time (in milliseconds) for blood stains to disappear” “value” “bloodscale” “determines the multiplier for blood droplets shed when taking damage” “value” “bloodsparks” “adds bubble like blood droplets, use with nogore = 1” “value” “nogore” “0 = gore is present, 1 = no blood, 2 = no blood or gibs” “value” “gibfade” “determines the time (in milliseconds) for giblets (body parts) to disappear” “value” “gibscale” “determines the multiplier for giblet quantity (body parts) after players are killed” “value” “gibselasticity” “determines the coefficient of restituition for giblets (body parts) hitting walls or other surfaces” “value” “gibsrelativity” “determines the factor by which player velocity is transfered to giblets (body parts) upon death” “value” “gibsliquidcoast” “determines the speed at which giblets (body parts) can coast through liquids” “value” “damagedivisor” “damage and health values are displayed divided by this value” “value” “damageinteger” “determines if health and damage values are displayed as integers;^n0 = display as floats, 1 = display rounded to next integer” “value” “dominatetex” “determines what image is used for the ^”dominating!^” event icon” “value” “dominatedtex” “determines what image is used for the icon that appears over a player’s head while dominating” “value” “dominatingtex” “determines what image is used for the icon that appears over a player’s head while being dominated” “value” “eventblend” “sets the opacity of event icons, (first blood, 2x, 3x, headshot, etc.)” “value” “eventiconfade” “sets how long event icons should stay on screen” “value” “eventoffset” “sets the offset for the event icons in your hud, negative values move it downward, positive values move it upward” “value” “eventscale” “sets the scale of event icons that appear in your hud” “value” “fullconsole” “display console messages in the hud without manually opening the console, will prevent lines from fading” “value” “hudblend” “sets the opacity of the entire hud as a whole, this includes both consoles, mouse pointer, and inventory” “value” “hudsize” “sets the size of the entire hud as a whole, this includes both consoles, menus, inventory, etc” “value” “noticescale” “sets the size of the notices” “value” “zoomtex” “determines what image is used for the scope on the rifle” “value”

“zoomsensitivity” “determines aiming/look sensitivity while zoomed in with the rifle” “value” “sensitivity” “determines scale by which to multiply mouse input for camera orientation ingame” “value” “yawsensitivity” “determines scale factor for yaw (left/right pan) movement” “value” “pitchsensitivity” “determines scale factor for pitch (up/down tilt) movement” “value” “sensitivityscale” “determines scale factor for all types of mouse sensitivity” “value” “mousesensitivity” “determines scale by which to multiply mouse input for cursor position in menus” “value”

engine settings

“maxfps” “caps the maximum framerate at the given value; note that vsync will cap at monitor refresh if enabled” “value” “vsync” “toggles vertical synchronization (frame pacing to monitor refresh rate)” “boolean” “screenres” “sets the gameplay render resolution” “x y” “screenh” “sets the number of vertical pixels onscreen” “value” “screenw” “sets the number of horizontal pixels onscreen” “value” “fullscreen” “toggles fullscreen or windowed mode” “boolean” “volumetric” “toggles rendering volumetric-tagged lights with volumetrics” “boolean” “volsteps” “sets the number of intensity subdivisions for volumetric lights” “value” “gi” “toggles use of global illumination for maps” “boolean” “ao” “toggles use of ambient occlusion (obscurance) for maps; note that this is called ^”ambient obscurance^” in the code but referred to by its common name of ^”ambient occlusion^” in the UI” “boolean” “fxaa” “toggles fast approximate antialiasing (grease filter)” “boolean” “fxaaquality” “sets quality level of FXAA filter” “value” “msaa” “sets level of multisampling antialiasing (usually in powers of 2)” “value” “tqaa” “toggles temporal antialiasing” “boolean” “smaa” “toggles morphological antialiasing” “boolean” “smaaquality” “sets quality level of morphological AA” “value” “bilinear” “toggles bilinear texture filtering” “boolean” “trilinear” “toggles trilinear texture filtering” “boolean” “aniso” “sets level of anisotropic filtering (usually in powers of 2)” “value” “gscale” “sets engine render scale (percent of native resolution)” “value” “texreduce” “factor by which to reduce the resolution of level textures by” “value” “maxtexsize” “maximum resolution to which textures can be loaded into the game at” “value” “envmapsize” “resolution (as a power of 2) for the environment maps on a level” “value” “softparticles” “toggles smoothing of particle effects and weapon glows” “boolean” “caustics” “toggles light caustic rendering for water volumes” “boolean” “waterreflect” “toggles screenspace surface reflection for water volumes” “boolean” “vertwater” “toggles surface height animation for water volumes” “boolean” “filltjoints” “toggles whether to fix geometry t-joints (often visible as ‘sparklies’ in geometry); this should almost always be enabled” “stains” “toggles bloodstains on map geometry” “boolean” “maxstaintris” “maximum amount of geometry devoted to blood stains” “value” “smfilter” “shadow filtering level” “value” “smsize” “resolution of shadow rendering” “value” “smalpha” “enables shadows cast by alpha geometry (1 - sunlight, 2 - pointlights)” “value” “rhtaps” “radiance hint taps; sets global illumination resolution” “value” “aotaps” “number of ambient obscurance taps; sets ambient obscurance resolution” “value” “aoiter” “iterations to smooth ambient obscurance over” “value” “gamma” “sets the screen gamma (luminance curve)” “value” “mapeffects” “sets the visibility of level-defined optional mapmodels, lights, particles, and other entities, from 1 (minimal) to 3 (show all)” “value” “winddebug” “shows debug information for wind emitters” “boolean” “windanimdist” “sets the maximum distance for drawing wind animations” “value” “windanimfalloff” “sets the falloff distance for drawing wind animations” “value” “windmaxemitters” “sets the maximum amount of active wind emitters” “value” “particlewind” “toggles allowing particles to move with the wind (including map wind and explosions)” “boolean”

engine read-only

“getcamerapitch” “returns the current camera’s pitch as a float precise to seven digits” “getcameraroll” “returns the current camera’s roll as a float precise to seven digits” “getcamerayaw” “returns the current camera’s yaw as a float precise to seven digits” “getcampitch” “returns the current camera’s pitch as a float precise to seven digits” “getcamroll” “returns the current camera’s roll as a float precise to seven digits” “getcamyaw” “returns the current camera’s yaw as a float precise to seven digits” “getcampos” “returns the x,y,z coordinates of the camera’s location as a set of three floats precise to seven digits” “getenginestat” “returns an engine value:^n0:wtr 1:wtr% 2:wvt 3:wvt% 4:evt ^n5:eva 6:ond 7:va 8:gl 9:gb ^n10:oq 11:fps 12:best 13:worst 14:ents^n15:entsel 16:wp 17:pvs 18:vel 19:m/s^n20:km/h 21:posx 22:posy 23:posz 24:yaw^n25:pitch 26:roll 27:selox 28:seloy 29:seloz^n30:selsx 31:selsy 32:selsz 33:selcx 34:selcxs^n35:selcy 36:selcys 37:cube 38:mat 39:corner^n40:orient 41:grid”

player colour

t is the player palette var t = “Sets a colour according to the player’s chosen profile colour and current team; ^n-1 = force profile colour, no special tones applied; ^n0 = team colour; ^n1 = profile colour; ^n2 = profile colour when neutral, team when teamed; ^n3 = neutral colour when neutral, profile when teamed; ^n4 = mix of profile and team colour; ^n5 = profile colour when neutral, mixed colour when teamed; ^n6 = mixed colour when neutral, profile colour when teamed”

“playerovertone” (concat “primary colour tone of player models.” $t) “value” “playerundertone” (concat “secondary colour tone of player models.” $t) “value” “playereffecttone” (concat “particle colour of player trails and spawns.” $t) “value” “playerhalotone” (concat “colour of player halos.” $t) “value” “playerteamtone” (concat “team icon colour, if enabled via aboveheadteam.” $t) “value” “playertonemix” “mixing value for colour tones on player models. Used if a player tone variable takes a value of 4, 5 or 6.” “value”

gameplay vars (numbers for gameplay activities)

“autospecdelay” “determines the delay after player joins spectators after being fragged” “milliseconds” “bomberlockondelay” “determines the amount of time needed to hold throw button to achieve assisted pass to another team member” “milliseconds” “capturecarryspeed” “multiplier for the movement speed of flag-carrying players;^nacts as an added multiplier on top of the normal movespeed multiplier” “value” “capturepickupdelay” “time a player needs to wait to be able to pick up a flag again after losing it” “milliseconds” “coopskillmax” “determines the maximum skill level a bot can have in coop” “value” “coopskillmin” “determines the minimum skill level a bot can have in coop” “value” “fragbonus” “determines the amount of points a player gets for each frag” “value” “enemybonus” “determines the amount of points a player gets for frags against neutral enemies in onslaught” “value” “lasthitbonus” “determines the amount of points a player gets for last hits in gladiator” “value” “headshotpoints” “determines the amount of bonus points a player gets when a frag is caused by a headshot” “value” “multikillpoints” “determines the amount of bonus points a player gets for a double, triple, or multi kill” “value” “multikillbonus” “determines if multikillpoints should be multiplied by 2, 3, or 4 as appropriate” “value” “spreepoints” “determines the amount of points a player gets for achieving each level of killing spree for the first time” “value” “spreebreaker” “determines the amount of points a player gets for ending an opponent’s killing spree” “value” “dominatepoints” “determines the amount of points a player gets when he achieves domination on another player” “value” “revengepoints” “determines the amount of points a player gets when he gets revenge against a dominating player” “value” “firstbloodpoints” “determines the amount of points a player gets when he makes the first kill of a match” “value” “assistkilldelay” “determines the time in milliseconds after a registered hit in which that player’s death awards an assist” “value” “mapbalance” “determines if teams are switched on asymmetrical maps after half of the time is over;^n0 = no balance, 1 = balance only in ctf/dac/bb, 2 = balance in all modes” “value” “teamkillban” “automatically ban player when warned this many times for teamkill” “value” “teamkillkick” “automatically kick player when warned this many times for teamkill” “value” “teamkillpenalty” “subtract this*fragbonus from the players points when teamkilling” “value” “teamkillrestore” “restore the team score as if the teamkiller was never there if the point loss of the team was greater than this” “value” “teamkilltime” “time threshold in which teamkills are counted” “minutes” “teamkillwarn” “the limit of teamkills after which the player receives a warning” “value” “waitforplayers” “wait this long for players to load the map” “milliseconds”

fov vars

“fov” “determines the size of the field of view in first or third person mode, depending on the current camera mode” “angle” “editfov” “determines the size of the edit mode field of view” “angle” “specfov” “determines the size of the spectator field of view” “angle” “firstpersonfov” “determines the size of the first person ingame field of view” “angle” “thirdpersonfov” “determines the size of the third person ingame field of view” “angle”

clients

“getclientnum” “returns a client number (your own if name is ^”^”)” “name/cn” “getclientcolour” “returns the color of a player in HEX format” “name/cn” “getclienthandle” “returns the auth handle of a player” “name/cn” “getclientip” “returns the ip address of a player” “name/cn” “getclienthost” “returns the hostmask of a player” “name/cn” “getclientmodel” “returns the model number of a player’s chosen player model” “name/cn” “getclientname” “returns the name of the player given a cn, with toggles for color, icon display, and deduplication number display” “name/cn colour icon/color-display append-dedup-#” “getclientversion” “returns specific information of a player^nid: 0 = major version, 1 = minor version, 2 = patch version, 3 = game version, 4 = platform (0 = Windows, 1 = OS X, 2 = Unix-like), 5 = architecture^n6 = OpenGL version, 7 = OpenGL shader version, 8 = CRC checksum, 9 = GPU vendor, 10 = GPU, 11 = GPU version, 12 = platform short form^n13 = game version, platform, architecture” “name/cn id” “getclientvanity” “returns the vanities of a player” “name/cn” “getclientweapselect” “returns a player’s currently selected loadout” “name/cn” “getclientloadweap” “returns the weaponid of slot in the loadout of a player” “name/cn slot” “getclientteam” “returns the team number of a player (0 = neutral, 1 = alpha, 2 = omega, 3 = enemy)” “name/cn” “getclientfrags” “returns number of frags (kills) in the current match for a specified player” “name/cn” “getclientdeaths” “returns number of deaths in the current match for a specified player” “name/cn” “getscoretotal” “returns total score for a specified scoregroup” “scoregroup” “getscoreteam” “returns team number of the specified scoregroup” “scoregroup” “getmodelname” “returns the model name from a model number, the second argument determines which bits of the path to the model file is printed, defaults to 2;^n0 = path to model directory, 1 = path to model/hwep directory, name of model directory” “modelnumber value” “listclients” “returns a list with client numbers from actual server^n boolean: 0 = Adds your cn, 1 = Adds your cn as the first item^n filter: 0 = off, 1 = enemies, 2 = all ai” “[bool] [filter]”

editing (includes subcategories for vtexture commands and materials)

“editing” “returns 1 if editing, 0 otherwise” “edittoggle” “toggles editing mode (only possible in edit mode)” “newent” “creates a new entity with the specified attributes:^n e.g. ‘/newent light 128 0 0 200’ for blue light with r=128^n^navailable types:^n actor affinity checkpoint^n decal envmap light^n lightfx mapmodel particles^n playerstart pusher route^n sound teleport trigger^n weapon unused” “type attributes” “entattr” “sets the specified entity attribute to the given value” “index value” “entset” “sets type and properties of the currently selected entity” “type properties..” “entfind” “selects all entities of a specific type and optionally with^nspecific properties, using ^”1^” as type selects all entities” “type properties..” “entfindinsel” “selects all entities, within the selected area,^nof a specific type and optionally with specific properties,^nusing ^”1^” as type selects all entities” “type properties..” “entcancel” “deselects all entities while leaving area selected” “entlink” “links two linkable entities (teleporter, light/lightfx) together;^nuse multiple executions to loop through possible^nlinking methods” “entunlink” “removes entities from their link chains” “entselradius” “determines size of selection cube for point entities^n(e.g. lights, sounds)” “radius” “entseldecalbox” “toggles between decal bounding box being the entire decal or^njust the entity point” “boolean” “entselmapmodelbox” “toggles between mapmodel bounding box being the entire model^nor just the entity point” “boolean” “envmapradius” “sets the default radius of environment map entities with^nunspecified radii” “radius” “envmapbb” “toggles interpretation of environment map entities as spherical^n(envmapbb = 0) or cubical (envmapbb = 1)” “toggle” “gettex” “picks up the texture from the face currently selected,^nnote that allfaces must be turned off” “replace” “repeats the last texture change across the entire map,^nnote that allfaces must be turned off” “texturecull” “removes all textures not used in the map from the map config file” “texturerehash” “adds previously culled textures back to map config file” “flip” “flips the selected geometry across selected face” “rotate” “rotates the selected geometry about axis normal to selected face,^n in units of 90 degrees” “copy” “copies the selected geometry to the clipboard” “paste” “pastes the selected geometry from the clipboard” “saveprefab” “saves the current geometry selection to a prefab file^n(does not faithfully copy textures)” “name” “copyprefab” “loads a prefab file onto the clipboard, to be pasted with /paste” “name” “grasscolour” “sets the colour of grass” “hexcolour” “grassheight” “sets the height of grass” “value” “grassblend” “sets the opacity of grass” “value” “grassdist” “sets the distance at which grass becomes visible” “value” “calclight” “recalculate normal map interpolation and remip geometry to^noptimize vertex/poly counts” “fixinsidefaces” “replace all inside faces of cubes not renderable with a single^ntexture (defaults to newmap texture) to reduce redundant ^noctree nodes and texslot count” “vslot” “selectbrush” “select a different brush with relative index to the current one:^n -1 = previous brush^n 1 = next brush” “index” “blendbrushcolour” “display colour for the blendbrush wand” “colour” “blendpaintmode” “action the blendbrush takes:^n0 (off), 1 (overwrite), 2 (merge), 3 (max opacity to brush),^n4 (invert and merge), 5 (erasing)” “value” “clearblendmap” “clears the blend map texture from the current map” “dropwaypoints” “determines if waypoints are dropped by players in game,^n0 = no waypoints are dropped,^n1 = limited number of waypoints are dropped” “value” “showwaypoints” “toggles the visibility of the path that connects waypoints,^nwaypoints are always visible if they are being dropped” “value” “savewaypoints” “saves a .wpt file containing the current maps waypoints,^nif no argument is given it uses the current map’s name” “[name]” “loadwaypoints” “loads a .wpt file containing waypoints, if no argument is given^nit loads a waypoint file matching the current map’s name” “[name]” “delselwaypoints” “delete the waypoints in the currently selected area” “lerpangle” “sets the maximum mergable angle for linear interpolation^nof normals and lightmaps” “angle” “lerpsubdiv” “number of sampling points for linear interpolation,^nas a power of two” “value” “lerpsubdivsize” “minimum grid power the linear interpolation will divide” “value” “maxmerge” “maximum gridpower the remipper can use to simplify geometry” “value” “entitysurf” “toggles movement of camera with movement of selected entities” “boolean” “selectionsurf” “toggles movement of camera with the movement of selection face” “boolean” “allfaces” “toggles texturing of all six faces of geometry cubes (1)^nor just the selected face (0)” “boolean” “gridpower” “sets the cube size (in powers of 2) of the cursor” “value” “minimapheight” “sets the height (in power 0 cubes) of the minimap above^nthe bottom of the map” “value” “remip” “recalculate the geometry of the map to reduce amount of^nlevel geometry” “recalc” “recalculate prerendered level assets, such as the minimap and environment maps” “undo” “undoes the last edit command; may require having operated^nobject in the current field of view^nReturn values:^n1 = world edit^n2 = entity edit” “redo” “redoes the last undone edit command^nReturn values:^n1 = world edit^n2 = entity edit” “undomegs” “number of megabytes to allocate to the undo cache” “value” “lse” “returns a list of entities and the quantity of selected entities” “mapsoundinfo” “returns number of mapsound slots used in the current map when supplied index = -1, otherwise returns path to the sound on the slot provided by the index” “index”

edit map settings

“maptitle” “sets the title message of the map” “text” “mapmsg” “sets the title message of the map (alias for maptitle)” “text” “mapauthor” “sets the author message of the map” “text” “mapdesc” “sets the description string of the map” “text” “mapenlarge” “enlarges the map to twice the size (does not center)” “text” “mapfile” “path to map .mpz file” “path” “mapname” “path to map file” “path” “savemap” “saves the current map as ^”mapname.mpz^” in the homedir” “map” “shrinkmap” “shrinks the map size to smallest cubed area,^nonly empty space outside of the map will be removed” “sendmap” “manually sends map to the server” “getmap” “manually retrieves map from the server” “newmap” “create new map with the specified gridpower and name” “size” “name” “decalreset” “deletes all decal indices from map config file (including ones in use)” “routenames” “sets the routenames for race mode (list of names)” “text” “routecolours” “sets the routecolours for race mode (list of hexcolours)” “text”

listcomplete “newent” “actor affinity camera checkpoint decal envmap light lightfx mapmodel particles playerstart pusher rail route sound teleport trigger weapon wind” listcomplete “entfind” “actor affinity camera checkpoint decal envmap light lightfx mapmodel particles playerstart pusher rail route sound teleport trigger weapon wind unused” listcomplete “entfindinsel” “actor affinity camera checkpoint decal envmap light lightfx mapmodel particles playerstart pusher rail route sound teleport trigger weapon wind unused”

edit visual settings

“showentdir” “show the direction of playerstarts and actors:^n 0 = off^n 1 = only selected^n 2 = always when editing^n 3 = always in editmode” “value” “editcursorblend” “sets the opacity of the crosshair while in editing^n 0 = transparent^n 1 = opaque” “value” “editcursorsize” “sets the size of the crosshair while in editing” “value” “editcursortex” “sets the image of the crosshair while in editing” “value” “editmatblend” “sets the opacity of material volumes (when showmat 1 is enabled)^n 0 = transparent^n 1 = opaque” “value” “editmatscale” “sets the colour saturation of material volumes^n 0 = black^n 1 = oversaturated” “value”

edit view commands

“fullbright” “hides lightmap for all textures if enabled” “boolean” “dtoutline” “edit outline only outlines visible surfaces when enabled;^nwhen disabled, all rendered geometry is outlined” “boolean” “wireframe” “renders geometry using edges rather than faces” “boolean” “outline” “renders lines on geometry edges if enabled” “boolean” “outlinecolour” “colour to render the geometry outline with” “colour” “changeoutline” “changes the outline colour by moving through the^noutlinecolours list ‘index’ number of times:^n Entries:^n 255 255 255 white^n 000 000 000 black^n 000 127 255 teal^n 255 080 080 salmon^n 255 000 255 magenta^n 080 255 080 green^n 255 255 080 yellow^n off” “index” “blankgeom” “renders geometry with blank white diffuse maps if enabled” “boolean” “crosshairdistance” “shows distance to geometry at cursor (in metres) if enabled” “boolean” “crosshairdistancex” “x offset for crosshair distance readout” “value” “crosshairdistancey” “y offset for crosshair distance readout” “value” “showstats” “display level geometry information & other editing readouts:^n 1 = edit only^n 2 = always” “value” “showtexstats” “display information about the texture in selection in HUD” “boolean” “showedittoggles” “display which editing booleans are currently enabled in the HUD” “boolean”

edit v- texture commands

“voffset” “replaces texture with one offset by the given number^n(positive only) of pixels” “x-offset y-offset” “vscroll” “replaces selected textures with a scrolling one,^nwith vscroll 1 being 1 texture/sec” “x-scroll y-scroll” “vrefract” “replaces texture, adding a refractive effect in alpha geometry^nwith the specified colour” “refract red green blue” “valpha” “replaces current texture by one with a new alpha^ntransparency level; 0 (transparent) to 1 (opaque)” “external internal” “vcoastscale” “replaces current texture by one with a new^ncoastscale factor (slipperiness)” “value” “vscale” “replaces selected textures with scaled versions,^nminimum is 0.125, maximum is 8” “value” “vrotate” “replaces selected textures with rotated or flipped versions;^n 0 = default^n 1-3 = rotate 90this degrees^n 4 = flipped left-to-right^n 5 = flipped top-to-bottom^n 6 = transposed^n 7 = flipped & transposed” “value” “vangle” “replaces selected textures with finely rotated versions by angle” “degrees” “autotexangle” “replaces selected textures with rotated versions by angle, based on the slope (1-8). Negative values are accepted.” “slope” “vcolour” “replaces selected textures with colour-tinted versions,^ne.g. 1 0.2 0.2 will create red versions, default is 1 1 1” “red green blue” “vpalette” “applies colour specified by set & id from the builtin palette;^nset 0 = pulse colours^n 0 = turn off all palette effects^n 1 = dark fire pulse colours^n 2 = bright fire pulse colours^n 3 = disco pulse colours (bomber-ball)^nset 1 = team colours^n 0-3 = only enforced in teamplay games^n 4-7 = enforced at all times^nset 2 = weapon colours^n 0-9 = only enforced when that weapon is currently spawnable^n 10-19 = enforced at all times” “set id” “vreset” “resets a vtexture to its original settings” “vdelta” “combines with texture v-commands to adjust rather than^noverwrite the setting;^nexample: vdelta [vcolour 1 .5 .5]^nexample: vdelta [voffset 0 +16]” “command settings..” “vshaderparam” “set shader parameters of textures;^nindependent of vdelta, only one shader parameter may be^noverridden per texture, previous modifications are lost^n^n^f7envmin^f4 r g b = sets the minimum incidence angle for envmaps^n (default .1 .1 .1),^n envmin 1 1 1 makes intense envmaps at any angle^n^f7envscale^f4 r g b = intensity scale of envmaps^n^f7glowcolor^f4 r g b = adjusts the 3d glow colour of a texture,^n^f7parallaxscale^f4 low high = adjusts the heightmap effect of tex,^n^f7pulseglowcolor^f4 r g b = sets the colour to pulse to^n (when enabled)^n^f7pulseglowspeed^f4 f = frequency (Hz) of pulsing effect^n (when enabled)^n^f7pulseglowoffset^f4 i = offset interval of pulsing effect^n (when enabled)^n^f7specscale^f4 r g b = specularity colour/brightness of a texture,^n (default .2 .2 .2)^n^f7triplanarbias^f4 x y z = adjusts blending factor between^n side faces and top faces^n^f7gloss^f4 scale = sets scale of specular gloss^n^f7normalscale^f4 scale = sets scale of the normalmap” “parameter properties” “vlayer” “sets the bottom texture layer for all textures in selection;^ntexture_id is the texture number as seen in the^ntexture browser” “texture_id” “vshadow” “sets shadow opacity for alpha geometry (-1 no shadow, 0 (color refract only) to 1 (full opacity contribution)” “value”

listcomplete “vshaderparam” “envmin envscale glowcolor parallaxscale pulseglowcolor pulseglowspeed pulseglowoffset specscale triplanarbias gloss normalscale” listcomplete “vrotate” “0 1 2 3 4 5 6 7” listcomplete “vscale” “.125 .25 .5 1 2 4 8” listcomplete “vdelta” [“vshaderparam specscale” “vshaderparam parallaxscale” “vshaderparam glowcolor” vrotate vangle voffset vscroll vscale vlayer vdetail valpha vcolour vpalette vrefract vcoastscale]

edit materials

“editmat” “modifies the material properties for selected cubes;^ntype is the material to be applied {water, clip, ladder..},^nfilter limits the command to only affect cubes whose material^n match this, if given as empty string ^”^” it matches all;^nstyle limits the command to only affect cubes whose^n geometry match this:^n 0 = normal^n 1 = non-empty^n 2 = empty^n 3 = not entirely solid^n 4 = entirely solid^nexample: editmat air water 2 would set all empty cubes^nwith water within the current selection to instead be air” “type filtermat filterstyle” “showmat” “toggles the visibility of material volumes” “value” “showphyslayers” “toggles the visibility of physical layers” “value” “air” “removes all materials from the selected volume;^nspecify a material to only clear cubes with the^nspecified material already present” “[filter]” “clip” “fills the selected volume with an invisible barrier^nwhich projectiles and particles can pass through;^nspecify a material to only clip cubes with the specified^nmaterial already present” “filter” “noclip” “allows players and projectiles to pass through the^nselected volume; specify a material to only noclip cubes^nwith the specified material already present” “filter” “death” “causes projectiles and players (if their feet touch the volume)^nto be instantly killed; specify a material to only add death^nto cubes with the specified material already present” “filter” “aiclip” “causes the bot waypoint dropper to not place waypoints^nwithin the selected volume; specify a material to only^naiclip cubes with the specified material already present” “filter” “ladder” “allows players to climb vertical surfaces within the^nselected volume; specify a material to only enable ladders^nwith the specified material already present” “filter” “alpha” “makes the selected geometry translucent;^nspecify a material to only alpha cubes with the specified^nmaterial already present” “filter” “hurt” “causes projectiles and players (if their feet touch the volume)^nto be damaged at a specified rate and amount^n(hurtdelay/hurtdamage); specify a material to only^nenable hurt with the speified material already present” “filter” “optmats” “toggles automatic material remip optimization (recommended on in almost all circumstances)” “boolean”

“hurtdamage” “hurt material damages players by this much^n(note that player HP is out of 1000)” “value” “hurtdelay” “milliseconds between hurtmat damaging players” “value” “hurtresidual” “type of residual for hurt to inflict, bitmask;^n 1:burn^n 2:bleed^n 4:stun” “bitmask” “hurtbleeddamage” “hurt’s bleed residual (when enabled) damages players this much^n(note that player HP is out of 1000)” “value” “hurtbleeddelay” “hurt’s bleed residual (when enabled) damages players this often^n(in milliseconds)” “value” “hurtbleedtime” “hurt’s bleed residual (when enabled) lasts this long^n(in milliseconds)” “value” “hurtburndamage” “hurt’s burn residual (when enabled) damages players this much^n(note that player HP is out of 1000)” “value” “hurtburndelay” “hurt’s burn residual (when enabled) damages players this often^n(in milliseconds)” “value” “hurtburntime” “hurt’s burn residual (when enabled) lasts this long^n(in milliseconds)” “value” “hurtshockdamage” “hurt’s shock residual (when enabled) damages players this much^n(note that player HP is out of 1000)” “value” “hurtshockdelay” “hurt’s shock residual (when enabled) damages players this often^n(in milliseconds)” “value” “hurtshocktime” “hurt’s shock residual (when enabled) lasts this long^n(in milliseconds)” “value” “hurtshockstun” “hurt’s shock residual (when enabled) causes this much^nvelocity reduction” “value” “hurtshockstunfall” “hurt’s shock residual (when enabled) causes this much^nfall reduction” “value” “hurtshockstunscale” “hurt’s shock residual (when enabled) has its stun^nscaled by this factor” “value” “hurtshockstuntime” “hurt’s shock residual (when enabled) has its stun effect^nlast for this long” “value”

edit map obituaries

“obitdeath” “determines death message caused by deathmat^n(map setting)” “string” “obitfall” “one of the unused obits^n(should not see in normal gameplay)” “string” “obithurt” “determines death message caused by entering^nhurt material (map setting)” “string” “obitlava” “determines death message caused by entering^nlava1 (map setting)” “string” “obitlava2” “determines death message caused by entering^nlava2 (map setting)” “string” “obitlava3” “determines death message caused by entering^nlava3 (map setting)” “string” “obitlava4” “determines death message caused by entering^nlava4 (map setting)” “string” “obitwater” “determines death message caused by entering^ndeathmat water1 (map setting)” “string” “obitwater2” “determines death message caused by entering^ndeathmat water2 (map setting)” “string” “obitwater3” “determines death message caused by entering^ndeathmat water3 (map setting)” “string” “obitwater4” “determines death message caused by entering^ndeathmat water4 (map setting)” “string”

edit read only vars

“getblendbrushname” “returns the name of the blendmapping brush with the specified index” “index” “getseltex” “returns the currently selected texture’s vslot (if selected),^nor the texture on the cursor if none is selected;^nif there is no texture (possibly caused by too^nlarge of a gridpower), will return -1” “gettexname” “returns the path and name of a texture’s diffuse texture given a specified vslot (texture)” “vslot” “getdecalname” “returns the path and name of a decal texture’s diffuse texture given a specified decal slot” “decal slot” “getvalpha” “returns the alpha setting for the specified vslot (texture)” “vslot” “getvcoastscale” “returns the coast scale (slipperiness factor) for the specified^nvslot (texture)” “vslot” “getvcolour” “returns the colour modifications for the specified vslot (texture)” “vslot” “getvdetail” “returns the vslot (texture) for the texture assigned as the^ndetail layer” “vslot” “getvlayer” “returns the vslot (texture) for the texture assigned as the^nblendmap layer” “vslot” “getvoffset” “returns the number of pixels in the x and y directions^nrespectively for the specified vslot (texture)” “vslot” “getvpalette” “returns the palette set/id values for a specified vslot (texture)^nsee vpalette for full set/id information” “vslot” “getvrefract” “returns the refraction scale and colours, respectively, for the^nspecified vslot (texture)” “vslot” “getvrotate” “returns the rotation number of the specified vslot (texture)^n see vrotate for translation of rotation numbers” “vslot” “getvangle” “returns the rotation angle of the specified vslot (texture) in degrees” “vslot” “getvscale” “returns the scale factor of the specified vslot (texture)” “vslot” “getvshaderparam” “returns the value of the specified vshader for the specified^nvslot (texture); see vshaderparam for vshader^ndescriptions” “vslot vshader” “lightbatches” “current number of lights batches the scene is using to render” “lightbatchrects” “current number of rectangles the lighting is using to map lights” “lightbatchstacks” “current number of light batch stacks the scene is using to render” “lightpassesused” “current number of lighting passes to render the scene” “lightsoccluded” “current number of lights the engine is able to occlude and^n not render” “lightsvisible” “returns current number of lights the engine is rendering” “mapcrc” “returns the checksum of the current map” “maprevision” “returns the revision of the current map” “mapsize” “dimensions of the map, in gridpower 0 cubes^n(default newmap is 2^^10 = 1024)^nto convert to metres, divide by 8” “numvslots” “number of texture variations in the level”

end of edit descs

binds

“kmod” “takes up to three modifiers (CTRL, ALT, SHIFT) and returns a key modifier mask for use with editbind and geteditbind” “modifer” “modifier” “modifier” “bind” “binds an action to a key. WARNING: This overrides existing binds for that key;^nkey is a key, for example KP1 or RETURN,^naction is a command to be executed when the key is pressed,^nexample: bind O [echo O was pressed .. ; onrelease [echo .. and released]]” “key action” “editbind” “binds an edit mode action to a key. WARNING: This overrides existing edit binds for that key;^nkey is a key, for example KP1 or RETURN,^naction is a command to be executed when the key is pressed in edit mode.” “key action kmod” “specbind” “binds a spectator mode action to a key. WARNING: This overrides existing spectator binds for that key;^nkey is a key, for example KP1 or RETURN,^naction is a command to be executed when the key is pressed in spectator mode.” “key action” “getbind” “returns the command associated with a given key bind;^nkey is a key, for example KP1 or RETURN.” “key” “geteditbind” “returns the command associated with a given key bind for edit mode;^nkey is a key, for example KP1 or RETURN.” “key kmod” “getspecbind” “returns the command associated with a given key bind for spectator mode;^nkey is a key, for example KP1 or RETURN.” “key” “searchbinds” “finds key binds for a given action;^nthis is used by the dobindsearch alias” “action [formatting options]” “searcheditbinds” “finds edit key binds for a given action;^nthis is used by the dobindsearch alias” “action [formatting options]” “searchspecbinds” “finds spectator key binds for a given action;^nthis is used by the dobindsearch alias” “action [formatting options]” “dobindsearch” “prints out a nicely formatted string with the key binds for a given action;^naction is the action to search for,^n[mode] can be edit or spec to search for the corresponding mode specific binds.” “key [mode]”

nnnxui elements

“uimenu” “creates a new ui menu with the specified name, title, icon, and contents” “name title icon contents on-show on-hide ui-children tool close-action close-prevent window-flags” “uihlist” “creates a horizontal list with the specified elements, with columns buffered by the specified amount” “spacing contents” “uivlist” “creates a vertical list with the specified elements, with rows buffered by the specified amount” “spacing contents” “uibar” “creates a visible divider with the given dimensions” “x y” “uibutton” “creates a clickable ui button” “text width height on-release alignment children DISABLED padding alt-release text-colour image-colour tooltip text-size” “uicheckbox” “creates a toggleable ui checkbox, useful for booleans” “title condition SIZE on-release hex-colour-ON hex-colour-ON2 hex-colour-BG children 9:DISABLED text-size” “uirgbsliders” “creates three horizontal ui sliders for red,green,and blue” “command” “uiinput” “creates a text entry box for arbitrary input” “var length on-change scale immediate prompt promptcolour tooltip children children2” “uihtab” “creates a set of horizontal tabs, useful for making multiple-pane UIs” “fillw fillh tabw tabh var [id ‘name’ [action] ..] contents” “uivtab” “creates a set of vertical tabs, useful for making multiple-pane UIs” “fillw fillh tabw tabh var [id ‘name’ [action] ..] contents” “uitextexec” “creates a selectable piece of text which is highlighted with cursor hover and executes the given commands upon being clicked” “title on-release 0xcolour-ON 0xcolour-ON2 0xcolour-BG children disabled? text-size”

aliases and input

“echo” “prints the argument to the console” “input” “conout” “prints the argument to the selected console;^n0: debug^n1: event^n2: frag^n3: chat” “console-index” “string” “setpersist” “toggles an alias as persistent, that is, determines if it will be added to config.cfg;^nbool: 0 = not persistent, 1 = persistent” “alias bool” “local” “declares a set of aliases as local to the alias (function) it was declared in” “alias” “defines a new alias (variable or command block);^n example: alias pi 3.14159265359^nis equivalent to: pi = 3.14159265359” “name contents” “getalias” “looks up the contents of an alias;^nexample: echo (getalias dm)^nis equivalent to: echo $dm” “name” “inputcommand” “prepares input to the command line;^ninit is the input string,^n[action] is an optional command to execute after inputcommand,^n[prompt] is an optional prompt to use next to the input,^n[icon] is an optional icon to use next to the input (example: ^”textures/icons/chat^”),^n[colour] is an optional color of icon,^n[flags] are optional command flags to pass {c = CF_COMPLETE, x = CF_EXECUTE, s = CF_COMPLETE|CF_EXECUTE (default)}” “init [action] [prompt] [icon] [colour] [flags]” “setcomplete” “Enables (or disables) tab-completion of a command;^nname is the name of a command or alias,^n[bool] (1) enables completion of name (the dafault is 0, disabled).” “name [bool]” “listcomplete” “Enables tab-completion of a command’s first argument;^nname is a command or alias,^nlist is a list of valid arguments to be completed” “name list” “playercomplete” “Enables tab-completion for players as argument of a command;^nname is a command or alias,^nremove can be omitted to add a completion or set to >0 to remove the completion” “name remove” “complete” “Enables tab-completion for files as argument of a command;^nname is a command or alias,^n[path] is a directory to look for the files, note the path is not contained in the auto-completed argument,^nextension allows to pick only a certain file type, and will omit the extension when completing file names.^nexample: complete filecomp config cfg” “name [path] [extension]” “defvarp” “defines a persistent integer alias” “alias-name min default max exec-on-change” “deffvarp” “defines a persistent float alias” “alias-name min default max exec-on-change” “defhvarp” “defines a persistent hexadecimal alias (note that inputs are decimal)” “alias-name min default max exec-on-change” “defsvarp” “defines a persistent string alias” “alias-name default exec-on-change” “defvar” “defines a non-persistent integer alias” “alias-name min default max exec-on-change” “deffvar” “defines a non-persistent float alias” “alias-name default exec-on-change” “defhvar” “defines a non-persistent hexadecimal alias (note that inputs are decimal)” “alias-name min default max exec-on-change” “defsvar” “defines a non-persistent string alias” “alias-name default exec-on-change” “getvarmin” “returns the minimum value of varname, a built-in integer variable;^nexample: getvarmin firstpersonfov” “varname” “getvarmax” “returns the maximum value of varname, a built-in integer variable;^nexample: getvarmax firstpersonfov” “varname” “getfvarmin” “returns the minimum value of varname, a built-in float variable;^nexample: getfvarmin movespeed” “varname” “getfvarmax” “returns the maximum value of varname, a built-in float variable;^nexample: getfvarmax movespeed” “varname” “isonline” “returns 1 if you are online and 0 if not”

cubescript core commands

loops and whiles

“loop” “executes body with var incremented from 0 to count-1;^nexample: loop i 10 [ echo $i ]” “var count body” “loop+” “executes body with var incremented from 0 to count-1, shifted by the offset given” “var offset count body” “loop” “executes body with var incremented from 0 to (count-1)step, in increments of the defined step” “var step count body” “loop+” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step, and shifted by the offset given” “var offset step count body” “looprev” “executes body with var decremented from 0 to count-1;^nexample: loop i 10 [ echo $i ]” “var count body” “looprev+” “executes body with var decremented from 0 to count-1, shifted by the offset given” “var offset count body” “looprev” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step” “var step count body” “looprev+” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step, and shifted by the offset given” “var offset step count body” “loopwhile” “executes body with var incremented from 0 to count-1 while the provided condition is true;^nexample: loop i 10 [ echo $i ]” “var count body” “loopwhile+” “executes body with var incremented from 0 to count-1, shifted by the offset given, while the provided condition is true” “var offset count body” “loopwhile” “executes body with var incremented from 0 to (count-1)step, in increments of the defined step, while the provided condition is true, while the provided condition is true” “var step count body” “loopwhile+” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step, and shifted by the offset given” “var offset step count body” “loopwhilerev” “executes body with var decremented from 0 to count-1 while the provided condition is true;^nexample: loop i 10 [ echo $i ]” “var count body” “loopwhilerev+” “executes body with var decremented from 0 to count-1, shifted by the offset given, while the provided condition is true” “var offset count body” “loopwhilerev” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step, while the provided condition is true” “var step count body” “loopwhilerev+” “executes body with var decremented from 0 to (count-1)step, in increments of the defined step, and shifted by the offset given, while the provided condition is true” “var offset step count body” “loopconcat” “returns a string with the result of the body concatenated with var incremented from 0 to count-1;^nexample: loopconcat i 10 [ result $i ]” “var count body” “loopconcatword” “returns a string with the result of the body concatword-ed with var incremented from 0 to count-1;^nexample: loopconcatword i 10 [ result $i ]” “var count body” “loopfiles” “executes body with var set to each file in directory with the given extension (^”^” for extension is all files);^nexample: loopfiles f data cfg [ echo $f ]” “var directory extension body” “looplist” “executes body with var set to each item in list;^nexample: looplist i ^”this is a list^” [ echo $i ]” “var list body” “loopscoreboard” “executes body with var set to players’ cn in order of their points within a given scoregroup number (team alpha/omega/neutral/spec etc.)” “var scoregroup body” “loopscoregroups” “executes body with var set to scoregroup numbers in order (0,1,2..)” “var” “body” “looplistconcat” “executes body with var set to each entry in list and concats the output together into a list” “var list command” “looplistconcatword” “executes body with var set to each entry in list and concats the output together into a string without spaces” “var list command” “while” “executes body while cond is true;^nexample: i = 0; while [ $i 10 ] [ echo $i; i = (| $i 1) ]” “ body"

list operations

“indexof” “returns the index in list of data;^nexample: indexof ^”this is a list^” list” “list data” “listdel” “returns the list1 with all occurrences of each element in list2 removed, it is equivalent to set difference;^nexample: listdel ^”this list has duplicates^” ^”this duplicates^”, will return ^”list has^”” “list1 list2” “listintersect” “returns a list containing the elements in the order of list1 with only the elements common to both list1 and list2” “list1” “list1” “listunion” “returns a list containing the elements of list1 followed by nonduplicate elements of list2” “list1 list2” “listfind” “returns the index in list where the body returns true, similar to looplist;^nexample: listfind i ^”this is a list^” [ result (= (strstr $i l) 0) ]” “var list body” “listlen” “returns the length of the list;^nexample: listlen ^”this is a list^”” “list” “listsplice” “returns a list where the elements between the start index and the end or for count elements is replaced with value;^nexample: listsplice ^”1 2 3 4 5 6^” insert 2 3” “list value start count” “prettylist” “returns a recombined list with a comma placed between each list element and conjunctor placed between the last two elements (in addition to the comma);^nexample: prettylist ^”1 2 3 4^” and” “list conjunctor” “shrinklist” “returns a list of all element that exists in both list1 and list2;^nif there are no results and failover is 1 or 2, the list that failover points to is returned,^nwithout failover, shrinklist is equivalent to set symmetric difference;^nexample: shrinklist ^”this is a list^” ^”this is another list^”, will return ^”this is list^”” “list1 list2 [failover]” “sublist” “returns a sublist of list starting at start and ending at the end or for count elements;^nexample: sublist ^”this is a list^” 1 2” “list start [count]” “sortlist” “returns a sorted list (quicksort) based on the result of body applied onto list;^n if body returns true the two elements varname_1 and varname_2 will be swapped, unchanged otherwise,^nexample: sortlist ^”cat ape bear boar^” a b [s $a $b], will return ^”ape bear boar cat^” (<s is ascii-alphabetic comparison)” “<list varname_1 varname_2 body” “at” “returns the element at index in list, subsequent indexes are at’d with the previous result;^nexample: at [this has a [nested list]] 3 1” “list index [nested_index..]” “strstr” “returns the index of search in string;^nexample: strstr ^”long string^” ^”str^”” “string search” “substr” “returns a substr of string starting at start and continuing to the end or for count characters;^nexample: substr ^”string^” 2 3” “string start [count]”

conditionals and other control logic

“do” “executes body;^nexample: do [ echo hi ]” “body” “case” “executes the first body where the corresponding test_value is equivalent to integer using integer comparison;^nfor the ‘default’ case (always true), use () for the test_value, has a limit of 12 conditions,^nexample: case (rnd 3) 0 [ echo 0 ] 1 [ echo 1 ] () [ echo default ]” “integer [test_value body] [test_value body] [..]” “casef” “executes the first body where the corresponding test_value is equivalent to float using float comparison;^nfor the ‘default’ case (always true) use () for the test_value, has a limit of 12 conditions,^nexample: case (+f (rnd 3) .1) 0.1 [ echo 0.1 ] 1.1 [ echo 1.1 ] () [ echo default ]” “float [test_value body] [test_value body] [..]” “cases” “executes the first body where the corresponding test_value is equivalent to string using string comparison;^nfor the ‘default’ case (always true) use () for the test_value, has a limit of 12 conditions,^nexample: case (substr ^”abc^” (rnd 3) 1) a [ echo a ] b [ echo b ] () [ echo default ]” “string [test_value body] [test_value body] [..]” “caseif” “executes a list of conditions and body counterparts, stops evaluating if condition is met;^n example: caseif (=s $var1 moo) [echo moo] (= $var2 woof) [echo woof] () [echo null]” “condition1 body1 condition2 body2 ..” “cond” “executes the first body where the corresponding condition is true, has a limit of 12 conditions;^nexample: i = (rnd 3); cond [ = $i 0 ] [ echo 0 ] [ = $i 1 ] [ echo 1 ] 1 [ echo default ]” “[condition body] [condition body] [..]” “if” “execute true_body when condition is true, otherwise executes false_body;^nexample: if (<= $var 5) [ echo less than or equal to 5 ] [ echo greater than 5 ]” “condition true_body false_body” “result” “sets the return value for the currently executing code to value, note that this does not stop the code execution like return would;^nexample: result 1” “value” “doif” “executes a list of conditions and body counterparts, continues evaluating even if condition is met;^n example: doif (=s $var1 moo) [echo moo] (= $var2 woof) [echo woof] () [echo null]” “condition1 body1 condition2 body2 ..” “push” “pushes value into var’s stack and executes body then pops value off of var so that var is untouched after execution of body;^nexample: var = 5; push var 10 [ echo $var ]; echo $var” “var value body” “sleep” “executes body after waiting milliseconds;^nexample: sleep 2000 [ echo waited 2 seconds ]” “milliseconds body”

multary operators

multary operators take an arbitrary number of arguments and return a single value “max” “returns the maximum integer value;^nexample: max 1 3 -9” “integer..” “maxf” “returns the maximum float value;^nexample: maxf 1.1, 2.9, -9.5” “float..” “min” “returns the minimum integer value;^nexample: min 1 3 -9” “integer..” “minf” “returns the minimum float value;^nexample: minf 1.1, 2.9, -9.5” “float..” “listavg” “returns the aritmetic mean of the values in the list as an integer” “values” “listavgf” “returns the aritmetic mean of the values in the list as a float” “values” “” “returns all arguments multiplied together as integers” “int..” “f” “returns all arguments multiplied together as floats” “float..” “+” “returns all arguments added together as integers” “int..” “+f” “returns all arguments added together as floats” “float..” “-“ “returns all other arguments subtracted from the first argument as integers” “int..” “-f” “returns all other arguments subtracted from the first argument as floats” “float..” “div” “returns all other arguments divided from the first argument as integers” “int..” “divf” “returns all other arguments divided from the first argument as floats” “float..”

binary operators

binary operators take two arguments and return a single value (this is not the same as binary logic) “mod” “returns the modulus of int1 and int2 (that is, the remainder of int1/int2)” “int1 int2” “modf” “returns the modulus of float1 and float2 (that is, the remainder of float1/float2)” “float1 float2” “pow” “returns base raised to the power of exponent;^nexample: pow 2.1 8.1” “base exponent” “rnd” “returns a random number between 0 or min and max;^nexample: rnd 50 25” “max [min]” “round” “returns the float given rounded to the nearest integer to to the nearest N if N is passed” “value” “N” “precf” “returns the value float truncated to accuracy number of decimals;^nexample: (precf 0.14986 2) will give 0.14” “float accuracy”

unary operators

unary operators take a single argument and return a single value “cos” “returns the cosine of float;^nexample: cos 3.1415” “float” “sin” “returns the sine of float;^nexample: sin 3.1415” “float” “tan” “returns the tangent of float;^nexample: tan 3.1415” “float” “acos” “returns the arc-cosine of float;^nexample: acos 1” “float” “asin” “returns the arc-sine of float;^nexample: asin 1” “float” “atan” “returns the arc-tangent of float;^nexample: atan 1” “float” “abs” “returns the absolute value of integer;^nexample: abs -5” “integer” “absf” “returns the absolute value of float;^nexample: absf -8.5” “float” “exp” “returns e (2.71828) raised to the float power;^nexample: exp 5.6” “float” “sqrt” “returns the square root of float;^nexample: sqrt 4” “float” “log10” “return the logarithm of float with base 10;^nexample: log10 1000” “float” “log2” “return the logarithm of float with base 2;^nexample: log2 8” “float” “loge” “return the logarithm of float with base e;^nexample: loge 20.08” “float” “ceil” “returns the smallest integer larger than the given float” “float” “ceilf” “returns the smallest integer larger than the given float as a float (e.g. ceilf 5.5 -> 6.0)” “float” “floor” “returns the largest integer smaller than the given float” “float” “floorf” “returns the largest integer smaller than the given float as a float (e.g. floorf 5.5 -> 5.0)” “float” “toint” “returns the int representation of the given float; works like floor in practice” “float” “bitscan” “returns value of smallest bit in binary representation of number^n25 -> 0 (2^0)^n32 -> 5 (2^5) 6 -> 1 (2^1)” “int” “strlen” “returns the length of string;^nexample: strlen ^”four^”” “string” “rndstr” “returns random characters with a length given by the argument” “length”

boolean operators

boolean operators only output true (1) or false (0) unlike the above operators “&” “returns the bit-wise AND of int1 and int2” “int1 int2” “&~” “returns the bit-wise NOT of the bit-wise AND of int1 and int2” “int1 int2” “«” “returns <int1 left shifted int2 times” “int1 int2” “»” “returns int1 right shifted int2 times” “int1 int2” “^^” “returns the bit-wise XOR of int1 and int2” “int1 int2” “^^~” “returns the bit-wise NOT of the bit-wise XOR of int1 and int2” “int1 int2” “|” “returns the bit-wise OR of int1 and int2” “int1 int2” “|~” “returns the bit-wise NOT of the bit-wise OR of int1 and int2” “int1 int2” “~” “returns the bit-wise NOT of int” “int” “!” “returns the logical not of condition” “condition” “&&” “returns the logical and of all given conditions” “condition..” “?” “returns true_body when condition is true, otherwise false_body” “condition true_body false_body” “||” “returns the logical or of all given conditions” “condition..” “!=” “returns true when int1 is not equal to int2” “int1 int2” “!=f” “returns true when float1 is not equal to float2” “float1 float2” “!=s” “returns true when string1 is not equal to string2 on the ascii table” “string1 string2” “<=” “returns true when int1 is less than or equal to int2” “int1 int2” “<=f” “returns true when float1 is less than or equal to float2” “float1 float2” “<=s” “returns true when <string1 is less than or equal to string2 on the ascii table” “string1 string2” “<” “returns true when <int1 is less than int2” “int1 int2” “<f” “returns true when <float1 is less than float2” “float1 float2” “<s” “returns true when <string1 is less than string2 on the ascii table” “string1 string2” “=” “returns true when int1 is equal to int2” “int1 int2” “=f” “returns true when float1 is equal to float2” “float1 float2” “=s” “returns true when string1 is equal to string2 on the ascii table” “string1 string2” “>=” “returns true when int1 is greater than or equal to int2” “int1 int2” “>=f” “returns true when float1 is greater than or equal to float2” “float1 float2” “>=s” “returns true when string1 is greater than or equal to string2 on the ascii table” “string1 string2” “>” “returns true when int1 is greater than int2” “int1 int2” “>f” “returns true when float1 is greater than float2” “float1 float2” “>s” “returns true when string1 is greater than string2 on the ascii table” “string1 string2” “~=s” “returns true when string1 is equal to string2 ignoring case;^nexample: ~=s ^”str^” ^”StR^”” “string1 string2” “~=sn” “returns true when the first count characters of string1 and string2 are equal ignoring case;^nexample: ~=sn ^”str^” ^”StRiNg^” 3” “string1 string2 count” “=sn” “returns true when the first count characters of string1 and string2 are equal;^nexample: =sn ^”str^” ^”string^” 3” “string1 string2 count” “strcasecmp” “returns true when string1 is equal to string2 ignoring case;^nexample: strcasecmp ^”str^” ^”StR^”” “string1 string2” “strcmp” “returns true when string1 is equal to string2, equivalent to =s;^nexample: strcmp ^”str^” ^”str^”” “string1 string2” “strncasecmp” “returns true when the first count characters of string1 and string2 are equal ignoring case;^nexample: strncasecmp ^”str^” ^”StRiNg^” 3” “string1 string2 count” “strncmp” “returns true when the first count characters of string1 and string2 are equal;^nexample: strncmp ^”str^” ^”string^” 3” “string1 string2 count”

formatting functions

“escape” “returns a quoted string with all newline, tab, form feed, ^^, and ^” characters converted to the cubescript escape sequence (^^n, ^^t, ^^f, ^^^^, ^^^”);^nexample: escape [line1^^nline2]” “text” “unescape” “returns a string with all cubescript escape sequences (^^n, ^^t, ^^f, ^^^^, ^^^”) converted back into newline, tab, form feed, ^^, and ^” respectively;^nexample: unescape [line1^^^^nline2]” “text” “stripcolors” “returns the string without any colors;^nexample: stripcolors ^”^^frhello ^^f[6252287]^”” “string” “hexcolour” “converts a decimal color value to a ^”pretty-printed^” hexadecimal color value;^nexample: (hexcolour 342344) will give 0x093548” “color” “tohex” “converts a decimal integer to one in a hexadecimal base, with the provided length (tohex N 6 is equivalent to hexcolour)” “value” “length” “concat” “returns all values concatenated with a space between each argument;^nexample: concat hello (getname)” “value..” “concatword” “returns all values concatenated without a space between each argument;^nexample: concatword squished string” “value..” “clearsleep” “removes all pending sleeps, if clearworlds is set, it will only clear sleeps generated in a map’s config file;^nexample: clearsleep” “[clearworlds]” “format” “returns a formatted string with all %1 - %9 replaced with the respective value argument, %% inserts a % sign;^nexample: format ^”Hello, %1, welcome to Red Eclipse v. %2^” (getname) $version” “format_string value..” “filter” “filters a string by stripping of any or all of the following: newlines, color, and whitespace, each of these values are boolean, and true by default if omitted;^n[newlines] - if true, replaces newline characters with spaces,^n[color] - if true, any color formatting will be removed,^n[whitespace] - if true, whitespace is kept; if false, whitespace is removed” “string [newlines] [color] [whitespace]” “strreplace” “returns string with all occurrences of search replaced with replace;^nexample: strreplace ^”misspelled sring^” ^”sring^” ^”string^”” “string search replace” “strupper” “returns the input string in all uppercase;^nexample: strupper ^”String^” -> ^”STRING^”” “strlower” “returns the input string in all lowercase;^nexample: strupper ^”String^” -> ^”string^””

end of Cubescript core commands

IRC settings

“ircaddchan” “joins a channel on a given IRC instance with automatic rejoin;^nname - name of the IRC instance,^nchannel - channel to join,^n[friendly] - optional friendly name of channel,^n[passkey] - optional passkey required for mode +k channels,^n[relay] - optional relay level (verbosity of output)” “name channel [friendly] [passkey] [relay]” “ircaddclient” “creates an IRC instance of type ‘client’;^nname - name of the created IRC instance,^nhost - host to connect to,^nport - port of host to connect on,^nnick - nickname to use for the connection,^n[ip] - optional address to bind to (leave blank for any),^n[passkey] - optional password required to connect to host” “name host port nick [ip] [passkey]” “ircaddrelay” “creates an IRC instance of type ‘relay’;^nname - name of the created IRC instance,^nhost - host to connect to,^nport - port of host to connect on,^nnick - nickname to use for the connection,^n[ip] - optional address to bind to (leave blank for any),^n[passkey] - optional password required to connect to host” “name host port nick [ip] [passkey]” “ircjoinchan” “joins a channel on a given IRC instance without automatic rejoin;^nname - name of the IRC instance,^nchannel - channel to join,^n[friendly] - optional friendly name of channel,^n[passkey] - optional passkey required for mode +k channels^n[relay] - optional relay level (verbosity of output)” “name channel [friendly] [passkey] [relay]” “ircfilter” “sets how IRC messages are filtered;^n0 = send string as is, color escapes not converted, other escapes not filtered,^n1 = convert Cube2-style color escapes to IRC color escapes,^n2 = filter out all Cube2-style escapes” “value” “ircbind” “sets the address that an IRC instance binds to;^nwhen used without [ip], returns the address that the IRC instance ‘name’ is currently bound to,^nname - name of the IRC instance,^n[ip] - optional ip address for name to bind to” “name [ip]” “ircconnect” “attempts to establish a connection to the IRC instance ‘name’” “name” “ircconns” “returns the number of active IRC connections” “ircfriendlychan” “sets the friendly name of an IRC channel;^nif the [friendly] parameter is not specified, the current friendly name of the channel is returned,^nname - name of an IRC instance,^nchannel - the IRC channel,^n[friendly] - optional new friendly name to use” “name channel [friendly]” “ircnick” “sets the nickname of an IRC instance;^nif the [nick] parameter is not specified, the current nickname is returned,^nname - name of the IRC instance,^n[nick] - optional new nickname” “name [nick]” “ircident” “sets the ident of an IRC instance;^nif the [ident] parameter is not specified, the current ident is returned,^nname - name of the IRC instance,^n[ident] - optional new ident” “name [ident]” “ircauthcommand” “run command to auth when the IRC instance name is connected” “name [command]” “ircpass” “sets the server passkey used by an IRC instance;^nif the [passkey] parameter is not specified, ^”set^” or ^”not set^” will be returned accordingly,^nname - name of the IRC instance,^n[passkey] - optional new passkey” “name [passkey]” “ircpasschan” “sets the passkey for a channel on an IRC instance;^nif the [passkey] parameter is not specified, ^”set^” or ^”not set^” will be returned accordingly,^nname - name of the IRC instance^nchannel - the IRC channel,^n[passkey] - optional new passkey” “name [passkey]” “ircrelaychan” “sets the relay level for a channel on an IRC instance;^nif the [relay] parameter is not specified, the current relay level will be returned,^nname - name of the IRC instance,^nchannel - the IRC channel,^n[relay] - optional new relay level (verbosity of output)” “name channel [relay]” “ircport” “sets the server port used by an IRC instance;^nif the [port] parameter is not specified, the current server port is returned,^nname - name of an IRC instance,^n[port] - optional new port” “name [port]” “ircserv” “sets the host to connect to for a given IRC instance;^nif the [host] parameter is not specified, the current host is returned,^nname - name of an IRC instance,^n[host] - optional new hostname” “name [host]” “ircauth” “sends a message to a specified target when succefully connected to an an IRC server;^ncan be used for setting up automatic authentication,^nif only name is specified, [target] is returned along with ^”set^” or ^”not set^” for [message],^nname - name of the IRC instance,^n[target] - target for the message (user, service, channel),^n[message] - message sent to [target],^nexample: ircauth myrelay NickServ ^”IDENTIFY password^”” “name [target] [message]”

moderation

“addlocalop” “elevates the privilege of a user to a specified level locally;^nthis allows server administrators to ^”upgrade^” the access of people as they identify, on that particular server,^nuser_handle is the authkey handle of the user,^nflag is the privilege level {a = administrator m = moderator s = supporter}” “user_handle flag” “resetlocalop” “removes all temporary elevated local privileges;^nthis allows server administrators to reset the access given by addlocalop for all users, on that particular server” “kick” “kicks a player from the server with an optional reason” “name/cn [text]” “allow” “sets a ban exemption for a player on the server” “name/cn” “ban” “bans a player from the server with an optional reason” “name/cn [text]” “mute” “mutes a player on the server with an optional reason” “name/cn [text]” “limit” “limits team changing for a player on the server” “name/cn” “spectator” “put a player to spectator mode;^n0 = join/unquarantine, 1 = spectate, 2 = spectate and quarantine” “name/cn mode” “addpriv” “adds local priv to cn;^npriv: 2 = supporter, 3 = moderator, 4 = administrator” “name/cn priv” “resetpriv” “removes privileges added by addpriv from cn” “name/cn” “adminpass” “sets server admin password, if no password given, it will return the current password” “value”

chat commands

“saycommand” “write a chat message or command but waits for your affirmation to send it” “text” “say” “send a message to the global chat” “text” “me” “send a message to the global chat in the form of an action^nex: * foobar demonstrates something” “text” “sayteam” “send a message to the team chat” “text” “meteam” “send a message to the team chat in the form of an action^nex: * foobar (to team ..) demonstrates something” “text” “whisper” “send a message directly to another player on the server^n^frnote: messages are ^fRnot ^frprivate and are visible in demos” “name/cn text” “mewhisper” “send a message directly to another player on the server in the form of an action^nex: * foobar (whispers to barfoo) demonstrates something^n^frnote: messages are ^fRnot ^frprivate and are visible in demos” “name/cn text”

weapon vars, var writing commands

“writevars” “writes the current server’s variables to a config file named file;^nif [all] is true, every variable will be written with default values commented out; if false, only changed variables will be written (default: false)^nif [sv_] is true, variables will be prefixed with ^”sv_^” (default: false)” “file [all] [sv_]” “writevarsinfo” “writes raw information about all existing vars, commands and aliases to a file;^nfor each item the following fields are printed: NAME TYPE FLAGS ARGS VALTYPE VALUE MIN MAX DESC USAGE,^nfields are separated by tabs, and empty if nonexistent” “file”