Note: You can also play Quake Live, which is pretty much identical to the original Quake III, and runs in a web browser using Flash.
Installing ioQuake3
First, download the engine installer and the data installer from the official ioQuake3 homepage. Make these
executable and run them to install the game. By default, the game installs as /usr/local/games/.
You can also install it as normal user, in a location such as $HOME/apps/ioquake3, where $HOME is your home
directory (e.g. /home/your_username).You will also need the pak0.pk3 data file from the original Quake 3 CD. After the installation of the engine, copy this file inside the $HOME/.q3a/baseq directory. If you don't own Quake 3, you can always install OpenArena, or just get the free pak0.pk3 file that comes with OpenArena and copy that instead.
Once the game is installed and set up, you can run it by typing ioquake3 in a terminal. Here is another way of running it:
ioquake3 +set fs_game "baseq3"
This will start ioQuake3 loading the default baseq3 mod, however if you have mods like Excessive or OSP installed you
could load them using ioquake3 +set fs_game "osp" or ioquake3 +set fs_game "excessive".
Configuring ioQuake3
I will only explain how to configure ioQuake3 using config files. As with any ioQuake3-based games, configuration
can be done via text config files, and in this case the config files will be located inside the
$HOME/.q3a/baseq3 directory. You can create a text file in this directory called autoexec.cfg, and add
commands or settings in it. All the commands inside this file will be executed automatically when the game
starts. You can also create additional .cfg files in this directory and manually run them in the game console
using /exec file.cfg for example. Or you can create additional .cfg files and then put commands inside
the autoexec.cfg to run them. Below is an example:Example of autoexec.cfg file:
name "MyNickname" exec "settings.cfg"
seta sensitivity "9" seta r_gamma "4"
To add custom options, you will add them in the form of seta variable "value". For example, to show the current FPS, you would add the following line inside your autoexec.cfg file:
seta cg_drawFPS "1"
The Difference Between set and seta
While set will only save the variable for the current session only (that is, it will apply it and use it only for
this running instance of the game, seta will apply this variable and also save it inside the persistent
file config.cfg, making it a default value for all future running instances of the game.
Basic CVAR Configuration
This section includes some useful CVARs that you can tweak inside the autoexec.cfg file.seta name "MyNickname"
Default: "UnnamedPlayer"
This is used to set your nickname.
seta sensitivity "8"
Default: ""
This changes the mouse sensitivity. The bigger, the faster your aim cursor will move on the screen.
seta com_maxfps "60"
Default: ""
This caps the maximum framerate allowed. If you are using vertical sync, this will be capped to the maximum frequency your monitor allows.
Cycling Through Different Variable Values by Pressing a Single Key
Take a look at the code below (you can copy/paste this inside the autoexec.cfg file):
seta sens0 "seta sensitivity 5; bind p vstr sens1; echo sensitivity 5" seta sens1 "seta sensitivity 7; bind p vstr sens2; echo sensitivity 7" seta sens2 "seta sensitivity 9; bind p vstr sens0; echo sensitivity 9" bind p "vstr sens0"
Some Useful Scripts
Colored Nickname
Quake III supports colored nicknames, and you can set a color by preceding your nickname with a color code.
For example, seta name "^5MyNickname" will use light blue, while seta name "^3MyNickname" will
be red. Here is a list of colors:
- ^0 - black
Example of autoexec.cfg Config File
This example config file uses ESDF keys for movement and has some bindings for cycling through sensitivity,
maximum FPS and gamma settings.
seta name "^5MyNickname" bind e "+forward" bind s "+moveleft" bind d "+back" bind f "+moveright" bind SHIFT "+movedown" bind SPACE "+moveup" bind MOUSE1 "+attack" bind MOUSE2 "+zoom" bind TAB "+scores" bind y "messagemode" bind u "messagemode2" bind i "messagemode3" bind v "weapon 1" // gauntlet bind t "weapon 5" // rocket launcher bind w "weapon 7" // railgun bind g "weapon 8" // plasma gun bind F9 "exec autoexec.cfg" bind F7 "r_fullscreen 0" bind F8 "r_fullscreen 1" seta sensitivity "8" seta com_maxfps "60" seta com_blood "1" // default: "0.25" seta s_musicvolume "0" // default: "0.8" seta s_volume "0.1" seta cg_drawfps "1" seta cg_fov "100" seta cg_autoswitch "0" seta cg_draw3dicons "1" seta cl_allowdownload "1" seta bot_nochat "0" seta r_mode "-1" seta r_customwidth "1366" seta r_customheight "768" seta r_finish "1" seta r_picmip "0" seta r_gamma "1.2" seta r_stencilbits "8" seta r_drawsun "1" seta r_detailtextures "1" seta r_colorbits "32" seta r_texturebits "32" seta r_dynamiclight "1" seta r_lodbias "0" seta r_subdivisions "4" seta r_mapoverbrightbits "2" seta r_fastsky "0" seta r_texturemode "GL_LINEAR_MIPMAP_LINEAR" seta sens0 "seta sensitivity 5; bind p vstr sens1; echo sensitivity 5" seta sens1 "seta sensitivity 7; bind p vstr sens2; echo sensitivity 7" seta sens2 "seta sensitivity 9; bind p vstr sens0; echo sensitivity 9" bind p "vstr sens0" seta fps43 "seta com_maxfps 43; bind o vstr fps60; echo com_maxfps 43" seta fps60 "seta com_maxfps 60; bind o vstr fps43; echo com_maxfps 60" bind o "vstr fps43" seta gamma0 "seta r_gamma 1.0; bind j vstr gamma1; echo *** r_gamma 1.0" seta gamma1 "seta r_gamma 1.2; bind j vstr gamma2; echo *** r_gamma 1.2" seta gamma2 "seta r_gamma 1.3; bind j vstr gamma3; echo *** r_gamma 1.3" seta gamma3 "seta r_gamma 1.4; bind j vstr gamma0; echo *** r_gamma 1.4" bind j "vstr gamma0" echo "Loaded config file autoexec.cfg"
Starting a Dedicated ioQuake3 Server
Here is an example on how to run a dedicated ioQuake3 server:
ioq3ded.i386 +set dedicated "2" +set net_port "27960" +set fs_game "baseq3"
About Quake III
Quake III was released on December 2, 1999 and it quickly became on of the most popular shooter games ever created.
Contrary to its predecessor, Quake II, Quake III Arena focused more on the multi-player side. It has 10 weapons,
four game modes (FFA, TDM,
CTF and Tournament), single-player skirmish and online multi-player mode.
Screenshots
Q3CTF2
Resources