KMQuake2 began immediately after the release of the Quake2 source as a small engine mod to "Boom" Q2, or increase its limits for mappers, just as Boom increased Doom's map limits.
The limits on the number of unique models and sounds in a map at once were the first to be increased, followed by the limits on the total entities in a map and how many entities can be displayed on screen at once. This was followed by support for longer draw distances and maps compiled with larger chop sizes, to better support large outdoor areas.
To better enhance what mappers can do with the engine, the Lazarus mod was included as KMQuake2's default game DLL. Lazarus's footstep code and texture and surface commands were also integrated into the client. Included are such additions as entity alias scripting, which allows mappers to easily add preconfigured versions of entities such as model_spawn to their maps without having to fill out lots of fields in the map editor. 3Team CTF support and ACE Bots were also added for multiplayer use.
Other features were soon added, such as support for moving and animated transparent surfaces, mapper-specified transparency of any visible entity, any named pak and compressed pk3 files, and the autoloading and scaling of hi-res replacement textures in the TGA and JPG format. New to v0.19 is Ogg Vorbis music support that optionally replaces playing music from the game CD. Mappers can specify music tracks for each map, and tracks can also be changed by the Lazarus target_cd entity. RoQ format cinematics are also supported in this version.
Not to exclude eye candy, an improved particle system was added, along with clipped decals, stencil shadows, improved menus, and more.
Many of these changes required changing the interface between the .exe and game DLL, so mods must be ported to KMQuake2, and demos recorded by KMQuake2 will not play on any other engine, nor can any other client connect to a KMQuake2 server.
Support for maps that extend beyond the /-4096 coordinate size has been added in the latest version, increasing just about all the limits that are possible without supporting a new BSP format. This required a change in the network protocol from the last version, so everyone playing online on KMQuake2 servers will need to upgrade.