Quake 3 Arena

Quake III Arena is a multiplayer first-person shooter video game developed by id Software company in 1999. Quake III Arena is the third game in the Quake series and differs from previous games by excluding a traditional single-player element. Quake III Arena is available on a number of platforms including Linux.

Installation on Linux

Other than going the windows emulator route, you can use ioquake3 which is an open source engine to run quake on linux. Using ioquake3 has advantages and disadvantages. One advantage is that it is easy to get going on Linux. One disadvantage is limited compatibility with custom maps and poor compatibility with mods.

Useful Tip: If playing quake windowed and you need to switch to another software window in X simply press ~ which opens the quake console command prompt but also unlocks mouse from the game so you can access other X software.

ioquake3 method

Go to the URL: https://ioquake3.org/get-it/

download the files...

  • ioquake3-1.36-7.1.i386.run
  • ioquake3-1.36-7.1.x86_64.run

You wont use both of them, just the one for your architecture so technically you don't really need to download them both. I did so I could do performance comparisons.

Go to the URL: https://ioquake3.org/extras/patch-data/

download the file:

  • quake3-latest-pk3s.zip

execute the .run file, be it the 32 or 64 bit version. here we use the 64 version.

~/games/quake3 $ ./ioquake3-1.36-7.1.x86_64.run 

This opens a graphical install interface within x (or alternatively an ncurses in terminal*). check paths for game and binary. Click install.

note * ncurses installer: I have found that if the GUI applet doesn't open, but instead you see an ncurses installer within the terminal you will likely have to close and run the install again as sudo then later you will need to chown username ~./q3a -R

You will notice the addition of ioquake3 under the Menu->Games in x and also the creation of ~/.q3a

NOTICE: If the ~/.q3a was not created, then go under Menu->Games and run ioquake3 once, it won't open anything b it will create ~/.q3a

Now copy the contents baseq3 folder from the Quake 3 Arena CD (or your paid version installation) and paste it into the .q3a folder. This should include a folder called baseq3. For my install it also included a folder called Quake3 and sound, however, I dev custom maps, mods, and audio. Yours may only have baseq3 such as on your original paid version installation.

PATCH BY MERGING NOT OVERWRITING THE ENTIRE FOLDER:

Finally, other online guides recommend installation of the game patch. This is from the file quake3-latest-pk3s.zip you obtained from patch-data and when extracted contains a folder quake3-latest-pk3s with some updated files in baseq3 and a folder called missionpack.

Do not copy the baseq3 folder over yours! You need to merge them replacing on the files pak*.pk3 from baseq3 over the old ones in your folder. My CD installation versions of these files had a year 1999 date and the updated files had a year 2002 date. Then missionpack could be copied over without worrying about merging.

References used in creating this guide:

Last verified 12/2018 on Mint 18.3.
Also tested on Kubuntu 14.04 Trusty Tahr - this one used the ncurses installer instead of the graphical installer

ioquake3 issues

To play quake3 or CPMA you need vanilla ioquake3 sources and compiling them with BUILD_STANDALONE=0

Some custom maps won't work.

ISSUE: WRONG VERSION NUMBER

CM_LOADMAP: MAPS/CUSTOMMAP.BSP HAS WRONG VERSION NUMBER (32623 SHOULD BE 46)

Resolution: currently unknown Work In Progress

Possible Resolutions:

The patches resource may be out of date:

ISSUE: .BSP NOT FOUND

RE_LOADWORLDMAP: MAPS/TEST.BSP NOT FOUND

Development maps (custom maps) not zipped up in a pk3 file such as loose BSP files under the MAPS folder cannot be loaded without doing the following:

/seta sv_pure 0
/devmap mapname

To decompile or recompile maps use Q3Map2 - I don't know where to get it, and it might take some tweaking to get working.

ISSUE: LOADTGA TYPE ERROR

LOADTGA: ONLY TYPE 2 (RGB), 3 (GRAY), AND 10 (RGB) TGA IMAGES SUPPORTED

Please note that discussion here does not relate to the game Counter Strike although relevant in the use of base game engine. It is believed that the old Quake Radient map editor created certain incompatibilities that although were not problematic in the original quake engine, cause issues in ioquake3.

According to this post on quake3world.com "It is quite possibly not a .tga file at error here but more likely you have got a .jpg in your working directory that is been saved with Progressive Compression which Q3 does not like. Resave the image without and you should be OK."

According to another source, "you are trying to use a .jpg in a shader script. All shader scripts call for .TGA textures, even though the actual texture may, in fact, be a .jpg. If the shader script is correct and you're still getting the error, then it means that you have saved the textures as progressive .jpgs. You've seen these on some web sites, where the picture is downloaded in phases, showing increasingly detailed versions of the entire image. The Q3 rendering engine cannot render these textures. You must save the .jpgs as baseline optimized." Please note that this response is in regards to a game base on the quake 3 engine, however, the same logic and reasoning applies.

The solution probably involves decompile and open the custom map in a modern editor, checking custom images, then save and repack.

ioquake3 command line options

Usage

+set <cvar> <value>

cvar - Configuration variable. Can be set by the game itself or by the user via command line options (+set), editing configuration files or using in-game commands.

Starting a Dedicated ioQuake3 Server:

ioq3ded.i386 +set dedicated "2" +set net_port "27960" +set fs_game "baseq3"

Quake 3 Console

To enter the console, press the tilde ~ key at any time in game except during a map load. If you can't find or don't know what the tilde key is, then reboot your computer immediately. The console is a command line interface for the game, similar to how the command terminal is in linux or cmd.exe in Windows. Commands and variables each must be preceded by a slash / or backslash \ otherwise anything typed in the console will be broadcast as global chat. To execute a command, enter the command or variable and press enter. To change the value of a variable, enter the variable name followed by a space and the new value. When you hit enter the new value will be assigned to the variable. If you want to see what the current and default values of a certain variable are, enter the variable name without any value behind it and hit enter. The console will return the current and default values. Certain variables however will not show any immediate change. Mostly variables beginning with r_ (which are related to video settings) need a restart of the render system to be applied. To reset the render system, enter /vid_restart

Console commands: Quake 3 Arena Console Commands

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.

development mode and cheats

To be able to use codes in single-player mode, in the console, type: /sv_cheats 1, then, /devmap<name of map>.

God mode: /god

No clip (walk through walls): /noclip

Give all: /give all

/g_gravity <>0-800 Change gravity

/cg_thirdpersonangle <-360-360> Change view angle

/cg_thirdpersonrange <320-500> Change view range

/model sarge/krusade Hidden Sarge skin

Other Support Resources

Last modified on 24 December 2018, at 19:24