AssaultCube Documentation
Go to documentation index ↵

## AssaultCube's history

## AssaultCube v1.3.0.1 - Lockdown Edition

Released: 26th of January, 2022

This release fixes a couple of errors and will undoubtedly be followed by similar small-step changes for further such errors that need fixing. Namely:

- the AFK bug has been fixed
- `shuffleteams` now works as expected
- touched up minor issues with protocol, clientstate and the vita system

#### Contributions

- dedicated hunting, collecting and reporting bugs was - yet again - provided by BrutalSystem
- Code contributions by aurhat
- Code tweaks by cf-1984
- README tweaked by rpaladin

## AssaultCube v1.3.0.0 - Lockdown Edition

Released: 4th of December, 2021

The majority of contributions of this release were provided by Stef in the years 2014 to 2017. Also, Grenadier maintained the code base over the years. In Spring 2021 during the COVID-19 pandemic a group consisting of former contributors decided to go for a temporary comeback and to resume work with three primary goals:

- AssaultCube 1.3 - Lockdown Edition
- AssaultCube Mobile (Android)
- Getting new traction in the project

#### Artwork

- 8 new maps (ac_africa, ac_arctic2, ac_coal, ac_dusk, ac_kazemat, ac_nocturne, ac_origin, ac_rampart)
- 15 new textures
- 2 new map models
- High resolution player skins (thanks protox aka PrimoTurbo)

#### Gameplay

- Fixed crouching, jumping and doublejumping
- Fixed roll effect when player gets damage (see maxrolleffect and maxrollremote in references)
- Restored previous quicknadethrow behaviour
- Added option to persistent spectating concrete player in multiplayer (spectatepersistent)
- Support for match pause #108
- Nade thrown above other players head should not bounce back #223
- Prevent players from gaining advantage with specate modes 5 & 6 #259
- Prevent players from gaining advantage with audio settings (al_referencedistance, al_rollofffactor) #162a078
- Added dropflag closer to WASD keys #176

#### Head-Up-Display & Scoreboard

- Improved order of drawing on the HUD
- Added option to show a wall clock on the HUD
- Added team frag counters on the HUD for non-flag modes
- Added option to turn off flag score hud transparency (flagscorehudtransparency)
- Added transparency options for console and votes
- Added ktf flag direction indicator
- Added additional options to crosshairfx
- Added a clock to scoreboard
- Added flag icon in scoreboard at flag carrier
- Show accuracy only if scoreboard is open
- Removed scoring system
- Fix double nade icon for oldfashiongunstats
- Fix grenade icon alignment for enabled oldfashionedgunstats
- Fix flag icon displaying on the radar
- Hide damage indicator when different spectated player is followed
- Accuracy stats should not change when taking damage from your own grenade #245

#### Console

- Added command line history (commands with leading whitespace are omitted from history)
- Added backwards completion in console (LSHIFT+TAB) and undo TAB-completion (LSHIFT+ESC)
- Added inlined images (animated) for console text and hardcoded images for menu (igraphs)
- Rewrited docs command parser, added option to show more detailed docs (docidentverbose, see also "Misc" menu in settings)
- Fixed pasting text from system clipboard into AC console
- Added keybind to scroll the output console by mousewheel
- Fully supported maps only with lowercase filenames
- Fixed memory leak in console history #208

#### Editing

- Allowed more edit commands in coop edit
- Changed map version from 9 to 10, with possibilty to save maps in previous 9 version
- Added a map license and comment string to the map header (mapinfo_license, mapinfo_comment)
- Added timestamp to map files
- Added option for integrated automatic embedded map config files
- New cleanup tool for hidden map attributes (mapmrproper)
- Added map buffers for editing (xmaps)
- Updated the editing menus and added new menus: Map settings, Map config operations, Map checks and statistics, Deleted entities, Mapmodels, Texture, Skymaps, Ambient sounds
- Added preview of mapmodels and textures in menus
- Added "redo" command
- Added "stairs" command (available also in "Arches" menu)
- Added undelete for entities
- Added map vantage points
- Added support for tag clips
- Added attr5..7 for mapmodels, mapmodel pitch and roll
- Added freely rotating the mapmodels
- Added additional text attributes for mapmodels (see docs/reference.xml#identifier_mdlattribute)
- Custom mapmodels can depend on other custom mapmodels
- Added support for high resolution textures
- Added higher resolution for entity attributes, waterlevel
- Added tilted and rotated clip entities
- Added todo list for entities
- Added pin selection of closest entity in map editor (MOUSE3)
- New edit info on the HUD
- Added option to show all playerstarts in edit mode (showplayerstarts) as well as ladder entities (showladderentities)
- Faulty playerstarts are displayed as yellow players
- Added editmeta keys (LCTRL and LSHIFT)
- Added new optional scripts in config/opt/mapeditscripts.cfg
- Added creating map preview pictures during spectating for map menus (CTRL+F12)
- Added Cleanedit mode #61

#### Technology & OS Support

- Various refactorings, cleanups and performance improvements
- New authentication system
- Migration from SDL1.2 to SDL2
- Migration from SourceForge to GitHub
- Improved Makefile and added Makefile_local to easier compiling customization
- Updated AC projects for: Visual Studio, Code::Blocks, Xcode
- Moved AC profile dir to "[...]\My Games\AssaultCube\v[AC_version]" on Windows, "~/.assaultcube/v[AC_version]" on Linux, [...]/assaultcube/v[AC_version]" on Mac
- New assaultcube_portable.bat for portable use on Windows
- Fixed AC installer on Windows
- Dropped support for internalization and Curl library
- Fixed mouse warping on Windows 10 after "Fall Creators Update"
- Improved handling the system mouse and keyboard shortcuts
- Fix required click into the window to grab the mouse
- Resolved a variety of compile warnings on different platforms
- Backported event handling from Cube 2 #a0f653c
- Fixed crash on Linux due to buggy graphics driver #219
- Fixed crash on Windows due to security constraints #9dfdae3
- Fixed FreeBSD build problems #215
- New vita tracking system #263
- AssaultCube Mobile (Android) based on AssaultCube v1.2: Github / Google Play
- Prototype for AssaultCube Technology Renewal: Github

#### User Interface

- New "radaricons" font
- Improved "Keyboard" menu, fixed binding the keys from menu
- Improved "Customize crosshairs" menu
- New "Display resolutions" menu to choose recommended resolution
- Added alternative views in serverbrowser, "Search for servers" option (see docs/favourites.html)
- Added customisable sort order for file lists (demos, maps) in menu
- Added script command for menu items with alternate fonts (menuitemaltfont + \a)
- Added tab char to richtext filter in menu items (\t)
- Added menu output for reference searches
- Added radio buttons
- Added new settings in menus
- Added on serverbrowser the number of all players on the servers
- Changed gamma feature (see "Video" settings menu)
- Added listing the demos from server in "Download demo" menu
- Added custom description of demos
- Added searching for map and demo in menu
- Menu spacers should not be selectable #241
- Added accuracy stats settings #456dc06
- Harmonized back-navigation #243
- Improved welcome menu #292
- Improved character model location #276

#### Misc

- Increased speed of demo rewind
- Added mandatory client log file (clientlog.txt)
- Fixed scorch marks outside world
- Rewriting autodownload feature for packages (much faster)
- Added zipped mod packages (zip mods), support for downloadable zip mods
- Fixed number of downloaded packages
- Support for dynamically cheangeable server parameters
- Server can keep track of submitted maps
- Client must guarantee that data sent over the network complies to the network protocol #221
- Updated documentation #232
- Fixed security issue related to OOB check #248

#### Scripting

- Added temporary aliases (tempalias)
- Added about 200 built-in commands and variables (documented in https://assault.cubers.net/docs/reference.html)
- New commands and variables of CubeScript engine: !b &b ^b |b h0 format2 tempalias looplisti escape enumalias enumfiles hexbinchunk listoptions getvarrange
- New commands and variables for editing: redo undolevel editsvar editmeta editmetakeydown editing_sp xmap_delete xmap_delete_backup xmap_keep_backup xmap_list xmap_rename xmap_restore xmap_store restorexmap persistentxmaps getxmaplist unsavededits savemap9 savemapoptimised preserveundosonsave mapmrproper worldiodebug getmaptimestamp mapinfo_comment mapinfo_license setvantagepoint getvantagepoint gotovantagepoint clearvantagepoint gotoposition hideeditinfopanel updateeditinfopanel editinfopanelmillis hideeditslotinfo hudtexttl showfocuscubedetails calcmipstats mapmodelslotbyname mapmodelslotname mapmodelslotusage sortmapmodelslots editmapmodelslot deletemapmodelslot mapmodelchanged loadallmapmodels mapmodelregister mapmodelregistryclear updatemapmodeldependencies textureslotbyname textureslotusage textureslotusagelist sorttextureslots edittextureslot edittexturestack deletetextureslot gettexturelist rereadtexturelists gettextureorigin getnotexture mapsoundslotbyname mapsoundslotusage sortmapsoundslots editmapsoundslot deletemapsoundslot getmapsoundlist rereadsoundlists mapsoundchanged getmapsoundorigin selectionwalk mapareacheck countwalls addentity addtodoentity editentity deleteentity gotoentity undelent unlistdeletedentity getdeletedentities newent7 enumentities enumsounds enumtodoentities cleartodoentities showladderentities showplayerstarts getwatercolour setwatercolour mdlattribute listallmapmodelattributes getmapmodelattributes mapoverride_limitwaveheight mapoverride_nostencilshadows mapoverride_nowaterreflect automapconfig getautomapconfig embedconfigfile extractconfigfile listheaderextras taglife tagnum tagnumfull tagcliplinewidth showtagclipfocus showtagclips edittagclip transformclipentities pointatent pointatentmaxangle toggleclosestentpin getclosestent edithideentmask mapmodelzoff selectall pushselections enlargevdeltaselections enlargearchslopeselections expandselection shrinkselection stairs
- New commands and variables for visual effects: conalpha votealpha hidektfindicator ktfindicatoralpha flagscorehudtransparency hideteamscorehud blankouthud gametimedisplay igraphanimate igraphdefaultframetime igraphsize igraphsizehardcoded hideigraphs updateigraphs getigraph getdisplayresolutions desktoph desktopw screenh screenw fullscreendesktop curfont maxrolleffect
- New commands and variables for menu: menuitemaltfont menuitemeditkeyinput menuitemgreyedout menuitemradio menuitemspectkeyinput menupicturesize menurenderoffset menuselectiondescbgcolor menuselectionpersistent menusynctabstops menutexturesize chmenutexture menudirlistsub screenshotpreview curmenu closecurmenu refreshcurmenu refreshcurmenudelayed
- New commands and variables for documentation: docidentverbose docrefvisible getdoc
- New commands and variables for authentication: authmaxtime authmemusage authrounds authsetup mypubkey cryptodebug newcert listcerts
- New commands and variables related to keyboard: modkeypressed, editmeta, editmetakeydown, _resetallbinds
- New general commands and variables: addzipmod zipmodclear zipmodgetdesc zipmodgetfiles zipmodgetrevision zipmodlist zipmodremove showallplayersnumber mastertype getpckserver getmod zipcachemaxsize spectatecn spectatepersistent accuracyinfo curname omitunchangeddefaultbinds omitunchangeddefaults groupvariables debugevents serverdebug autodownloaddebug loadmap
- Added many new aliases, scripts
- Many existing commands and script upgraded and fixed
- Renamed "fullscreenscript" to "fullscreentoggle"
- Improved scripts execution at start (see config/autostart/0.cfg)
- Created folder config/opt/ with optional scripts (not executed automatically at AC start)
- Added backup of saved.cfg and init.cfg
- Improved order in saved.cfg
- "mastertype" is now in-game cubescript variable instead of a commandline switch

#### Organisational Changes

- Introduction of AssaultCube committee (Mr.Floppy, Halo, X-Ray-Dog, Grenadier) to govern gameplay-related changes to the game (in place)
- Introduction of AssaultCube Pragmatic Governance Model (ACPGM) to govern the future development of AssaultCube (in approval)
- Founding of AssaultCube Association based in Zürich, Switzerland governing AssaultCube Mobile to protect the team from liabilities and legal issues (in place)

## AssaultCube v1.2.0.2

Released: 10th of November, 2013

#### Bug fixes

- browsing masterserver fix
- libcurl error on Linux fix
- Tab completion cycle returns to first item

## AssaultCube v1.2.0.1

Released: 29th of October, 2013

#### Bug fixes

- Crouch bug fix
- Spectate mode bug fix
- whois -1 fixed
- Demo time limit fixed
- "you have already downloaded this demo" bug fix
- ACAC issues fixed

#### Weapons

- Instant hitsound

#### Demos / Spectating

- Clicking while being in spectate mode now always switch you to active play

## AssaultCube v1.2.0.0

Released: 9th of October, 2013

#### Weapons

- Sniper spread reduced (60 to 50)
- Sniper damage set to 82
- Pistol spread reduced
- Pistol magsize enlarged (8 to 10)
- SMG damage increased (15 to 16)
- SMG initial spread reduced
- SMG recoil increased
- AR damage reduced (24 to 22)
- AR kickback reduced (40 to 30)
- AR spread reduced
- AR recoil increased
- New shotgun behavior : 3 types of rays (center, medium, outter) with different properties.
- "piercing", A percent of armor to ignore when dealing damage.
- Knife fully ignores armor
- Carbine ignores some armor
- Sniper ignores some armor
- Quicknadethrow now switches to nade even if the player was attacking.
- Grenades accuracy, real shotgun accuracy.
- Hudgun can be displayed when spectating (and in demos - e.g. /specthudgun 1).
- Burst fire settings

#### Gameplay

- Votable timelimit
- New gamemodes Team Last Swiss Standing / Team Pistol Frenzy
- HTF now forces those who have the best health to pickup the flag instead of allocating it randomly

#### Chat

- New Private messages feature (/pm cn message) default bind is N

#### Servers

- Sets kill messages to appear in log for each weapon from a config file. (Default: serverkillmessages.cfg)
- New switch to disable game status table of scores logging. (-l switch)
- Linux server available HDD space bug fixed.
- /setnext bug fixed.
- Fixed bug with map names containing slashes.
- The carbine is now consistently called such. (not "Rifle")
- The server now differentiates between CTF/HTF scored flags in the serverlogs. (Useful for parsing/stats collection.)
- Server can restricts voting from a mode for any map
- Prevent name/skin changing spam
- Prevent clients from downloading the same demo twice
- Server side spawn delay check

#### Server browser

- Colored ping in serverbrowser.
- Ability to connect to a server that requires a password via the server browser. (password protected, deban, etc.)

#### Media (maps/textures/models)

- Ability to download maps, textures, mapmodels on the fly when they're missing
- New map "ac_avenue"
- New map "ac_cavern"
- New map "ac_edifice"
- New map "ac_industrial"
- New map "ac_stellar"
- New map "ac_lainio"
- New map "ac_swamp"
- New map "ac_terros"
- New map "ac_venison"
- New map "ac_wasteland"
- Bot waypoints for maps: ac_edifice, ac_industrial, ac_ingress, and ac_stellar.
- md2 models converted to md3
- Many new mapmodels and textures
- Packaging reworked

#### Mapping

- Key "F7" is now key bound to toggle fullbright on/off.
- Key "7" is now key bound to "nextclosestent" - it gets typo'd all the time.
- entproperty now works in MP coop, but buffered.
- Textures can now have a non-default scale, definable through the texture command.
- Multiple selections support
- Configurable wave height
- newmap crash fix

#### Rendering / HUD / ...

- Now using ANIM_REVERSE for playermodels going backward.
- Fixed flag icon transparency.
- Nearplane fix.
- screenshotscale - in-engine scaling of screenshots.
- showtargetname - turns on/off showing the player name on the HUD when in your crosshair.
- Scoreboard doesn't show ping/score/pj in singleplayer
- Customizable scoreboard, ability to display ratio
- Scoreboard shows the winner of each game.
- showspeed - turns speed indicator on/off
- Improved tab completion.

#### Physics

- New "flyspeed" variable for determining how much to multiply your fly speeds by. (Range: 1.0...5.0)
- Jump/Crouch raises or lowers the camera in editmode, release to stop.

#### Demos / Spectating

- Drop camera to previous followed player position when switching to fly specmode.
- Fix broken demo-viewer not able to change to SPECTATOR.
- Servers now choose a unique file name for the temporary demo file ("demorecord_<IP/local>_<port>")
- Hitsound while spectating
- Experimental compatibility mode for 1.1.0.4 demos

#### Sounds / Audio

- Optional heartbeat sound when health reaches a certain level.

#### Menus

- New menuitems in the Keyboard menu, for looking up keybinds, and enabling/disabling the old editing binds system.
- New menuitems in the gameplay settings menu, for setting fly velocities, and the color that your name is highlighted in, when it appears on the console via chat. (HIGHLIGHT)
- New updated kick/ban/reason menu with client statistics. (Reports teamkills as well.)

#### Bots

- New scripted "bot survival mode".
- Bots in plclips bug fixed.
- Bots now actually fire the carbine.
- Bots can switch to, and use pistol, knife or grenades.
- Bots can crouch
- Bots have different fov, depending on their difficulty.
- Bot PF, LSS, Team Survivor & TOSOK modes.

#### CubeScript

- persistidents bug fix, aliases write to saved.cfg much more reliably now.
- modmdl*N aliases, load custom weapon/pickup/gib models from in-game, on-the-fly via cubescript.
- loadcrosshair bug fix, you can load custom crosshairs for each weapon again.
- getalias can now work on built-in client variables (CVARs). - (e.g. fov)
- forceteam now can target specific team
- "Sleeps" can be persistent. (e.g. "Persist" even through map loads - new optional 3rd argument of the /sleep command)
- Substr crash bug is fixed. Also the command can now use a negative position value.
- New stat in (pstat_score) for teamkills. New list is: FLAGS FRAGS DEATHS POINTS TEAM TEAMKILLS NAME
- on_quit.cfg for deleting aliases from saved.cfg upon quit.
- Missing bracket ([], (), etc.) errors now also notify the client of what file the error resides in.
- New automatically executed scripts folder in the root install directory of AC.
- New delta_edit/game_# aliases for easily tweaking gamma/fov/flyspeed on-the-fly. (e.g. Hold F5 and scroll for gamma, F6 for fov, bind "domodifier 10" to a key for flyspeed)
- The /mapsize command now silenty returns 6-12, instead of conoutf'ing ssize.
- The /spectate command can now only be used if connected to a server.
- The /togglebotview command can no longer be used in arena modes.
- /keybind bug fix. No more client crash if the argument is an unknown key.
- Moved some old/redundant commands to /config/compatibility.cfg.
- Hardcoded key bind/editbind/specbind
- const - Creates or sets an alias as a constant
- div= and div=f - Divides an alias by a value.
- addpunct - Injects CubeScript punctuation. (e.g. echo (addpunct hello) // Output: "hello")
- break - Jumps out of a loop created with the "loop" or "while" command.
- continue - Skip current iteration of a "loop" or "while" command.
- delmenu - Deletes all of the menu items in the specified menu.
- akimboautoswitch - Enables or disables automatically switching to akimbo upon pickup. (regardless of current weapon)
- add2list - Appends a new element to a list. (Exactly like add2alias, simply without the additional ";")
- isIdent - Determines if the argument given is a built-in identifier.
- isSpect - Determines if you are in any form of spectating (team, or singleplayer "fly")
- inWater - Determines if you are standing or submerged in water.
- l0 - Adds leading zeros to an integer.
- powf - Returns a floating point number raised to the power of another floating point number.
- rrnd - Returns a ranged random integer.
- storesets - Generates an alias (list) of the current values for the given CVARs. (Useful for storing current settings into a buffer, before manipulating them with a script, with the intention of restoring them at a later time.)
- strlen - Returns the length (in characters) of the given string.
- substr - Returns a substring from the given string.
- strpos - Returns the position of string B in string A, else -1 for not found. (Useful for parsing.)
- strins - Returns a string, instered into another string, at position x.
- curautoteam - Returns the server's current autoteam state. (0 or 1)
- curplayers - Returns the current number of players. (Works both in singleplayer and multiplayer scenarios.)
- cleanshot - Take a "clean" screenshot with no HUD items.
- getEngineState - Returns a list of the items that showstats displays. (i.e. FPS LOD WQD WVT EVT)
- getmode - Returns the current mode. (e.g. echo (getmode) // Output: team deathmatch // echo (getmode 1) // Output: TDM)
- megabind - Bind a key to many different actions depending on the current game state. (i.e. do this if watching a demo, do this if editing or in coop-edit mode, do this if connected to a server, etc.)
- onCallVote - Native alias that is executed when someone (including yourself) calls a vote.
- onChangeVote - Native alias that is executed when someone (including yourself) changes a vote.
- onVoteEnd - Native alias that is executed when a vote passes or fails.
- onKill - Native alias that is executed when a player is killed.
- onFlag - Native alias that is executed when a flag event occurs.
- onLastMin - Native alias that is executed when the last minute of the current round is reached.
- onPickup - Native alias that is executed when you pick up an item.
- onWeaponSwitch - Native alias that is executed when you switch to a different weapon.
- onDisconnect - Native alias that is executed when you disconnect from a server.
- onReload - Native alias that is executed when you reload a weapon.
- onAttack - Native alias that is executed when you shoot a bullet, throw or nade or attack with your knife.
- onNewMap - Native alias that is executed when you execute the /newmap command.
- afterinit - Native alias that is executed immediately after saved.cfg is loaded.
- votepending - Client variable that is 1 if there is a vote currently pending on the server, else 0. (e.g. echo $votepending // Example output: 0)
- setfollowplayer - Spectates the player with client number x.
- rewind - Rewinds a demo by x seconds. Forwards if x is negative.
- setmr - Seeks a demo to x minutes remaining.
- dyngamma - Enables or disables a new "per-official-map dynamic gamma system".
- fragmessage - Sets the frag message corresponding to a weapon. (Appears on the HUD and in your server logs.)
- gibmessage - Sets the gib message corresponding to a weapon. (Appears on the HUD and in your server logs.)
- setgamma - Sets the default gamma for the map you're on. (Must be an official map.)
- forceme - Calls a vote to force yourself to the enemy team.
- copyent - Copies the current closest entity into a buffer. (Must be in edit mode.)
- countwalls - Returns the number of walls of type x that is in the current selection.
- old_editbinds - Enables or disables the old editing binds. (If disabled, an updated editing binds system is used, that is focused around toggles rather than individual actions for each bind. For more info see the comments in /config/resetbinds.cfg)
- pasteent - Pastes the previously copied entity. (Must be in edit mode.)
- gencl - Creates or modifies an exisiting light entity, with random color values.
- genhex - Creates a random hexadecimal value. (Useful for finding fogcolours, i.e. fogcolour (genhex))
- genwc - Sets the current map's watercolour to random values.
- getscrext - Returns the proper file extension of your current screenshottype setting. (e.g. ".jpg" without the quotes)
- oldselstyle - Enables or disables the old (1.0.4) grid/current selection style. (squares instead of triangles)
- Multiple Idents - New helper aliases for (c). (e.g. echo (red)Hello (blue)world! (white)My fov today is: (orange) $fov)
- resetsleeps - Reset all pending sleeps.
- settex - Set texture given as first argument to the walls of current selection and of the type specified in 2nd argument.
- round - Round a float, returns an integer.
- ceil - Returns the ceil value of a float.
- floor - Returns the floor value of a float.
- aliasinit - Uses checkinit to initialize a list of aliases.
- checkinit - Determines if an alias exists or not, and if it does not exist, it is initialized to a specified value. (If no value is given, it is simply initialized to "")
- checkmag - Determines if there is *any* ammunition available for the specified weapon. (counts currently loaded rounds, and magreserve rounds)
- checkrange - Determines if a value is within a certain range. (supports floats)
- ptoggle - New weapon switching utility to easily flip back and fourth between your primary weapon and a specified weapon.
- sndtoggle - Toggles between primary/secondary weapons.
- knftoggle - Toggles between primary/melee (knife) weapons.
- gndtoggle - Toggles between primary/grenades.
- disablehud - Stores your current HUD configuration into a buffer (for later restoration with /enablehud) and disables it entirely.
- enablehud - Restores your HUD configuration from a previous /disablehud.
- tolower - Converts a string to all lowercase characters.
- toupper - Converts a string to all uppercase characters.
- convertcase - Converts a list of strings to lower/uppercase characters.
- testchar - Tests a character argument for certain things. (e.g. echo (testchar a) // Output: 0 // It is not a 0-9 digit.)
- testlist - Tests a list argument for certain things. (e.g. echo (testlist "1 2.3 3.14") // Output: 1 // It is a valid list of ints/floats.)
- listaverage - Returns the average of a list of numbers. (Supports ints and floats - e.g. echo (listaverage "2 5 5") // Output: 4.0)
- player - Returns a player's attribute (e.g. echo Client number 2 refers to (player 2 name) // Example output: Client number 2 refers to unarmed)
- rndmap - Returns a random official map. (e.g. echo (rndmap) // Example output: ac_desert3)
- persistidents - Controls persistence of idents/aliases. (Stored into saved.cfg on quit.)
- add2bind - Adds a block of code, if it does not already exist, to a keybind.
- numconlines - Returns the current number of lines on the console. (e.g. echo $numconlines // Example output: 153)
- Multiple Idents - New helper aliases for voting for SURV, TPF, and TLSS. (e.g. /surv ac_desert)
- looplist - Browses a list executing a body for each element (e.g. looplist "zero one two three" number [ echo $number ])
- gametimestart - Returns the time (in milliseconds) when the last map was loaded.
- mapbackupsonsave - Determines if map backups (.bak) should be created when a map is saved.
- isclient - Determines if the client number given is a valid client (player).
- winners - Returns the list of winning teams or players
- drawzone - Draw a rectangular zone on the minimap
- swapelements - Returns a modified list swapping the positions of 2 elements.
- sortlist - Returns an alphabetically sorted list.
- Too many others to list...

#### I18n / L10n

- Float separator set to "." (dot) regardless of locale.

## AssaultCube v1.1.0.4

Released: 15th of November, 2010

#### Gameplay

- demo tutorial

#### Client

- URL protocol assaultcube://

#### Server

- fix kick bug crash

## AssaultCube v1.1.0.3

Released: 10th of October, 2010

#### Gameplay

- Time updates now given in milliseconds; HUD clock added
- Armour tune-up

#### Client

- Editmode sparklies for entities are colourized.
- removed jpeglib dependency
- random map at engine start

## AssaultCube v1.1.0.2

Released: 20th of August, 2010

#### Anticheat

- bug fixes

#### Server

- bug fixes

#### Client

- PNG screenshot support
- Linux filesystem space available checks

#### Code

- support for authentification (AUTH) via masterserver

## AssaultCube v1.1.0.1

Released: 9th of August, 2010

#### Anticheat

- bug fixes

#### Client

- fix CubeScript errors

#### Server

- Changed default ban behaviour

## AssaultCube v1.1.0.0

Released: 4th of August, 2010

#### Gameplay

- new mastermode 'match'
- real spectators
- survivor and team survivor now spawn one pickup group during every round (announce after 5 seconds, spawn after 15 seconds)
- removed the possibility to throw nades during arena intermission (in team modes)
- join multiplayer games always as spectator (like classic deathcam: press attack to spawn into an active team)
- bot modes are still working ;)
- new VoiceComs

#### Server

- anti cheat
- always record demos
- simplified server wizard (no more 'masterserver'-question)
- record all team chat messages
- chat message distribution for spectators and mastermode 'match'
- add 'minutes remaining' to the filenames of aborted demo recordings
- include list of players in demo header
- discard demos with less than 10 seconds
- blank out some CSL info during match mode
- collect uplink quality statistics
- akimbo bug fixed

#### Client

- IRCify: support /me, highlighting, /ignore & /muteplayer
- map preview pictures in map menu
- favourite icons in serverbrowser
- show server bandwidth quality in serverbrowser
- support F5 in serverinfo-display, and F2 ;)
- optional old-fashioned gunstat display
- support alternative fonts in menus
- improved radarimage and ability to save it to file (mapshot)
- extended colour-palette for text output
- included a number of event-hooks for CubeScript
- added interactive sensitivy-trainer (findsens)
- allow starting maps/demos via CLI parameters (--loadmap & --loaddemo)

#### Editing

- mapshrink: reduce the world size (undo 'mapenlarge')
- movemap: move the whole map in any direction
- selectionrotate: rotate the selected map area in 90 degree steps
- selectionflip: mirror the selected map area at the x- or y-axis
- new playerclip-entity: define no-go areas where nades can be thrown through
- entity sparklies can be shown/hidden in groups

#### Code

- cleaned up entity.h
- new playerskin handling (change only on respawn)
- fully server-side team management
- new masterserver also uses ENet now
- i18n capabilities added; ATM only german translation provided

#### Doc

- assist writing of missing reference entries

## AssaultCube v1.0.4

Released: 15th of June, 2009

#### Client

- serverbrowser favourites
- use your own maxroll when spectating (/maxrollremote 1)
- optional timestamps for console output
- support "--version" & "--protocol" commandline switches
- show extended serverinfo
- optional disabling of manual favourites editing
- Fix: end flag music when getting teamkilled
- Fix: fix ping of connected server after scoreboard display
- Fix: show mapname in getmap menu
- Fix: fix crash on calling votes from autoexec
- Fix: fix custom player skin assignment
- Fix: fix custom player skin for own playermodel
- Fix: settings menu glitch

#### Server

- support Linux file logging
- configurable logging levels for syslog and file logging
- optional timestamps for console and file logs
- deny sendmap if the map is read only
- check server config files (file length) every minute
- support syslog on Windows and Mac
- provide extended serverinfo
- Fix: fix logging on Windows servers
- Fix: fix voting during map changes
- Fix: fix kick & forceteam votes
- Fix: fix vanishing flag on Mac servers

## AssaultCube v1.0.3

Released: 18th of May, 2009

#### Client

- optimized graphics rendering
- option to enable custom player skins in non-team modes only
- show mapmsg on loading screen
- allow changing team when dead (but not spectating)
- identify modded servers (negative protocol number) in serverbrowser
- allow change of menu selection background color
- new command: editmapmsg, menuinitselection, menuselectionbgcolor
- skymap menu
- ac_gothic waypoints
- added hook for map-pack integration
- added texreduce + upped scopefov limit to 60
- colored pj
- more convenient demo handling
- edit mode: select overlapping map entities; select entities by type; move entities; cycle through playerstart entities
- optionally render mapmodel clipping in editmode; print entity statistics
- convenient moving/changing of map entities
- new commands to connect to modded servers
- fix menuitemvar
- match slider width with width of text input fields + better usage of text input field width
- fix crouching on too thin clip entities
- fix 'shooting players behind you'
- fix nade crashes
- fix "health value stays on edittoggle"
- fix gunfire rates vs. fps

#### Server

- nickname blacklist & nickname whitelist
- give autoban priority over autokick
- new make target 'server_install' with reduced dependencies
- new server commandline parameter '-F' to choose syslog facility
- read server commandline arguments from a file
- check for map-collisions serverside; log collisions
- detect and log remote item and flag pickups
- log attempts to pickup disabled items
- log masterserver reply
- log teamkill stats
- log client ping
- misc additional logging
- keep saved scores after failed connects
- fix distribution of maps without cfg-file
- allow tabs in maprot.cfg and serverpwd.cfg
- block connects to full passworded servers

## AssaultCube v1.0.2

Released: 30th of December, 2008

#### Client

- More detailed server info in serverbrowser (mastermode, ban, time remaining)
- More sorting modes in serverbrowser
- Nickname search over all servers
- Keep track of selected server
- Hook for custom connect scripts added
- Close all menus at arena round start
- Nice filenames for screenshots and demos
- Ask to download different map versions from server
- Make sure connect packets are reliable
- Don't self-shadow dynamic entities
- Fixed weapon glitches, recoil
- Echo a reminder of your picked vote
- Enforce scoreboard during intermission
- Compatibility for old showscores command

#### Server

- 'disconnect bug' fixed
- Blacklist fixed
- Connect new players to the smaller or weaker team
- Write client's AC version in the sever log
- Allow only matching mode/map combinations for non-admins (optionally)
- Updated extinfo protocol version to 104 (csl)
- Fix 'spawn with nades' exploit (bug 2405105)
- Skip maprot entry if map is not found on server
- Moved official maps to packages/maps/official
- New commandline parameter to set the log identity
- Bugfixes, cleanups

## AssaultCube v1.0.1

Released: 12th of December, 2008

#### Gameplay

- New maps: ac_douze, ac_gothic, ac_wasteland and ac_depot_classic
- Slightly less SMG recoil
- Restricted footstep and land sound radius
- Added scope settling time to fix sniper exploit

#### Client

- Writes an error report every time the 'real' disconnect-bug happens (send it to us, please)
- Some crashes (drawradar) fixed
- Fixed health pickup sound
- Display port in connect message
- Protocol bug fixed (item spawn)
- Stop demo playback before connecting
- Fix ammobox pickup for spectators and demo playback
- Option to hide vote hud after own voting
- Hide scores, when minimap is shown
- Enforce scoreboard during intermission
- Nice filenames for screenshots and demos
- Fixed & extended tktf flag grab messages

#### Server

- Connect new players to the smaller or weaker team
- Optionally write recorded demos to files
- Optionally restrict a server to server-provided maps
- Configurable voting permissions
- Missing config file warning
- Fixed kick, ban & forceteam votes
- Nore & fixed log messages
- Custom server description is kept until the player leaves who changed it
- Automatic demo recording bug fixed
- Admin voting fixed
- Escaping special characters for commandline arguments
- Enhanced filtering for server descriptions
- Cleanup blacklist before use (fixes bug)
- Write the clients AC version to the log

## AssaultCube v1.0

Released: 21st of November, 2008

#### Gameplay

- New maps: ac_power, ac_elevation, ac_toxic, ac_urban, ac_shine, ac_desert3, ac_keller, ac_sunset, ac_arctic and ac_scaffold.
- New game modes: Hunt the flag, Keep the flag & Team keep the flag.
- Crouching, hide effectively and shoot with more precision.
- Smooth recoil changes.
- Spectator and player-following.
- Reduced violence mode.

#### Audio

- OpenAL 1.1 support (Allows for 5.1 surround sound).
- Footsteps, bullet ricochets and other new sound effects.
- Voice-coms, a varietey of team commands.
- Action music when stealing the CTF flag.
- Two new soundtracks (Cube 1).
- Ambient map-sounds.

#### Graphics

- Stencil shadow support.
- Brand new mapmodels.
- Vertex lighting for mapmodels.
- Visibility options for player models.
- Custom playerskin support.
- Scorch marks made by grenades.
- Muzzle flashes.
- Bulletholes (Cube 2).
- New sniper scope.
- New text rendering (Cube 2).
- Batched model rendering.
- New startscreen and icons.
- New damage screen.

#### Interface

- Enhanced scoreboard asthetics and features.
- More advanced/intuitive interface for changing sound and video options.
- Keybinding menu, mouse invert support.
- Welcome menu that asks for fundamental options to be changed.
- Map and crosshair menus show ALL items from their resource directory.
- Sliders, checkboxes and text-inputs now available for menus.
- Better crosshair menu/support.
- An in-game multiplayer menu with the options that you'll specifically need while in-game, and also lists admin commands if you're administrator.
- New custom connect and admin connect menu.
- AssaultCube updates servers for you.
- Nickname, mapname and entity type auto-completion.
- When files are written to disk by the game, the game advises you.
- Game output prints scores at the end of each match in the console.
- Damage indicators in the HUD.
- Text cursor now makes a flickering effect.
- Better countdown timers for respawn.
- A compass inside the minimap.
- Support for apple meta keys.
- Mouse sensitivity is now "floating point".

#### Server

- AssaultCube server wizard (which allows it to run as a Windows service if needed).
- Even better netcode with various improvements.
- Customizable ports allowed for servers.
- CSL (cube server lister) support.
- Whois command.
- New masterserver implementation (OSS, ASP.NET).
- Server supports syslog loggin on Linux-like patforms.
- Auto-getmap and map config sending.
- Server can provide custom maps and learn new maps.
- When joining a server, players now connect to the smaller team.
- New extensions/plugin system for the server.
- New map storage/sending system.
- Support for admins to change the server description in-game.
- Multiple admin password support.
- Passwords to allow access for blacklisted players.
- IP Blacklisting support.
- Team shuffle command.
- Min/max player support for the maprotation - If there are too many/few players, depending on the map rotation settings, that map will be skipped in rotation.
- Auto-ban threshold for the server.
- Auto-forceteam ensures that teams are always even in team-based modes.
- The server now checks cfg files periodically and updates if any have changed.
- More secure sending of passwords to the server.
- Simple SPAM detection and suppression.
- Serverside demo recording (Cube 2).
- Searching LAN will show all LAN servers.
- Muliple IP addresses are allowed on one server.

#### Editing

- New "clip" entity allows easy clipping for map editors.
- Better support for mods of this game.
- "editent" command to easily edit entities.
- Flags and pickups show up in edit mode.
- "loadnotexture" command, allowing a custom texture to be loaded if the user doesn't have the correct content.
- Better playerskin support. See /docs/playerskins.html for more information.

#### Misc

- Configurable script security contexts to run map configs in a "sandbox".
- Multi-user support for Windows/Linux, stores your configurations/files to your user profile.
- Lots of new documentation, including user guides for map editing.
- 64-bit Linux binaries now included in release.

#### Fixes

- Map cleanups/fixes.
- Better bot waypoints.
- Quick-switch exploit fixed.
- Forceteam/autoteam/team change issues fixed.
- HUD gun no longer appears to go through walls.
- Fixed reloading while scoping issue.
- "hideradar 0" doesn't disable the minimap anymore.
- Scope is always drawn at correct aspect ratio now.
- CTF flag now drops correctly on heightfields.
- "Unknown" servers now show as "empty".
- Grenades don't fall through bridges/platforms.
- Suicides drop the flag, instead of resetting it.
- Better spawning - Players don't spawn in the same location (in arena game modes).
- "sendmap filename" will no longer write to file, unless in co-op edit mode.
- "getmap" will now get the right map, or no map.
- Securemaps now work as intended.
- Mapmodel occulling fix.
- Documentation is IE friendly
- Plus many others...

## AssaultCube v0.93

Released: 4th of June, 2007

- A new name: ActionCube is now known as AssaultCube. Best feature ever...
- New map: ac_snow.
- Mini team-radar.
- Map overview.
- In-game documentation reference (command prompt and menus).
- Water reflections.
- Dynamic player shadows.
- Bulletholes.
- 3rd person demo playback, pausing and slow motion (experimental).
- Team chat.
- New 'admin' client role, which allows server owners to break into locked servers.
- New explosion GFX (Sauerbraten backport).
- Improved weapon sway.
- Small physic improvements.
- Improved scorebard.
- Server MOTD (message of the day).
- Master can now force a player to the enemy team.
- Player collisions improved.
- Local renaming of duplicate player names (Sauerbraten backport).
- Improved app launcher for Mac (Sauerbraten backport).
- Reload animation now plays correctly.
- Flag now drops correctly on heighfields.
- Akimbo pickup doesn't cause a weapon change when using the sniper.
- CTF join bug fixed.

## ActionCube v0.92

Released: 17th of Janurary, 2007

- New bot gamemode one shot, one kill.
- Auto team.
- Connecting players stay dead in arena modes.
- Colored messages.
- Public and private server mastermodes.
- Tweaked weapon balance.
- Sniper headshot kills instantly and shows some gibs.
- All gibs count as two frags (knife, nade, sniper headshot).
- CTF flag resets on teamkill.
- A big note on the teamkillers screen.
- Quick nade throw (key G, MOUSE2).
- Better spawning.
- Fixed skin menu.
- Fixed flag disappear on disconnect.
- Fixed shooting while editing.
- Fixed invincible bots.
- Fixed several memory bugs.

## ActionCube v0.91

Released: 12 of November, 2006

Some of the features are backports from Sauerbraten, thanks to eihrul.

- New game mode "one shot, one kill".
- New map: ac_desert2.
- Netcode and new version of the enet library (consumes less bandwidth).
- Weapon balance tweaked.
- Config saving.
- Support for md3 mapmodels.
- Faster geometry rendering.
- Faster ladder climbing.
- 3rd person death.
- Advanced console.
- Screenres command and fullscreen var.
- Limit fps with maxFPS.
- -z, -b, and -a command-line options.
- Ctf flagpick bug fixed.
- Gib crash fixed.
- Flag count fixed.
- Scores now save across disconnects.
- Player death animation fixed.
- Weapon hit absorbtion fixed.

## ActionCube v0.90 - First public beta

Released: 4th of November, 2006

#### Artwork

- 55 new mapmodels.
- 4 high quality new maps.
- 100% new texture set (new, not fully original).
- 100% new content (original, apart from sounds/playermodel).
- New weapons: Knife, Pistol, Shotgun, Subgun, Assault Rifle, Sniper Rifle, Grenades.
- New items: Health, Ammobox , Kevlar, Clips, Grenades, Akimbo Powerup.
- New sounds.
- The well known SAS Quake2 model by Darren Pattenden.

#### Game/Engine

- Gamemodes:
  - Capture The Flag (Ported from pCube).
  - Team Deathmatch.
  - Team Survivor.
  - Last man Standing.
  - Deathmatch.
  - Pistol Frenzy.
  - Last Swiss Standing.
- Two fixed teams with chooseable skins.
- Server side maprotation (Ported from pCube).
- md3 hudguns.
- Vweap support for all weapons.
- Weapon reloading.
- Bullet flyby FX.
- Weapon bob/sway.
- Ladders.
- Gib FX.
- New menu/HUD GFX (model drawing).
- Simple kick/ban systems.
- Bot support (adaption of the CUBEbots).

## The day makkE came to town...

BEGIN LOGGING AT Sun Aug 1 11:46:13 2004
Aug 01 16:12:02 --> makkE (makkE@116-1-87.w193-250.abo.wanadoo.fr) has joined #ActionCube
Aug 01 16:12:18 <makkE> hi
Aug 01 16:13:29 <driAn> hi

## Project Launch

In July 2004, Arghvark, driAn, Verbal_ and dtd started developing AssaultCube.

© Copyright, Rabid Viper Productions
We would be grateful for any donations considered towards AssaultCube