Everything in Quake 2 runs through the console: cheats, settings, binds, demos, server administration. The engine has barely changed since 1997, so nearly everything here works the same in the original game, in source ports like Q2PRO and Yamagi, and in the 2023 remaster.
Press the tilde key, ~, under Escape on most keyboards. The
same key closes it. Commands are typed at the prompt and run with Enter. The
console keeps a history; the up arrow recalls previous commands.
These work typed straight into the console in single player. In
multiplayer they only work if the server was started with
+set cheats 1, which public servers never are.
| Command | Effect |
|---|---|
god | Invulnerability. Falling into the void still kills you. |
noclip | Fly through walls, doors and floors. The way into locked and unreachable areas. |
notarget | Enemies ignore you until you shoot them. |
give all | All weapons with full ammo. |
give <item> | A specific item:
give railgun, give slugs,
give quad damage. give health restores you to 100
but not past it. Also hands over keys and pass cards that open doors. |
sv_gravity <number> | Gravity. 800 is normal. Low values float, very high values pin you to the floor. |
viewpos | Prints your coordinates and heading, useful for mappers. |
map <name> loads any map fresh. The campaign opens with
map base1. The stock deathmatch maps are q2dm1 (The
Edge, the most played duel map in the game's history) through
q2dm8.
skill <0-3> sets difficulty for the next map load:
0 easy, 1 medium, 2 hard, and 3 is a hidden harder setting the menus never
offer. So skill 3 followed by map base1 starts the
campaign at its true maximum.
Set these once and they stick in your config.
| Cvar | What it does |
|---|---|
fov <90-120> | Field of view. 90 is stock; competitive players tend to run 105 to 120. |
sensitivity <n> | Mouse speed. |
cl_run 1 | Always run. There is no reason to walk in Quake 2. |
hand <0-2> | Weapon hand: 0 right, 1 left, 2 centered with no weapon model drawn. |
crosshair <0-3> | Crosshair style, 0 turns it off. |
cl_gun 0 | Hides the weapon model for a cleaner view. |
cl_maxfps <n> | Frame cap. In the classic engine physics quirks depend on it; old players cap at particular values on purpose. The archive's FPS change script exists for exactly this. |
rate <n> | Network rate. On modern connections just set it high, for example 25000. |
name <yourname> | Player name. |
skin <model/skin> | Player model, in the
form male/grunt or female/athena. |
vid_gamma and gl_modulate | The two knobs behind every "my game is too dark" fix since 1997. Lower vid_gamma is brighter; gl_modulate 2 lightens textures. |
bind <key> "<command>" attaches a command to a
key. The classic pattern is one key per weapon:
bind q "use railgun"
bind e "use rocket launcher"
bind f "use hyperblaster"
alias <name> "<commands>" chains commands under
one name, separated by semicolons, and the alias can then be bound to a key.
This is a deep subject and the old scene wrote it up properly: see
DM's aliases and the rest of the
aliases archive, all of which still work
unchanged.
Put your binds in autoexec.cfg in the baseq2
folder and the game runs them at startup. exec <file>
loads any config by hand.
record <name> starts recording your game to a demo
file, stop ends it, and demomap <name>.dm2
plays it back. Every recording in the DemoSquad archive
was made this way.
| Command | What it does |
|---|---|
connect <address> | Join a server by IP or hostname, with port if it is not the default 27910. |
reconnect | Rejoin the last server. |
say and say_team | Chat to everyone or to your team, usually bound to keys. |
rcon <command> | Run a command on a server
you administer, after setting rcon_password. |
Hosting your own game means setting deathmatch 1 plus
timelimit and fraglimit before loading a map.
Server setup is a guide of its own, and finding populated servers is covered
in Playing Quake 2 in 2026.