Download.
Installer Uses.
Get Started
Get Started

In this section of the homepage you will learn how to setup your Quake® to your liking and make it fully playable on a competitive level.

Running QuakeWorld®

At first you might be disturbed by the large number of clients included in fQuake. And while FuhQuake, FTE and MQWCL are great clients, ezQuake is currently the only client that is still being developed and has the features required for competitive QuakeWorld® play. Therefore, this guide will focus on how to customize ezQuake into something you feel comfortable playing with.

To start ezQuake, simply click on the "ezQuake Starter" icon in the fQuake folder on your start menu. If you did not select ezQuake Starter during the installation, the icon you are looking for will be named "Start ezQuake". If you did not install start menu shortcuts at all, go to your Quake® folder and run ezquake-gl.exe.

Setting the command line

There are a lot of command line options for ezQuake, therefore you will need to get accustomed with changing it. To do this, right click and hold the ezQuake executable (ezquake-gl.exe), drag it to the place you want your shortcut, release, and select "Create Shortcuts Here". When the shortcut is created, right click it again, and click "Properties". In the "Target" field, you will see something like "C:\Program Files\fQuake\ezquake-gl.exe". Command line parameters are set after this text, e.g. "[...]ezquake-gl.exe" -dinput +cfg_load sassa. While the command line that fQuake originally comes with is fine for most people, there are some command line options you simply must know about:

-width — resolution width
-height — resolution height
-bpp — bits per pixel
-conwidth — console resolution width
-conheight — console resolution height
+set vid_displayfrequency — display frequency
-ruleset smackdown — tournament ruleset
-norjscripts — turns off rocketjump scripts
-dinput — direct input
+cfg_load — loads your config
+exec — loads misc configs

Command Line Example:
ezquake-gl.exe -width 800 -height 600 -bpp 32 +set vid_displayfrequency 75 -conwidth 400 -conheight 300 -ruleset smackdown -norjscripts -dinput +cfg_load sassa +exec scripts/servers.cfg

This example sets resolution to 800×600×32 @ 75Hz, with a console resolution of 400×300 (always use console resolutions that is a multiplier of the screen resolution). It uses the Smackdown ruleset along with the disabling of rocketjump scripts, allowing you to play with your setup in leagues. It also turns on direct input which turns off mouse acceleration. It loads sassa.cfg (user config) and executes scripts/servers.cfg (server aliases config).

If you have an ATI card and are experiencing graphical problems with ezQuake, try this command line parameter:

-maxtmu2

Which limits the Texture Mapping Units to 2.

Basic changes of your config

Playing QuakeWorld with the default config will not get you very far, neither will playing with someone else's config. Here are the most common things that people tend to change when they are making a config:

Player settings
The first thing you should do when making your own config is changing you name, team and color.

name Sassa
team -sd-
color 0 12

The team name should be your clan tag and can be 4 characters long. Colors range from 0-13, the first number is your shirt color, the second is your pants color.

Mouse settings
Some people hate an inverted mouse, others don't. To turn on invert mouse:

m_pitch -0.022

To change your sensitivity, either do it using the menu or type this:

sensitivity 3.5

Where 3.5 is your desired sensitivity. This setting might need some tweaking.

Movement settings
The WASD movement buttons are pretty much standard nowadays, but in case you want to change that, here's how:

bind w +forward
bind s +back
bind a +moveleft
bind d +moveright

Which button to use for jumping is not nearly as standard as the WASD buttons. The most popular buttons used for jumping are space, shift and mouse2.

bind space +jump

Weapon selection
Selecting the weapon with the 1-8 buttons may not be the optimal way in the heat of the battle. Therefore it is advised you change some of the buttons:

bind 1 "impulse 1" // Axe
bind 2 "impulse 2" // Shotgun
bind 3 "impulse 3" // Super-Shotgun
bind 4 "impulse 4" // Nailgun
bind q "impulse 5" // Super-Nailgun
bind e "impulse 6" // Grenade Launcher
bind r "impulse 7" // Rocket Launcher
bind f "impulse 8" // Thunderbolt / Shaft

The more important weapons (SNG, GL, RL and LG) will now be readily available without moving your hand from the movement keys. Note that the weapon commands are impulse 1-8.

Field of view
Playing with a 90 degree field of view may feel limiting:

fov 110

A fov between 110 and 130 is recommended.

Gamma correction
If your Quake® seems to be dark, you can try correcting your gamma:

gamma 0.6

That setting should make your Quake® seem brighter. The lower the value, the brighter your Quake® gets.

Changing crosshair
If you do not like the crosshair that the standard fQuake config uses, you can change it by typing:

crosshairimage ""

Note that this turns off the external crosshair and instead uses the built in crosshairs. If you want to use another external crosshair, specify its name by typing:

crosshairimage somecrosshair

This requires the presence of a file named somecrosshair.png (or .tga) in qw/crosshairs/.

If you want to use the built in crosshairs (there are 7 total), specify it by typing:

crosshair 3

Where 3 is any number between 1 and 7. I recommend using crosshair 3 or 4.

Now that you have selected a crosshair, you might want to change its color:

crosshaircolor 255 255 0

You can use any RGB value to specify the color of the crosshair.

Adjusting the console
The console is something you use very often, and it is therefore important that the console is tweaked to fit your needs.

Setting the console size:

scr_consize 0.5

Setting the consize at 1 will make it fullscreen and setting it at 0.5 will make it take up 50% of your screen.

Setting the console speed:

scr_conspeed 10000

Anything lower than 10000 makes the console not-instant, which is a bad thing if you want to use the console during a game.

Setting the console transparency:

scr_conalpha 0.6

Setting the conalpha at 0 will make it 100% transparent and setting it at 1 will make it 0% transparent. If you have a big consize (0.6 or larger), it is recommended that you use a low conalpha so you can see what's happening behind the console.

Setting team and enemy skin
Fullbright skins has become a standard in the QuakeWorld community, so using them is highly recommended. To enable them:

teamskin 2white
enemyskin 2red

This makes your teammates white and your enemies red, given that you have the skin files 2white.pcx and 2red.pcx in qw/skins/.

Turning off vertical sync
Vertical sync has a way of making the mouse response time feel extremely high, making your aim effectively worthless. To turn it off:

vid_vsync 0

Reduce screen tearing
With vertical sync now turned off, the screen might start tearing. At 75hz, I have experienced the least tearing at this particular fps setting:

cl_maxfps 76.923077

If you have a good computer that can produce more than twice your refresh rate, the following settings should suit you a lot better:

cl_maxfps 0
cl_nolerp 0

This lets you have as much FPS as your computer can generate, enabling smooth play.

Setting the gameclock
Timing weapons, armor and powerups become much simpler when using the gameclock, to turn it on:

cl_gameclock 4

You can move the gameclock around the screen using the cl_gameclock_x and cl_gameclock_y commands.

Saving your changes
When you are done tweaking these settings, you should save your config.

cfg_save sassa

You are now done with the most basic tweaking of your QuakeWorld® config. To load the config automatically every time you start QuakeWorld®, add +cfg_load yournick in your ezQuake command line.

In-depth improvements of your config

The basic changes you just made should allow you to play on Free For All servers (deathmatch) as good as any player can. However, if you are looking to play 2on2 or even 4on4 games, you will need to make some further tweaks to your config. Some of the scripts provided here are too advanced or too large to be input into the console, so you are better off opening your config in a text editor. Your config can be found in ezquake/configs/.

Teamsays
fQuake includes 2 great teamsay configs, they are located in ezquake/scripts/ and are called adv_teamsays-strife.cfg and adv_teamsays-def.cfg. Pick one of them, then open it and change the following:

set nick sassa

Now you need to bind the most important teamsays to different keys:

bind x _status
bind alt _lost
bind mwheelup _took
bind ctrl _safe
bind 2 _point
bind c _coming
bind 3 _help
bind 1 _need

These are ranked in order of importance (my personal opinion). I strongly advise you to change the key bindings to keys that suit you better.

When you have changed the nick and bound these teamsays, save the config to qw/tp.cfg. Then start QuakeWorld® and type this:

cfg_load sassa
exec tp.cfg
cfg_save sassa

And of course "sassa" should be your own nick.

Weapon scripts
When playing 4on4, weapon scripts that change your weapon to SG to avoid giving away RL is a must. There are two ways of doing this; you can either have keyboard/mouse buttons that shoot a specific weapon, or have hotkeys that decide what weapon is to be fired on one specific button (in most cases mouse2).

Here's an example of how a "quick weapon" RL script might look like:

alias +rl "impulse 7 3 2 1;+attack"
alias -rl "-attack;impulse 3 2 1"
bind r "bind mouse2 +rl;impulse 3 2 1"

The script above uses mouse2 as a common quick weapon button. Here's how a quick weapon GL script would look like if no static quick weapon button is used:

alias +gl "impulse 6 3 2 1;+attack"
alias -gl "-attack;impulse 3 2 1"
bind e +gl

You can create your own quick weapon scripts using these examples and changing the impulse number and binding. We recommend making quick weapon scripts for SNG, GL, RL and LG.

In the previous example, there were several numbers after the impulse command. If the first specified weapon has not yet been picked up or lacks ammo, the second specified weapon is used, if that can't be used either, it uses the third, and so on. So impulse 7 8 6 will first try to fire RL, then LG and then GL.

Since you don't want to change weapon mid-combat, you should set the following:

w_switch 2
b_switch 2

These commands make sure you don't switch to any unwanted weapons if you happen to pick one up.

As you are no longer using the weapon that is being displayed, showing the weapon model is no longer necessary:

r_drawviewmodel 0

If you want a transparent weapon model, setting it at 0.1-0.9 will make it transparent.

GFX tweaking
There are a few things in QuakeWorld® that might look good, but serve no purpose in a competitive gaming environment. If you want your QuakeWorld to look great, you can skip this section.

Turn off the water fog and caustics:

gl_turbfog 0
gl_caustics 0

Turn off torches and model shadows:

r_drawflame 0
r_shadows 0

Turn off rocket lights, explosion lights and colored lighting:

r_rocketlight 0
r_explosionlight 0
gl_loadlitfiles 0

Turn off particle effects:

gl_part_blobs 0
gl_part_blood 0
gl_part_explosions 0
gl_part_gunshots 0
gl_part_inferno 0
gl_part_lavasplash 0
gl_part_spikes 0
gl_part_telesplash 0
gl_part_trails 0

Change the rocket trail to smoke, or turn it off:

r_rocketTrail 2

Change the rocket model to the grenade model and the explosion type to blood:

cl_r2g 1
r_explosionType 3

Removal of annoyances
Some things in QuakeWorld do not look good and serve no purpose in competitive play. Therefore, everyone is recommended to change the following settings.

Turn off content blend:

v_contentblend 0

Turn off ambient sounds:

cl_staticSounds 0 s_ambientlevel 0

Turn off pickup flashes and turn on damage filter:

cl_bonusflash 0
v_damagecshift 0

Turn off your own muzzle flashes and powerup glow:

cl_muzzleflash 2
r_powerupglow 2

Remove dead bodies and gibs instantly:

cl_deadbodyFilter 2
cl_gibFilter 1

Visual styles
There are 4 different visual styles of QuakeWorld®; Eye Candy style, the Original Quake® style, the LegoQuake style, and the Simple Textures style. You will now learn how to change between these styles, and hopefully find something that suits you.

Eye Candy:
gl_externalTextures_bmodels 1
gl_externalTextures_world 1
gl_texturemode gl_linear_mipmap_nearest
gl_loadlitfiles 1
gl_miptexlevel 0
gl_picmip 0
r_drawflat 0
r_fastturb 0
r_skyname bloody-marvelous512

Eye Candy screenshot

Original Quake®:
gl_externalTextures_bmodels 0
gl_externalTextures_world 0
gl_texturemode gl_linear_mipmap_nearest
gl_loadlitfiles 0
gl_miptexlevel 0
gl_picmip 0
r_drawflat 0
r_fastturb 0
r_fastsky 0
r_skyname ""

Original Quake® screenshot

LegoQuake:
gl_externalTextures_bmodels 0
gl_externalTextures_world 0
gl_texturemode gl_nearest
gl_loadlitfiles 0
gl_miptexlevel 3
gl_picmip 0
r_drawflat 0
r_fastsky 1
r_fastturb 0
r_skyname ""

LegoQuake screenshot

Simple Textures:
gl_texturemode gl_linear_mipmap_nearest
gl_loadlitfiles 0
gl_miptexlevel 0
gl_picmip 0
r_drawflat 1
r_fastturb 1
r_fastsky 1
r_skyname ""

Simple Textures screenshot

The Simple Texture colors can be tweaked using the commands r_wallcolor, r_floorcolor, r_skycolor, r_telecolor, r_watercolor, r_lavacolor and r_slimecolor.

With the following aliases, the different visual styles can be loaded with just 1 command:

alias eyecandy "gl_externalTextures_bmodels 1; gl_externalTextures_world 1; gl_texturemode gl_linear_mipmap_nearest; gl_loadlitfiles 1; gl_miptexlevel 0; gl_picmip 0; r_drawflat 0; r_fastturb 0; r_skyname bloody-marvelous512"
alias originalquake "gl_externalTextures_bmodels 0; gl_externalTextures_world 0; gl_texturemode gl_linear_mipmap_nearest; gl_loadlitfiles 0; gl_miptexlevel 0; gl_picmip 0; r_drawflat 0; r_fastturb 0; r_fastsky 0; r_skyname $qt$qt"
alias legoquake "gl_externalTextures_bmodels 0; gl_externalTextures_world 0; gl_texturemode gl_nearest; gl_loadlitfiles 0; gl_miptexlevel 3; gl_picmip 0; r_drawflat 0; r_fastsky 1; r_fastturb 0; r_skyname $qt$qt"
alias simpletextures "gl_texturemode gl_linear_mipmap_nearest; gl_loadlitfiles 0; gl_miptexlevel 0; gl_picmip 0; r_drawflat 1; r_fastturb 1; r_fastsky 1; r_skyname $qt$qt"

Just paste them into your config and load the different styles with eyecandy, originalquake, legoquake and simpletextures

Tweaking your HUD
If you aren't happy with the way your HUD looks, you can change it without much effort. If you simply think the HUD is too large or too small, you can change the command line options -conwidth and -conheight. The following are the recommended settings, if you set different console resolutions at these screen resolutions, things will start to look ugly:

640×480: -conwidth 320 -conheight 240
800×600: -conwidth 400 -conheight 300
1024×768: -conwidth 512 -conheight 384
1280×960: -conwidth 640/320 -conheight 480/240

If the HUD size is not what bothers you, you might want to replace the textures used in the HUD. If you installed the bonus HUD items during the fQuake installation, you will find additional HUD item textures in bonuses/hud/. When you've found the textures you want to use, put them in qw/textures/hud/.

There is one additional way of fixing your HUD. This one is too advanced for me to bring up here. If you want to read more about it, visit the ezQuake Manual.

There are a few custom HUDs included with ezQuake.

exec cfg/hud_berzerk.cfg
exec cfg/hud_corner.cfg
exec cfg/hud_dobbz.cfg
exec cfg/hud_empezar.cfg
exec cfg/hud_murdoc.cfg
exec cfg/hud_vleesh.cfg

Adding/changing textures
If you want to get new textures, here's a list of what goes where:

qw/textures/ — Map textures
qw/textures/exmy/ — Map textures for the original single-player maps
qw/textures/<mapname>/ — Map textures for <mapname> (e.g. aerowalk)
qw/textures/bmodels/ — Health/ammo box textures
qw/textures/models/ — Model textures
qw/textures/charsets/ — Console characters
qw/textures/particles/ — Particle textures
qw/textures/wad/ — HUD items
qw/crosshairs/ — Crosshairs
qw/env/ — Skyboxes
qw/lits/ — Colored lighting (.lit) files

Changing key mapping
To change the key mapping in ezQuake, type:

keymap_load se

"se" is for Swedish. Browse through ezquake/keymaps/ for more keymaps.

Finding a server

When you're done tweaking your config you might want to find a server and start playing. To join to a server, type join <ip>. To join a server as a spectator, type observe <ip>. The old fashion way of joining a server is connect <ip> and turning spectator mode on/off with spectator 1/0.

Quakeservers.net
The fastest way to find a server is visiting Quakeservers.net. Once you're there, click on the mode you want to play (1on1, 2on2 or 4on4) or just go to "Servers with players" and pick a server in your region.

A Quakeservers.net example

In the example above, I am looking for a duel server in Sweden. The highlighted server has 1 of 2 players and is currently running the map "ultrav". To connect to this server, I copy the IP (zeal.dvdalright.com:28103) and start ezQuake. Once in ezQuake, I simply type connect and then press CTRL+V to paste the IP from the clipboard.

All-Seeing Eye
All-Seeing Eye is a server browser that works for practically every multiplayer FPS in existence. If you included ASE during the fQuake installation, all you need to do is to run tools/eyeinstall.exe. If you did not include ASE during the installation, you can download it here.

Before doing anything, you need to add QuakeWorld to your list of games. To do this, press F2 once the program has started, and click the Games tab. Find QuakeWorld in the list of "Not Installed" games and do the following:

Setting up All-Seeing Eye

Check "Visible in filter list" and enter your full command line in the "Program location" field. The Program location should look something like this:

C:\Program Files\fQuake\ezquake-gl.exe -game qw -mem 32 -democache 32768 -width 640 -height 480 -conwidth 320 -conheight 240 -bpp 32 +set vid_displayfrequency 75 -particles 8192 -dinput -ruleset smackdown +set cl_independentPhysics 1 +cfg_load opengl.cfg -norjscripts -gamma 0.7

When QuakeWorld has been added to the list of "Installed games", you should hide the servers that are not in your area of the world.

Fixing All-Seeing Eye modifiers

In the example above I have filtered out the servers that are not located in northern Europe. You can use the Ping modifiers if that suits you better, where "Less than 50" is the recommended option.

Now that QuakeWorld has been added to the games list and the modifiers filter out all the useless servers, we can finally start looking for a game.

Finding a server with All-Seeing Eye

Here I have found a 4on4 server (see the Deathmatch -> Team Play filter to the left?) where 3 players are waiting for a 4th to show up. I seem to have a decent ping (12 ms) so nothing is stopping me from joining this server. To join a server, simply double click it and ezQuake will be started with the command line you entered in the "Program location" field in the options.

ezQuake server browser
ezQuake has an internal server browser that is very powerful yet still very easy to use.

The first thing you must do is to choose server sources (a file containing server IPs).

Setting server sources in ezQuake

Press ENTER to select or deselect a source.

Once the sources have been set, you should go over the options to make sure the servers are listed the way you want them to be.

Serverbrowser options in ezQuake

The options listed above are recommended. You can hide full servers but that will require you to change the options if you want to spectate a game. And you can hide empty servers but then it will be harder to find a server for you and your friends to fight on.

To connect to a server, go to Servers and press SPACE to refresh the server list.

Joining a server in ezQuake

Press ENTER to bring up a list of the players currently on the server. Press ENTER again to join the server or CTRL+ENTER to join as a spectator.

Using Qizmo

Qizmo is mainly used for re-routing (getting lower/higher ping) and for spectating big QuakeWorld® games.

Re-routing with Qizmo
Some people's connection suffer from bad routing. This makes their ping higher than it can be with a little bit of re-routing.

This command makes ezQuake detect if you are connected to a proxy (Qizmo) or not:

cl_useproxy 1

Now all you have to do is to find a Qizmo, connect to it, and then connect to the server you want to play on. You can also go through several Qizmos if you want to get higher ping. This is useful when your opponents are complaining that you have too low ping (sometimes happen in official games when you're facing opponents from other countries).

connect fury.dvdalright.com:28000
connect r2d2.sics.se:30000
connect wargamez.dk:27501

This example connects through 2 Qizmos and then to the wargamez server. Note that cl_useproxy must be set to 1 for this to work. Otherwise you have to type .connect <ip> with a leading dot.

Spectating a big game
The playoffs in big tournaments such as NQR usually broadcast the games through so called "cams". A cam is simply a client observing a game through Qizmo, other people can then observe this cam through the Qizmo that the cam is using. With this method, a game can have 2 spectators on the server, yet hundreds of people are watching the game through the Qizmos used.

When you have connected to a Qizmo that has been announced as a Qizmo cam, open the console and type:

.menu binds

This binds your arrow keys and various other keys to navigating the Qizmo menu.

Now open the client list and go to the Follow tab. You should be seeing a lot of clients with the status "Obs. <cam>" where <cam> is usually a name ending with "-cam". Press one of these clients and you will start observing the game through the cam.

Observing a big game through a Qizmo cam

Listening to the commentators during these big games requires some additional software, namely TeamSpeak.

While Ventrilo™ is the preferred client for clan games, TeamSpeak is used for the big games with commentators. If you haven't already downloaded TeamSpeak, you can get it here.

When TeamSpeak has been started, press ALT+T+N to bring up the server list. Right click and select "Add server".

Adding a TeamSpeak server

Now enter "teamspeak.endpoint.nu" in the "Server Address" field, and select a nickname.

Connecting to the TeamSpeak server

When the appropriate information has been entered, press "Connect" and you will connect to the TeamSpeak server.

Credits