This page is for the original Quake. For Valve's GoldSrc multi-player remake, see Deathmatch Classic.
A technology test released on February 24, 1996, a few months before the full release. Meant to showcase the multiplayer and level themes of the full game. Includes 3 maps and many elements of the game that were either cut or changed for the final release.
The tech test can be downloaded from PCGamingWiki.
Further details can be found on Quake Wiki.
The original DOS version. Can only be run in MS-DOS (or DOSBox for newer systems). Fullscreen only.
This version is the official demo for the game (besides Qtest). Only the first episode ("Dimension of the Doomed") is available to play.
The shareware can be downloaded from PCGamingWiki.
Also, the shareware PAK file can be downloaded separately from the main release (to be used with source ports).
This version is optimized to run under Windows 95/98 as an independent exe file. Allows the game to appear in a window and screen resolutions can be selected in-game.
It can be downloaded from PCGamingWiki.
A special version of WinQuake that was designed to run with 3D accelerators (now known as graphics cards), unlike Quake and WinQuake, where all graphics rendering and game logic calculations were done by the CPU only. Rendered with OpenGL, it improves the overall look of Quake greatly (smoothed textures, transparent water, etc.) and allows widescreen resolutions and higher FOVs. Screen resolutions need to be entered in via console commands before launch.
This port also has a few regressions; it does not support overbright lighting and has weaker colored lighting than software rendered Quake.
For a complete list of differences between GLQuake and software rendered Quake:
A multiplayer only version of Quake specifically designed to play over the Internet. A version using OpenGL rendering is also available (GLQuakeWorld). See Quake or QuakeWorld? for specifics.
The first hardware accelerated version of Quake, released shortly before GLQuake. This MS-DOS port is specifically designed for the Vérité chipset by short-lived company Rendition, using their proprietary Speedy3D API. Uniquely for the time, this version offered edge anti-aliasing, adjustable from 0 to 7, covering various combinations of world, object and particle polygons.
As there is no emulation of this hardware available, this port cannot be played on modern computers.
Today, Quake is primarily played with modified engines which make use of modern technology and operating systems. Installing them is as simple as extracting them into the same folder you can find WinQuake.exe and running the modified engine's exe. For multiplayer all you need is to pull down the console (~) and type connect <server address or ip>.
connect <server address or ip>
Many modern engines have a setting for mouse looking in their options menu, but if it doesn't exist you can enable it from the console by entering +mlook. The plus sign in front of the mlook is a modifier that means "enable". You can disable it later with -mlook. Same rule for crosshairs, if it's not available in the menus, enable it with the crosshair 1 command.
From the options menu, you may also want to set Always Run to On and set Lookstrafe and Lookspring to Off.
This video guide explains the basics you will need in order to get Quake working with a modern engine. Later sections on this page go into deeper detail on each subject.
Quake Injector is a Java-based client for the Quaddicted single player map and mod database that runs on Windows, OS X and Linux. It provides the ability to install and uninstall maps and mods (with their requirements/dependencies) from the site directly on Quake with a single click and includes information about each mod, such as release data, rating (from the Quaddicted editor), title, authors, a brief description (from the editor) and screenshot. Also it can (with varying levels of success) figure out if there are known maps already installed.
Quake Injector does not provide access to every map released for Quake (it has no support for multiplayer maps, for example, unless they come as part of a singleplayer map pack or they are singleplayer maps in addition to multiplayer), but it is very close to that and provides an easy method to try new maps and mods.
Please note that under Linux (and maybe OS X, depending on the file system) many older maps will need manual editing of their filenames because the original files contained mixed case or upper case letters.
MiniQL is a small Quake launcher that provides an easy front-end to running any user map or original map by scanning Quake and mod archive files (PAK files) and displaying all maps to select from. It can also be used to supply default variables (such as fov) and screen resolution when starting the game.
MiniQL can be downloaded from here.
Use Vispatch (Mac version available here) to patch vanilla data (some mods already include said patches to data). Use the command r_wateralpha with any value below 1.0 to enable the effects. Note some engines wont remember this value and will require it to be added to the autoexec.cfg.
A complete list of console commands:  Technical info by id software: 
For GLQuake: As the included opengl32.dll is a 3dfx-specific MiniGL wrapper, it should be deleted on systems not using 3dfx cards.
The game uses non-power of two textures for models, which were supported by the software renderer, but not by the OpenGL renderer. Therefore, textures in OpenGL have to be resized to a power of two; this is controlled through the console command gl_round_down. By default this is set to 1, which downsamples textures to the nearest power of two, reducing quality noticeably in the process. This was used due to limitations of contemporary 3D hardware, although the readme for GLQuake claims that setting it to 0 (which will upscale to the next higher power of two instead) will run well even on a contemporary 4 MB 3DFX Voodoo Graphics.
GLQuake also defaults to gl_flashblend 1, which uses a transparent shaded sphere around lightsources such as explosions in place of real dynamic lighting. Setting gl_flashblend 0 will use dynamic lighting similar to the software renderer.
Experimental rendering features referenced in the readme include r_wateralpha (0-1, default 1), with a recommended 0.7 for slightly translucent water. This is said in the readme to not work with standard maps, as they are not processed with this in mind. Shadows can be set with r_shadows 1, and mirrors activated with r_mirroralpha 0.3, which only affects one texture in the "easy" starting hall.
For the software rendered versions, the only available real tweak is d_mipscale 0, which processes textures at highest quality for all distances. This can cause the RAM icon to pop up in the game, the fix for this is supposedly showram 0 or -surfcachesize xx (with xx being a big enough number).
Using existing joystick support, it is possible to add support for XInput-based controllers.
A list of configurations for the devices can be found in the Files section.
It will not add triggers support for XInput-based controllers as Quake treats them as axes and won't allow to map them. As a workaround XInput-to-DirectInput wrapper can be used, such as XInput Plus (actual tool is in English).
When Quake initially launched its netcode was not optimized for the dial-up connections of the time, and so consequently QuakeWorld was created, a separate exe for the game which was multiplayer only with adjusted physics and severely revamped netcode. As personal internet connections improved, the original Quake protocol became more relevant. The original, non-QuakeWorld version, is now often referred to as NetQuake, and there is a divide as to which to play. Serious competitive players are very sensitive to the differences between them, however for the starting out player the differences will be barely noticeable, and the experienced but more casual players play whichever, simply going for servers where a fun time can be had.
See SUPERHOT for details.
Was originally a Quake mod. See Team Fortress for details.
Mods are accessed via an amendment system, where you tell the engine where to look first for game data, and then it falls back to the default subfolder (id1) for the base game. The subfolder root for the mod will either have a progs.dat file, or a .pak or .pk3 file.
-game <folder containing the mod>
+map <name of the BSP file (excluding the extension)>
-map <name of the BSP file (excluding the extension)>