new ioq3v6-unfreeze-client-v20.5.zip package is out now, please get yourself a copy and update your installation for best and complete experience.

Quake 3 Configuration Guide (v1.0)

User's Guides & Help forum.
User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (v1.0)

Post by tar »

Hi there,

- Intro: you are here :wave:
- Part 1: Engines
- Part 2: System Settings
- Part 3: Graphics Quality Settings
- Part 4: Custom Settings
- Part 5: Miscellaneous Settings
- Part 6: Scripts
- Part 7: Bindings
- Part 8: Server Settings
- Part 9: UnFreeZe Modification
- Change Log

:!: => Discussion thread
Here you can ask questions, make suggestions and debate settings, engine behaviour, etc. You will also propably find more descriptions.

=== INTRODUCTION ==========================================================================================

In the last months I have spend several hours/days in order to organize the most important Q3 variables and commands. First, I sorted them alphabetically to find them faster but I've come to the conclusion that it is better arranging them to their respective area and by hierarchy resp. logical procedure.

As the Quake 3 engine is not able to proceed config files that are larger than a particular file size (I think about 18 kBytes) and in order to find them faster, I split all variables/commands into separate smaller config files. I have also included important mod variables/commands (Q3, ioQ3, UnFreeZe), which is shown in the description for each variable/command. If you wonder if a particular variable/command is not shown within a part, the chance is high that it will be included in another part of this guide. If you still miss something important then please leave a message (in a new thread as this one is gonna to be locked). Also please inform me if you think a variable/command does not belong into the section it is put into. I will update this post (and the other parts) if changes are needed. Despite thinking the most values (except hardware related settings, of course) would fit very well into any standard configuration, feel free to experiment and adjust them and leave a comment if you think an adjustmend is (un)necessary.

Do not forget: The values included here are matching my hardware, my connection, my personal visual and acoustic preferences and my playing behaviour, of course, but I will describe which values are important within the particular area and give you hints how you could set them if I have the knowledge.

But now lets start with the guide :)
Last edited by tar on Tue Apr 10, 2018 0:24, edited 33 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 1): Engines

Post by tar »

=== Part 1: Engines =========================================================================================

Content:
- Chapter 1: Quake 3 engine
- Chapter 2: ioQuake3 engine
- Chapter 3: Modifications (Mods)
- Chapter 4: Configuration Files
- Chapter 5: Console
- Chapter 6: Console Variables (CVARs)

Most of the installation explanations can also be found here.

--- Part 1, Chapter 1: Quake 3 Engine ---------------------------------------------------------------------------------------------------------------------------

The Quake 3 engine is open source. The game itself is not free. You must purchase the game to use the data and play Quake 3: Amazon, eBay

To update to the latest official version v1.32 use the appropriate patch file:
- Windows: adminless.ovh, fileplanet.com, quake3world.com
- macOS: adminless.ovh, fileplanet.com, quake3world.com, fileplanet.com (incl. AltiVec support)
- Linux: adminless.ovh, fileplanet.com, quake3world.com

Windows version (should be similar for the other versions): Install the game on any location you like (e.g. d:\games\quake3) and apply the appropriate patch file. After the installation procedure you will find there a quake3.exe file (which is used to start the Quake 3 engine) and a baseq3 subfolder (that contains the basic Quake 3 maps, textures, graphics, sounds and scripts which are packed within .pk3 files). The .pk3 files are loaded by the Quake 3 engine in alphabetical order (more on that in the chapter about modifications).

As the standard Quake 3 engine already would be sufficient to play the game it is highly recommended to add the enhanced ioQuake3 engine for a better gaming experience (see the corresponding chapter).

--- Part 1, Chapter 2: ioQuake3 Engine --------------------------------------------------------------------------------------------------------------------------

The ioQuake3 team made many improvements that enhance the engines abilities. Therefore it is highly recommended to use it and it is free!

Official website: ioquake3.org
Installation guides: Windows, macOS, Linux

To get the latest inofficial version v1.33 (there is also a newer test version v1.36 available that has more features but v1.33 has the better in-game feedback) use the appropriate file:
- Windows: adminless.ovh (x86 generic), adminless.ovh (x86 Intel optimized), adminless.ovh (x86 AMD optimized)
- macOS: none available
- Linux: adminless.ovh (586 generic), adminless.ovh (686 generic)

Just copy the executable files inside your ioQuake3 folder (e.g. d:\games\ioquake3) and use the appropriate one for starting the game. Additional installation infos for Linux can be found here.

:!: Important note:
You need to know that ioQuake3 uses two Quake 3 folders. In the first one the main game is installed (e.g. d:\games\ioquake3). There you can insert any alternative engines and engine updates. The second folder is used for personalisations which you can find here: c:\Users\your_username\AppData\Roaming\Quake3\mod_name. This is used for modifications and configuration files.

--- Part 1, Chapter 3: Modifications (Mods) ---------------------------------------------------------------------------------------------------------------------

Modifications (Mods) are packages that are installed (copied) additionally to the standard Quake 3 installation. They can contain additional maps, textures, sounds and scripts. Therefore they can be used for own types of games by using the Quake 3 engine or for particular adjustments (enhancing graphics, sounds, menu, HUD, etc.). They often use additional variables/commands and can use the standard Quake 3 variables/commands differently (which is described for the particular mod) why a particular config file for each modification should be used.

Modification packages mostly contain .pk3-files and other files that should be put in an according subfolder within the Quake 3 folder (e.g. for the UnFreeZe modification package in d:\games\quake3\unfreeze on the standard Quake 3 installation or if you have installed ioQuake3 in the ioQuake3 personalisation folder (c:\Users\your_username\AppData\Roaming\Quake3\unfreeze)). The .pk3-files are packaged files that are loaded by the Quake 3 engine in alphabetical order starting with the baseq3 folder to the chosen modification folder. Files that are loaded later override previous loaded files with the same name (including the files that are packed within the .pk3-files!).

To select a modification you can go into the in-game menu "MODS" or connect to a server that has a modification running.

--- Part 1, Chapter 4: Configuration Files -----------------------------------------------------------------------------------------------------------------------

Quake 3 config files are plain text files with Quake 3 commands that set a variable or execute a command to the engine. The commands are interpreted in sequence and each line is interpreted as new command on its own but you are able to include multiple commands in one line by separating them with a semicolon. Every content after a double slash ("//") is not interpreted and can be used for comments. The file extension is .cfg.

1) Make the file available to the engine:
Copy the .cfg file into your baseq3 or modification folder:
- if you use the standard Quake 3 installation in d:\games\quake3\baseq3 or d:\games\quake3\mod_name
- if you use the ioQuake3 installation in the ioQuake3 personalisation folder in c:\Users\your_username\AppData\Roaming\Quake3\baseq3 or c:\Users\your_username\AppData\Roaming\Quake3\mod_name
You can also use a subfolder for your config files within that folders.

2) Manual execution:
Enter this command in your Quake 3 console in-game: exec subfolder/file_name.cfg

3) Automatic execution:
Create an autoexec.cfg file that contains the command from point 2) in your baseq3 or modification folder:
- if you use the standard Quake 3 installation in d:\games\quake3\baseq3 or d:\games\quake3\mod_name
- if you use the ioQuake3 installation in the ioQuake3 personalisation folder in c:\Users\your_username\AppData\Roaming\Quake3\baseq3 or c:\Users\your_username\AppData\Roaming\Quake3\mod_name
It will be automatically executed when you start Quake 3.

4) Automatic execution per shortcut:
Make a shortcut to your appropriate Quake 3 executable file (e.g. ioquake3-intel.i386.exe), rightclick on it, go to "Properties" and change the entry in "Target:" to d:\games\ioquake3\ioquake3-intel.i386.exe +set fs_mode unfreeze +exec myconfig.cfg +connect server.unfreeze.ga, e.g. (adjust the target to your .exe file, of course). Now, when you start Quake 3 with this shortcut the mod UnFreeZe is loaded (if installed), the configuration file myconfig.cfg is automatically executed (if copied to the correct folder) and the game immediately tries to connect to the UnFreeZe-Server1.

I made it like that:
I created a subfolder "_cfg" within each Quake 3 subfolder (baseq3 and unfreeze, etc.) where I copied all my several config files in. Then I put one config file ("tar.cfg") into each Quake 3 subfolder (baseq3 and unfreeze, etc.) that contains the commands to execute all those several config files in the subfolders, like that:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: autoexec
// ************************************************************************************************

exec _cfg/system.cfg		// basic system settings
exec _cfg/quality.cfg		// graphics quality settings
exec _cfg/custom.cfg		// custom settings
exec _cfg/misc.cfg		// miscellaneous settings
exec _cfg/scripts.cfg		// scripts
exec _cfg/bindings.cfg		// bindings
exec _cfg/mod_unfreeze.cfg	// mod: unfreeze settings
clear				// clear console

echo
echo ^7newb^2.^7zi:
echo ^1''''''''
echo 
echo ^2| ^7gfx^2.^7rendered ^2/.
echo ^2| ^7sound^2.^7configured ^2/.
echo ^2| ^7network^2.^7calibrated ^2/.
echo ^2| ^7personalization^2.^7done ^2/.
echo ^2| ^7input^2.^7set ^2/.
echo ^2| ^7keys^2.^7binded ^2/.
echo 
echo ^1'''''''''''''''''''''''
echo ^2| ^7script^2.^7v2.0^2.^7loaded ^2/.
echo ^1'''''''''''''''''''''''
With the shortcut technique of point 4) I make sure the config file "tar.cfg" is executed when starting Quake 3 and therefore all config files are loaded.

--- Part 1, Chapter 5: Console -------------------------------------------------------------------------------------------------------------------------------------

The Quake 3 console is an in-game tool to insert commands directly to the Quake 3 engine instead of using a config file. It is great for testing variables and special commands, to see the general engine log and to scroll through the actual match log (kills, thaws, chat, whatever).

Usually you can use the key above the tabulator key (the "tilde" key) on your keyboard to bring the console down. If this does not work try to double press tilde or use SHIFT+tilde or use this commands in your autoexec.cfg:

Code: Select all

seta cl_consolekeys	"~ ` 0x7e 0x60"
bind `			"toggleconsole"
bind ~ 			"toggleconsole"
You can also assign other keys by using in_keyboarddebug "1" to see the hex value for your pressed key in the console and add it to cl_consolekeys.

You can test your settings by starting Quake 3 and using the command devmap <map> (e.g. devmap q3dm7). There you can calmly look around without any opponents (but you can add them by using addbot <bot>, e.g. addbot daemia). You can also give yourself all weapons per give all and become invincible by using god.

--- Part 1, Chapter 6: Console Variables (CVARs) --------------------------------------------------------------------------------------------------------------

A console variable (CVAR) is set by a set command of which there exist different ones that can be used:
- set: sets a CVAR (this is used for scripts)
- seta: sets a CVAR and flags it as archive (this cvar is saved within the q3config.cfg file why we will use it in most of our settings)
- sets: sets sets a CVAR and flags it as server info (only used on server settings)
- setu: setu sets a CVAR and flags it as user info (I have no clue)

As values you can use integers, decimals and strings depending on the definition of the CVAR. Sometimes there is a code table that you have to use or you can combine different possible values by a bitmask.

The most popular code table is the one for the colors:
- "0": black
- "1": red
- "2": green
- "3": yellow
- "4": blue
- "5": cyan
- "6": magenta
- "7": white

A bitmask is used by adding the desired combination of values of the available 2^n options and insert the sum in the CVAR. For example, the available options for net_enabled are: "1", "2", "4" and "8". If you want to combine option "1", "2" and "8" then you have to add them together and set net_enabled = "11".

:!: Important note:
As all CVARs that have been set by seta are saved within q3config.cfg you just need to delete it from the corresponding subfolders if you have set a wrong value and are not able to start the game or use the console anymore:
- if you use the standard Quake 3 installation in d:\games\quake3\baseq3 or d:\games\quake3\mod_name
- if you use the ioQuake3 installation in the ioQuake3 personalisation folder in c:\Users\your_username\AppData\Roaming\Quake3\baseq3 or c:\Users\your_username\AppData\Roaming\Quake3\mod_name
Last edited by tar on Tue Apr 10, 2018 0:06, edited 58 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 2): System Settings

Post by tar »

=== Part 2: System Settings ====================================================================================

Content:
- Chapter 1: Engine Configuration (incl. Memory)
- Chapter 2: Graphics Card/Drivers Configuration (incl. 3D)
- Chapter 3: Sound Card/Drivers Configuration (incl. VoIP)
- Chapter 4: Input Configuration (excl. Movement Configuration and Bindings)
- Chapter 5: Network Configuration (excl. Connection Tweaking)

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: system settings
// ************************************************************************************************

// === engine configuration =======================================================================

seta com_altivec			"0"				// enables altivec support (0: off, 1: on)
seta com_ansicolor			"0"				// enable use of ansi escape codes
seta r_smp				"0"				// enables the use of multi processor acceleration code (0: off, 1: on)
seta r_ignorefastpath			"1"				// disables looking outside of the pak file first in case of duplicate file names (0: off, 1: on)
seta vm_cgame				"2"				// determines how a game module is loaded (0: load native, 1: load qvm and interpret it, 2: load qvm and compile it)
seta vm_game				"2"				// determines how a game module is loaded (0: load native, 1: load qvm and interpret it, 2: load qvm and compile it)
seta vm_ui				"2"				// determines how a game module is loaded (0: load native, 1: load qvm and interpret it, 2: load qvm and compile it)

// --- memory -------------------------------------------------------------------------------------
// those values are set before any config file is loaded, therefore add the corresponding commands into a shortcut
// e.g. "x:\...\q3io\ioquake3_v1.33_intel.exe +set com_hunkmegs 77 +set com_soundmegs 16 +set com_zonemegs 24 ..."
seta com_hunkmegs			"77"				// set the amount of memory you want your engine to reserve for the game
seta com_soundmegs			"16"				// set the amount of memory you want your engine to reserve for sounds (subtracted from com_hunkmegs)
seta com_zonemegs			"24"				// set the amount of memory you want your engine to reserve for map textures (subtracted from com_hunkmegs)

// === graphics card/drivers configuration ========================================================

seta cm_playercurveclip			"1"				// toggles the ability of the player bounding box to respect curved surfaces
seta r_finish				"1"				// enables synchronization of rendered frames, engine will wait for gl calls to finish (0: off, 1: on)
seta r_ignoreglerrors			"1"				// ignores opengl errors that occur (0: off, 1: on)
seta r_allowextensions			"1"				// enables all opengl extensions your card is capable of (0: off, 1: on)
seta r_allowsoftwaregl			"0"				// do not abort out if the pixelformat claims software (used for macos)
seta r_primitives			"0"				// set the rendering method (-1: skips drawing results in black screen, 0: uses glDrawElements if compiled vertex arrays are present or strips of glArrayElement if not present, 1: forces strips, 2: forces drawElements, 3: path for non-vertex array testing)

// --- 3d -----------------------------------------------------------------------------------------

seta cg_stereoseparation		"0"				// the amount of stereo separation for 3d glasses, splits color channels (0.4: default)
seta r_anaglyphmode			"0"				// ioq3: enable rendering of anaglyph images (1-8)
seta r_greyscale			"0"				// ioq3: desaturate textures, useful for anaglyph (0 to 1)
seta r_stereoenabled			"0"				// ioq3: enable stereo rendering for techniques like shutter glasses (0: off, 1: on)
seta r_stereoseparation			"64"				// ioq3: control eye separation (resulting separation is r_zproj divided by this value in quake3 standard units
seta r_zproj				"64"				// ioq3: distance of observer camera to projection plane in quake3 standard units

// === sound card/drivers configuration ===========================================================

seta s_khz				"22"				// set audio sample rate (11 or 22)
seta s_doppler				"1"				// enables a better recognition of rocket directions ("swoosh" sound)
seta s_mixahead				"0.2"				// sound delay in seconds (fixes stuttering problems on some sound cards)
seta s_mixprestep			"0.09"				// set the prefetching of sound on sound cards that have that power
seta s_useopenal			"1"				// enables openal library

seta s_aldriver				"OpenAL32.dll"			// used openal library
seta s_aldevice				"DirectSound Software"		// used openal device
seta s_alsources			"96"				// the total number of sources (memory) to allocate
seta s_alcapture			"1"				// opens an openal capture device on the audio layer (1: default)
seta s_aldopplerfactor			"1.0"				// the value passed to aldopplerfactor
seta s_aldopplerspeed			"13512"				// the value passed to aldopplervelocity (default: 2200)
seta s_algain				"1.0"				// the value of al_gain for each source
seta s_almindistance			""				// the value of al_reference_distance for each source
seta s_almaxdistance			"1024"				// the maximum distance before sounds start to become inaudible
seta s_algracedistance			"512"				// after having passed maxdistance, length until sounds are completely inaudible
seta s_alprecache			"1"				// enables pre-caching of sounds
seta s_alrolloff			"2"				// the value of al_rolloff_factor for each source

// --- voice over ip ------------------------------------------------------------------------------
seta cl_voip				"0"				// ioq3: enables client-side voip support
seta cl_voipcapturemult			"2.0"				// ioq3: sets the value the recorded audio is multiplied after denoising
seta cl_voipgainduringcapture		"0.2"				// ioq3: volume ("gain") of audio coming out of your speakers while you are recording sound for transmission
seta cl_voipusevad			"0"				// ioq3: automatic voice recognition (0: off = manual transmitting, 1: on)
seta cl_voipvadthreshold		"0.25"				// ioq3: treshhold volume of filtering noises, used with enabled cl_voipusevad (0 to 1)
seta cl_voipshowmeter			"1"				// ioq3: enables a microphone meter (0: off, 1: on)
seta cl_voipsendtarget			"all"				// ioq3: ?
seta cl_usemumble			"0"				// ioq3: enables mumble (see http://mumble.sourceforge.net)
seta cl_mumblescale			"0.0254"			// ioq3: ?

// === input configuration ========================================================================

seta in_mouse				"-1"				// initialization of the mouse as an input device (-1: windows grabbing, 0: off, 1: direct input)
									// -1: the lower the q3 resolution and framerate the more clipping errors will appear, higher mouse sampling rates or r_finish should be used, cpl mouse fix (or alternative) must be usedto eliminate windows enabling pointer prescision automatically for games in windows xp
									//  1: applies ca. 12 ms worth of mouse smoothing automatically before reaching the sensitivity and acceleration part of the q3 code, adds latency and delay
seta in_logitechbug			"0"				// fixes bug with logitech mousewheel
seta cl_freelook			"1"				// use of freelook with the mouse (ability to look up and down)

seta in_debugjoystick			"0"				// set the debug level of direct input
seta in_joystick			"0"				// initialization of the joystick  
seta in_joystickthreshold		"0.15"				// threshold of joystick moving dictance
seta in_joystickdebug			"0"				// print joystick debug info

seta in_joyballscale			"0.02"				// sets the scale of a joyball rotation to player model rotation

seta cl_consolekeys			"~ ` 0x7e 0x60"			// ioq3: keys to toggle console
seta in_keyboarddebug			"0"				// print keyboard debug info

// === network configuration ======================================================================

seta cl_curllib				"libcurl-3.dll"			// filename of curl library to load
seta net_enabled			"3"				// enable networking (bitmask)
									// - 1: enable ipv4 networking
									// - 2: enable ipv6 networking
									// - 4: prioritise ipv6 over ipv4
									// - 8: disable multicast support
seta net_mcast6addr			"ff04::696f:7175:616b:6533"	// multicast address to use for scanning for ipv6 servers on the local network
seta net_mcast6iface			"0"				// outgoing interface to use for scan
seta net_socksenabled			"0"				// toggle the use of network socks 5 protocol enabling firewall access
seta net_socksserver			""				// set the address (name or ip number) of the socks server (firewall machine)
seta net_socksport			"1080"				// set proxy and/or firewall port (default: 1080)
seta net_socksusername			""				// username for socks firewall access, supports no authentication and username/password authentication method (rfc-1929), it does not support gss-api method (rfc-1961) authentication
seta net_sockspassword			""				// password for socks firewall access, supports no authentication and username/password authentication method (rfc-1929), it does not support gss-api method (rfc-1961) authentication
--- Part 2, Chapter 1: Engine Configuration --------------------------------------------------------------------------------------------------------------------

This is the basic system part where you set the processor and interpreter and allocate memory to the Quake 3 engine.

com_altivec (boolean)
Toggles AltiVec support on macOS.
- "0": off
- "1": on

com_ansicolor (boolean)
Toggles ANSI escape codes.
- "0": off
- "1": on

r_smp (boolean)
Toggles the multi-processor usage.
- "0": off
- "1": on (Largely broken for ioQuake3 but could be useful for slower machines (with embedded graphics processor, like most laptops have) where it won't make any dramatic improvement (perhaps just 2% more FPS) but will typically result in more stable FPS (less FPS drops). Should not be used for more powered hardware.)

r_ignorefastpath (boolean)
Toggles the file load method.
- "0": engine looks outside the .pak files first in case of duplicate file names (could give a slight FPS gain on extremely slow machines)
- "1": engine does not looks outside the .pak files first in case of duplicate file names

vm_cgame (integer), vm_game (integer), vm_ui (integer)
Sets the method of loading the virtual machine(s) that the Quake 3 engine uses.
- "0": load native (could lead to issues)
- "1": load Quake VM and interpret it (could lead to a performance loss)
- "2": load Quake VM and compile it
You can use vminfo in-game to see the VM statistics.

com_hunkmegs (integer)
Allocated overall memory to the Quake 3 engine. The values for com_soundmegs and com_zonemegs are subtracted from this value. Furthermore, it is set before any configuration file can be executed by the Quake 3 engine. Therefore add it into your shortcut command list (see part 1, chapter 4).
- "77": is a moderate setting (depending on the modification (maps, graphics, sounds) higher values could be necessary)

com_soundmegs (integer)
Allocated sound memory to the Quake 3 engine. This values is subtracted from com_hunkmegs. Furthermore, it is set before any configuration file can be executed by the Quake 3 engine. Therefore add it into your shortcut command list (see part 1, chapter 4).
- "16": is a moderate setting (depending on the modification (maps, graphics, sounds) higher values could be necessary)

com_zonemegs (integer)
Allocated map texture memory to the Quake 3 engine. This values is subtracted from com_hunkmegs. Furthermore, it is set before any configuration file can be executed by the Quake 3 engine. Therefore add it into your shortcut command list (see part 1, chapter 4).
- "24": is a moderate setting (depending on the modification (maps, graphics, sounds) higher values could be necessary)

--- Part 2, Chapter 2: Graphics Card/Drivers Configuration -------------------------------------------------------------------------------------------------

:!: Important note:
When changing most of the variables in-game a restart is required (execute vid_restart in the console) in order to take effect.

:!: Important note:
If you want to use vertical synchronization (VSYNC) do not set the internal r_swapinterval to "1" as this has no effect. Instead use the driver settings in your operational system to activate it. VSYNC should reduce stuttering but also restrict your FPS to your monitor refresh rate. Furthermore, do not set your monitor refresh rate in the variable r_displayrefresh as this also has no effect. Please check com_maxfps and cl_maxpackets how to set your FPS in general.

cm_playercurveclip (boolean)
Toggles the ability of the player bounding box to respect curved surfaces.
- "0": off
- "1": on

r_finish (boolean)
Toggles synchronization of rendered frames.
- "0": off
- "1": engine will wait for OpenGL calls to finish which reduces stuttering when looking/moving around (should be used if in_mouse = "-1")

r_ignoreglerrors (boolean)
Toggles the behaviour when OpenGL errors occur.
- "0": stops rendering
- "1": attempts to continue rendering even when an error occured

r_allowextensions (boolean)
Toggles all OpenGL extensions your card is capable of.
- "0": only the basic OpenGL extensions (could lead to some stuttering)
- "1": enable all OpenGL extensions

r_allowsoftwaregl (boolean)
- "0": off
- "1": used for macOS: does not abort out if the pixelformat claims software (do not enable this except you are experiencing errors as it massively reduces the performance when you connect to a server)

r_primitives (integer)
Sets the rendering method.
- "-1": skips drawing results in black screen
- "0": uses glDrawElements if compiled vertex arrays are present or strips of glArrayElement if not present
- "1": forces strips
- "2": forces drawElements
- "3": path for non-vertex array testing

3D
As I have never played Quake 3 with 3D glasses I cannot tell anything about those values but here is explained how you can configure it.

--- Part 2, Chapter 3: Sound Card/Drivers Configuration ----------------------------------------------------------------------------------------------------

:!: Important note:
When changing most of the variables in-game a restart is required (execute snd_restart in the console) in order to take effect.

s_khz (integer)
Sets audio sample rate.
- "11: 11.025 Hz
- "22": 22.050 Hz

s_doppler (boolean)
Toggles the doppler effect for rockets, see this video.
- "0": off
- "1": enables a better recognition of distances to rocket shots as well as to rocket directions

s_mixahead (decimal)
Sets sound delay in seconds (fixes stuttering problems on some sound cards).
- "0.2": default value

s_mixprestep (decimal)
Sets the prefetching of sound on sound cards that have that power.
- "0.05": default value

s_useopenal (boolean)
Toggles OpenAL which is used by the ioQuake3 engine and supports multiple speakers and a better sound quality than the original Quake 3 sound engine.

s_al* (various)
Those CVARs set the configuration for the OpenAL sound engine. See descriptions within the config code.

Voice over IP
I am not using VOIP, but you can check this guide and this documentation.

--- Part 2, Chapter 4: Input Configuration ---------------------------------------------------------------------------------------------------------------------

in_mouse (integer)
Sets the interpretation method for your mouse input. This settings is crucial to your aiming.
- "-1": operational system cursor position interpretation
- "0": mouse input disabled
- "1": DirectInput

A rough explanation is given here. I also found a forum post that explains this setting:
In_mouse -1 makes the game use Windows cursor grabbing. Between every frame of the game (usually 125 hz) the Windows cursor is centered on the screen and you move the cursor some distance away from the center of the screen. That distance is relayed to the game as XY values for mouse movement, the frame is rendered, and the process repeats itself. No smoothing is automatically applied to these inputs, so it feels raw and clean when you use it, and after using in_mouse 1 for a while it may even feel fast and jittery.

The problem with using this method is that the cursor cannot move outside of the window the game creates, the size of which is dictated by the resolution you are running the game at. If you run a high dpi mouse with a low screen resolution, you will run into clipping (negative acceleration) problems really fast, but if you use a low dpi mouse it should be fine. You can figure out how fast you can move your mouse (in inches per second) by using this formula: (Xres/2) * (FPS) / (Mouse DPI) or (Yres/2) * (FPS) / (Mouse DPI) for the X and Y components, respectively. But if it feels fine it usually is. The negative acceleration effects are very pronounced.

This clipping problem is avoided by using in_mouse 1, but the mouse inputs, allegedly (haven't seen the code for this, but I can feel it when comparing the two modes), have some sort of automatic smoothing applied to them, adding some nearly imperceptible delay to the mouse movements and clicks.

Both let you play just fine though, it's really a matter of what you're used to.
There also were settings for in_mouse "2" in the old days and even an additional exe-file has been created to use the raw mouse mode with in_mouse "3" for Quake 3 v1.32. Furthermore, the Quake 3 engine sets this value to "-1" when it recognizes you are running Windows NT according to this post and I assume, if you set the value to "0" it activates your steering wheel :angel:

in_logitechbug (boolean)
Toggles the bug handling for Logitech mice.
- "0": off
- "1": on (propably fixed a bug with old logitech mouse wheels)

cl_freelook (boolean)
Toggles the ability to look vertically with the mouse.
- "0": off
- "1": on

in_joystick (boolean)
Toggles the joystick usage.
- "0": off
- "1": on (should only be used when g_gravity is below "200" :P)

in_joystickthreshold (decimal)
Sets the threshold of joystick moving dictance.
- "0.15": default value

in_joystickdebug (boolean)
Toggles the joystick debug mode.
- "0": off
- "1": on (joystick input is shown in the console)

cl_consolekeys (string)
Here you can set your console keys by char or by hex value (with the help of in_keyboarddebug).
- "~ ` 0x7e 0x60": default value

in_keyboarddebug (boolean)
Toggles the keyboard debug mode.
- "0": off
- "1": on (keyboard input is shown in the console, can be useful to set cl_consolekeys)

--- Part 2, Chapter 5: Network Configuration ------------------------------------------------------------------------------------------------------------------

cl_curllib (string)
Filename of cURL library to load.
- "libcurl-3.dll": default value

net_enabled (bitmask)
Toggles networking.
- "1": enable IPv4 networking
- "2": enable IPv6 networking
- "4": prioritise IPv6 over IPv4
- "8": disable multicast support

net_mcast6addr (string)
Sets multicast address to use for scanning for IPv6 servers on the local network.

net_mcast6iface (integer)
Sets outgoing interface to use for scanning for IPv6 servers on the local network.

net_socksenabled (boolean)
Toggles the use of network SOCKS 5 protocol enabling firewall access.
- "0": off
- "1": used for a protected proxy that the Quake 3 cannot pass through (set the corresponding values in net_socksserver, net_socksport, net_socksusername and net_sockspassword)

net_socksserver (string)
Sets the IP address for the SOCKS 5 server.

net_socksport (integer)
Sets the port for the SOCKS 5 server.

net_socksusername (string)
Sets the username for SOCKS firewall access. Supports no authentication and username/password authentication method (RFC-1929). It does not support GSS-API method (RFC-1961) authentication.

net_sockspassword (string)
Sets the password for SOCKS firewall access. Supports no authentication and username/password authentication method (RFC-1929). It does not support GSS-API method (RFC-1961) authentication.
Last edited by tar on Tue Apr 10, 2018 0:18, edited 28 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 3): Graphics Quality Settings

Post by tar »

=== Part 3: Graphics Quality Settings ============================================================================

Content:
- Chapter 1: Textures
- Chapter 2: Lighting
- Chapter 3: Brightness

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: graphics quality settings
// ************************************************************************************************

// === textures ===================================================================================

seta r_ext_compiled_vertex_array	"1"				// enables hardware compiled vertex array rendering method (0: off, 1: on)
seta r_ext_compressed_textures		"0"				// enables compression of textures (0: off, 1: on and faster on slower machines but can look ugly)
seta r_ext_multitexture			"1"				// enables hardware mutitexturing (0: off, 1: on)
seta r_ext_texture_env_add		"1"				// enables additive blending in multitexturing (0: opengl limits you to multiplicative blending only - so additive will require an extra pass, 1: on)
seta r_ext_texture_filter_anisotropic	"0"				// ioq3: anisotropic texture filtering (0: off, 1: on)
seta r_ext_max_anisotropy		"0"				// anisotropic filtering quality (2: default)

seta r_colorbits			"32"				// set number of bits used for each color (0, 16, 32)
seta r_depthbits			"32"				// set precision of z-buffer (0, 16, 32)
seta r_stencilbits			"8"				// stencil buffer size in bits, value decreases z-buffer (0 to 8)
seta r_texturebits			"32"				// set number of bits used for each texture (0 to 32)

seta r_texturemode			"GL_LINEAR_MIPMAP_NEAREST"	// texture interpolation mode
									// - GL_NEAREST:		enable nearest neighbor interpolation and will therefore appear similar to quake 2 except with the added colored lighting
									// - GL_LINEAR:			enable linear interpolation and will appear to blend in objects that are closer than the resolution that the textures are set as
									// - GL_NEAREST_MIPMAP_NEAREST:	nearest neighbor interpolation with mipmapping for bilinear hardware, mipmapping will blend objects that are farther away than the resolution that they are set as
									// - GL_LINEAR_MIPMAP_NEAREST:	linear interpolation with mipmapping for bilinear hardware
									// - GL_NEAREST_MIPMAP_LINEAR:	nearest neighbor interpolation with mipmapping for trilinear hardware
									// - GL_LINEAR_MIPMAP_LINEAR:	linear interpolation with mipmapping for trilinear hardware

seta r_detailtextures			"0"				// detailed textures (0: every stage of a shader is rendered except those with the keyword "detail", 1: detail stages are also rendered)
seta r_picmip				"16"				// general level of detail, used with cg_nomip (0: highest, 16: lowest)
seta r_subdivisions			"4"				// set maximum level of detail, for example the complexity of curves (0: highest)
seta r_lodbias				"-2"				// defines detail quality of models
seta r_roundimagesdown			"1"				// set rounding down amount (lower: quality, larger: faster)
seta r_simplemipmaps			"0"				// "simple" mip mapping, used to "dumb-down" resolution displays for slower machines (0: off, 1: on)
seta r_faceplanecull			"1"				// culling of brush faces not in view (0: off slows down fps, 1: on)
seta r_fastsky				"1"				// disables sky texture and animation of portals (0: off slows down fps when outdoors, 1: on and disables to see through portals)

// === lighting ===================================================================================

seta r_vertexlight			"1"				// vertex lighting, removes lightmaps, forces every shader to only use a single rendering pass, no layered transparancy, environment mapping, world lighting is completely static, and there is no dynamic lighting when in vertex lighting mode. (1: faster, lower quality than lightmap)
seta r_dynamiclight			"0"				// rendering dynamic lights (0: off, 1: on)
seta r_dlightbacks			"0"				// brighter areas are changed more by dynamic lights than darker areas (0: off, 1: on)
seta r_ambientscale			"0.6"				// intensity of ambient light on objects (lower: more intensity, higher: lesser intensity)
seta r_directedscale			"1"				// impact of ambient lights on objects (lower: darker, higher: brighter)
seta r_flares				"0"				// projectile flare and lighting effect, the flare effect is a translucent disk that is used to alter the colors around lights with a corona effect (0: off, 1: on)
seta r_drawsun				"0"				// rendering of sunlight into the equation of lighting effects (0: off, 1: on)

// === brightness =================================================================================

seta r_ext_gamma_control		"1"				// enables external gamma control settings (0: off, 1: on)
seta r_ignorehwgamma			"0"				// use directx gamma correction instead of video driver gamma correction (0: off, 1: on)
seta r_mapoverbrightbits		"2"				// brightness rendering of texture pixels (lower: darker, higher: brighter)
seta r_overbrightbits			"0"				// intense of r_mapoverbrightbits, r_fullscreen must be enabled and r_ignorehwgamma must be disabled (lower: darker, higher: brighter)
seta r_gamma				"1.4"				// brightness, only useable if r_ignorehwgamma is disabled (lower: darker, higher: brighter)
seta r_intensity			"1.7"				// intensity of texture colors (lower: darker, higher: brighter)
All graphics settings are set to rise the FPS and to reduce the in-game distraction and not to enhance the quality. Therefore you have to adjust some settings to your personal preferation:

Code: Select all

//					default				high quality			performance/less distraction

// === textures ======================================================================================================================

seta r_ext_compiled_vertex_array	"1"				"1"				"1"
seta r_ext_compressed_textures		"0"				"0"				"1"
seta r_ext_multitexture			"1"				"1"				"0"
seta r_ext_texture_env_add		"1"				"1"				"0"
seta r_ext_texture_filter_anisotropic	"0"				"1"				"0"
seta r_ext_max_anisotropy		"2"				"16"				"0"

seta r_colorbits			"0"				"32"				"16"
seta r_depthbits			"0"				"32"				"16"
seta r_stencilbits			"8"				"8"				"4"
seta r_texturebits			"0"				"32"				"16"

seta r_texturemode			"GL_LINEAR_MIPMAP_NEAREST"	"GL_LINEAR_MIPMAP_LINEAR"	"GL_LINEAR_MIPMAP_NEAREST"
seta r_detailtextures			"0"				"1"				"0"
seta r_picmip				"1"				"0"				"16"
seta r_subdivisions			"4"				"0"				"4"
seta r_lodbias				"2"				"0"				"2"
seta r_roundimagesdown			"1"				"0"				"1"
seta r_simplemipmaps			"1"				"0"				"0"
seta r_faceplanecull			"1"				"1"				"1"
seta r_fastsky				"0"				"0"				"1"

// === lighting ======================================================================================================================

seta r_vertexlight			"0"				"0"				"1"
seta r_dynamiclight			"1"				"1"				"0"
seta r_dlightbacks			"1"				"1"				"0"
seta r_ambientscale			"0.6"				"0.6"				"0.6"
seta r_directedscale			"1"				"1"				"1"
seta r_flares				"0"				"1"				"0"
seta r_drawsun				"0"				"1"				"0"

// === brightness ====================================================================================================================

seta r_mapoverbrightbits		"2"				"2"				"3"
seta r_overbrightbits			"1"				"1"				"1"
seta r_ext_gamma_control		"1"				"1"				"1"
seta r_ignorehwgamma			"0"				"0"				"0"
seta r_gamma				"1"				"1"				"1.4"
seta r_intensity			"1"				"1.2"				"1.7"
:!: Important note:
When changing most of the variables in-game a restart is required (execute vid_restart in the console) in order to take effect.

--- Part 3, Chapter 1: Textures ----------------------------------------------------------------------------------------------------------------------------------

r_ext_compiled_vertex_array (boolean)
Toggles hardware compiled vertex array rendering method.
- "0": off (costs performance, but could fix problems with old graphics cards)
- "1": on

r_ext_compressed_textures (boolean)
Toggles compressed textures.
- "0": off (only use this on very slow machines as this can look really ugly)
- "1": on

r_ext_multitexture (boolean)
Toggles hardware multitexturing.
- "0": off (more performance)
- "1": on (more quality)

r_ext_texture_env_add (boolean)
Toggles additive blending in multitexturing if r_ext_multitexture is enabled.
- "0": off (less quality)
- "1": on (more quality)

r_ext_texture_filter_anisotropic (boolean)
If you have enabled anisotropic filtering in your graphics card driver settings you need to enable this CVAR in order to use it in Quake 3.
- "0": off (more performance)
- "1": on (more quality)

r_ext_max_anisotropy (integer)
Sets the maximum anisotropic level according to your graphics card driver settings. You have to enable seta r_ext_texture_filter_anisotropic.
- "0": off (more performance)
- "1" to "16": on (more quality)

r_colorbits (integer)
Sets the color depth. Use a higher value in cost of performance.
- "0": desktop color depth
- "16: 16-bit
- "32": 32-bit

r_depthbits (integer)
Defines precision of Z-buffering. The value of seta r_stencilbits is subtracted from the available Z-buffering. Use a higher value in cost of performance.
- "0": automatic
- "16: 16-bit
- "32": 32-bit

r_stencilbits (integer)
Sets the value of stencil buffer (used for the volumetric shadows, e.g.). The value of seta r_stencilbits is subtracted from the available Z-buffering set by seta r_depthbits. Use a higher value in cost of performance.
- "0" to "8"

r_texturebits (integer)
Sets the color depth for textures. Use a higher value in cost of performance.
- "0": automatic
- "16: 16-bit
- "32": 32-bit

r_texturemode (string)
Sets the texture filter mode.
- "GL_NEAREST": enable nearest neighbor interpolation and will therefore appear similar to quake 2 except with the added colored lighting
- "GL_LINEAR: enable linear interpolation and will appear to blend in objects that are closer than the resolution that the textures are set as
- "GL_NEAREST_MIPMAP_NEAREST": nearest neighbor interpolation with mipmapping for bilinear hardware, mipmapping will blend objects that are farther away than the resolution that they are set as
- "GL_LINEAR_MIPMAP_NEAREST": linear interpolation with mipmapping for bilinear hardware
- "GL_NEAREST_MIPMAP_LINEAR": nearest neighbor interpolation with mipmapping for trilinear hardware
- "GL_LINEAR_MIPMAP_LINEAR": linear interpolation with mipmapping for trilinear hardware

r_detailtextures (boolean)
Toggles the use of detailed texures.
- "0": off (could give a slight speed boost on slow machines but could suffer slight texture inaccuracies)
- "1": on

r_picmip (integer)
Sets the level of texture details. Should have the most impact when it comes to texture quality.
- "0": most possible texture details
- "1" to "16": lesser details the higher the value

r_subdivisions (integer)
Sets the level of geometric map detail der Maps which affects curved surfaces.
- "0": should not be used (visible errors)
- "1": highest level of geometric details
- "2" to "999": lesser geometric details the higher the value

r_lodbias (integer)
Sets the level of model details. This variable could be used to adjust the width of player models to the hitbox area. See this thread.
- "0": high
- "1": medium
- "2": low

r_roundimagesdown (boolean)
Toggles rounding down of images.
- "0": on (FPS gains on very slow machines)
- "1": off (smoothes and rounds images producing slightly inferior visuals)

r_simplemipmaps (boolean)
Toggles "simple" mipmapping.
- "0": off
- "1": on ("dumbs down" resolution displays for slower machines)

r_faceplanecull (boolean)
Toggles culling of brush faces not in view.
- "0": off (FPS are slown down)
- "1": on

r_fastsky (boolean)
Toggles sky texture and animation of portals.
- "0": slows down FPS when outdoors
- "1": disables ability to see through portals

--- Part 3, Chapter 2: Lighting -----------------------------------------------------------------------------------------------------------------------------------

r_vertexlight (boolean)
Toggles lightmaps, shader rendering, layered transparency, world lighting and dynamic lighting.
- "0": different light/shadow nuances which distract you from the match
- "1": reduces the details of lighting (walls look "clean") which is more performant

r_dynamiclight (boolean)
Toggles the dynamic lighting.
- "0": off, lesser distraction
- "1": on, enables dynamic lighting (e.g. when shooting a rocket)

r_dlightbacks (boolean)
Toggles dynamic lights tendering.
- "0": off
- "1": brighter areas are changed more by dynamic lights than darker areas

r_ambientscale (decimal)
Sets intensity of ambient light on objects. The higher the value the less the intensity.
- "0.6": default value

r_directedscale (decimal)
Sets impact of ambient lights on objects.
- "1": default value

r_flares (boolean)
Toggles projectile flare and lighting effect. The flare effect is a translucent disk that is used to alter the colors around lights with a corona effect
- "0": off
- "1": on

r_drawsun (boolean)
Toggles rendering of sunlight into the equation of lighting effects.
- "0": off
- "1": on

--- Part 3, Chapter 3: Brightness --------------------------------------------------------------------------------------------------------------------------------

r_ext_gamma_control (boolean)
Toggles ability to affect in-game gamma via graphics card drivers gamma control, if available. Dependent on driver support.
- "0": off
- "1": on (dependent on driver support)

r_ignorehwgamma (boolean)
Toggles hardware gamma control.
- "0": off (enables to use your graphics card drivers gamma control settings with r_gamma and r_overbrightbits)
- "1": on

r_mapoverbrightbits (integer)
Sets the overall brightness of texture pixels. Can be combined with r_overbrightbits.
- "-1": textures appear black
- "0": textures appear very dark or even black
- "1": textures appear darker
- "2": textures appear normal, default value
- "3": textures appear brighter
- "4" to "8" : textures appear very to extremely bright

r_overbrightbits (integer)
Sets the intensity of overall brightness of texture pixels and therefore depends on the value of r_mapoverbrightbits. The effect is only visible if r_fullscreen = "1" and r_ignorehwgamma = "0".
- "0" when r_mapoverbrightbits = "-1" : textures appear black
- "0" when r_mapoverbrightbits = "0" : textures appear very dark
- "0" when r_mapoverbrightbits = "1" : textures appear darker
- "0" when r_mapoverbrightbits = "2" : textures appear darker
- "0" when r_mapoverbrightbits = "3" : textures appear brighter
- "1" when r_mapoverbrightbits = "-1" : textures appear black with multicolored error areas (LSD effect)
- "1" when r_mapoverbrightbits = "0" : textures appear black
- "1" when r_mapoverbrightbits = "1" : textures appear darker
- "1" when r_mapoverbrightbits = "2" : textures appear normal, default value
- "1" when r_mapoverbrightbits = "3" : textures appear very bright
- "2" when r_mapoverbrightbits = "-1" : textures appear black with multicolored error areas (LSD effect)
- "2" when r_mapoverbrightbits = "0" : textures appear black with multicolored error areas (LSD effect)
- "2" when r_mapoverbrightbits = "1" : textures appear black
- "2" when r_mapoverbrightbits = "2" : textures appear very bright
- "2" when r_mapoverbrightbits = "3" : textures appear extremely bright
- etc.

r_gamma (decimal)
Controls the overall brightness of the screen. I recommend using values from "1.0" to "1.6". Needs r_ignorehwgamma to be disabled.
- "1": default value

r_intensity (decimal)
Controls the color intensity. I recommend using values from "1.2" to "1.8".
- "1": default value
Last edited by tar on Mon Apr 09, 2018 2:33, edited 40 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 4): Custom Settings

Post by tar »

=== Part 4: Custom Settings ====================================================================================

Content:
- Chapter 1: Connection Tweaking
- Chapter 2: Graphics Details (incl. Weapon Details)
- Chapter 3: HUD Overlays (incl. Crosshair)
- Chapter 4: Chat
- Chapter 5: Personalisation
- Chapter 6: Movement Configuration

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: custom settings
// ************************************************************************************************

// === connection tweaking ========================================================================

seta rate				"25000"				// modem speed/rate of data transfer, maximum rate at which you will be able to receive data from the server
seta snaps				"40"				// set the number of "snapshots" that you receive from the server per second (server run at 40Hz, so use 40, 20, or 10)
seta cl_maxpackets			"100"				// set the transmission packet size or how many packets are sent to client
seta cl_packetdelay			"0"				// simulate packet latency (0: off)
seta cl_packetdup			"0"				// using bandwidth to send packets twice, set higher if you have packetloss (0 to 3)
seta cl_timenudge			"0"				// effectively adds local lag in milliseconds to try to make sure you interpolate instead of extrapolate, use negative numbers if you have a higher ping (0: default)
seta cg_smoothclients			"1"				// enables players in your view will be predicted and will appear more smooth even if they are on a bad network connection, small prediction errors might appear and g_smoothclients have to be enabled on the server (0: off, 1: on)
seta cg_deferplayers			"1"				// prevents the "hitch" effect when a player using a new model or skin joins the game after you
seta cl_allowdownload			"0"				// automatic downloading of maps from the connected server
seta cl_anonymous			"0"				// anonymous connection to a server

// === display ====================================================================================

seta r_swapinterval			"0"				// vsync but no no in-game effect! use your graphics driver settings to activate vsync!
seta r_displayrefresh			"100"				// monitor refresh rate but no in-game effect! use com_maxfps instead if you have vsync enabled
seta r_mode				"-1"				// resolution (see /modelist in console, -2 (ioq3): uses desktop resolution, -1: custom used with r_customheight and r_customwidth, 3: default)
seta r_custompixelaspect		"1"				// toggle the use of custom screen resolution/sizes (0: off, 1: on)
seta r_customwidth			"3440"				// resolution custom width
seta r_customheight			"1440"				// resolution custom height
seta r_fullscreen			"1"				// application window mode (0: window, 1: fullscreen)
seta cg_viewsize			"100"				// view port size (30 to 100)
seta cg_fov				"115"				// field of view (default: 90, lower: better frontal vision, higher: better peripheral vision)
seta com_maxfps				"200"				// set max frames per second you receive from the server (should match your monitors refresh rate if you activate vsync in your driver)
seta com_maxfpsminimized		"0"				// maximum frames per second when minimized
seta com_maxfpsunfocused		"0"				// maximum frames per second when unfocused

// === graphics details ===========================================================================

seta com_blood				"0"				// enables blood
seta cg_gibs				"0"				// display of animated explosions and flying body parts (0: off, 1: on)
seta cg_marks				"1"				// display marks the projectiles leave on the wall (0: off, 1: on)
seta cg_shadows				"0"				// set shadow detail level  (0: off, 1: basic discs, 2: stencil buffered, 3: simple stencil buffered if r_stencilbits is not 0)
seta cg_simpleitems			"1"				// 2d sprite objects in place of the 3d animated objects makes some objects more "simple" and faster to render (0: off, 1: on)

// --- weapon details -----------------------------------------------------------------------------
seta cg_drawgun				"0"				// visibility of the weapon you are holding (0: off, 1: on)
seta cg_brasstime			"0"				// time shell casings being discharged from machine gun and shot gun are visible (2500: default)
seta cg_oldrocket			"1"				// rocket gun		alternative rocket explosions (0: including smoke cloud, 1: default)
seta cg_truelightning			"1"				// lightning gun	shows position of lightning trail (0: real position, higher: straighten it out to the direction of the crosshair)
seta cg_oldrail				"1"				// rail gun		alternative rail (0: q2, 1: q3)
seta cg_railtrailtime			"1499"				// rail gun		amount of time the rail trail is shown (1499: time it needs when rail is ready again)
seta r_railcorewidth			"14"				// rail gun		radius of rail trail
seta r_railsegmentlength		"64"				// rail gun		distance of rail trail segments
seta r_railwidth			"0"				// rail gun		size of rail trail rings, only useable when cg_oldrail is disabled
seta cg_oldplasma			"1"				// plasma gun		alternative plasma (0: added particles, 1: default)

// === hud overlays ===============================================================================

seta cg_draw2d				"1"				// drawing of 2d items or text on the status display (0: off, 1: on)
seta cg_draw3dicons			"0"				// drawing of 3d icons on the hud and 2d icon for ammo (0: off, 1: on)
seta cg_drawicons			"0"				// drawing of some icons on the hud and scoreboard (0: off, 1: on)

seta cg_drawstatus			"1"				// display of health, armor and ammo (0: off, 1: on)
seta cg_drawfps				"1"				// frames per second display (0: off, 1: on)
seta cg_drawtimer			"1"				// timer since match start (0: off, 1: on)
seta cg_lagometer			"1"				// display of lag-o-meter (0: off, 1: on)
seta cg_drawsnapshot			"0"				// display of server snapshots counter since game start (0: off, 1: on)
seta cg_drawteamoverlay			"3"				// set the drawing location of the team status overlay (0: off, 1: top right, 2: bottom right, 3: bottom left)

seta cg_drawammowarning			"1"				// low-ammo warning display (0: off, 1: on)
seta cg_drawfriend			"2"				// show triangle above team mates (0: off, 1: on)
seta cg_drawattacker			"1"				// toggle the display of last know assailant (0: off, 1: on)
seta cg_drawrewards			"0"				// display of award icons above the "you fragged..." message (0: off, 1: on)
seta cg_scoreplums			"0"				// display of the floating scoring number balloons when a player scores a (negative) point or points in any game type, the awarded point value floats up from the target like a balloon and slowly fades out (0: off, 1: on)

seta con_notifytime			"4"				// sets the amount of time text is being displayed

// --- crosshair ----------------------------------------------------------------------------------
seta cg_drawcrosshair			"1"				// crosshair icon (0: disabled, 1 to 10: different styles)
seta cg_drawcrosshairnames		"2"				// show names when aiming at other player over crosshair
seta cg_crosshairsize			"12"				// size of crosshair
seta cg_crosshairx			"0"				// horizontal crosshair position
seta cg_crosshairy			"0"				// vertical crosshair position
seta cg_crosshairhealth			"0"				// changes crosshair color depending on health

// === chat =======================================================================================

seta cg_teamchatheight			"3"				// set number of lines or strings of text that remain on screen in team play chat mode (messagemode2) (1 to 8)
seta cg_teamchattime			"5000"				// set how long messages from teammates are displayed on the screen in milliseconds
seta cg_teamchatsonly			"0"				// only chats from team mates will be displayed
seta cg_novoicetext			"0"				// turn off the display of voice chat text copied to the console
seta cg_novoicechats			"0"				// toggle voice chat sounds (0: off, 1: on)

// === personalisation ============================================================================

seta name				"^7newb^2.^7zi"			// in-game name
seta sex				"male"				// in-game sex
seta model				"bitterman/pm"			// own model: body
seta headmodel				"bitterman/pm"			// own model: head
seta team_model				"bitterman/pm"			// own model in team matches: body
seta team_headmodel			"bitterman/pm"			// own model in team matches: head
seta cg_forcemodel			"1"				// forces model sarge on all players
seta color1				"4"				// own rail trail color spiral core
seta color2				"3"				// own rail trail color spiral ring

seta cg_autoswitch			"0"				// auto-switch weapons on pick-up (0: off, 1: on)
seta cg_footsteps			"1"				// enables footstep sounds
seta cg_notaunt				"1"				// disables the ability to hear voice taunts (0: off, 1: on)

seta s_musicvolume			"-1"				// sets volume level of music while in-game (unfreeze -1: deactivates also every map ambient sound, 0: off, 1: loudest)
seta s_volume				"0.06"				// sets volume level of sound effects while in-game (0: off, 1: loudest)

// === movement configuration =====================================================================

seta cg_bobup				"0"				// set amount player view bobs up/down while moving
seta cg_bobpitch			"0"				// set amount player view bobs forward/back while moving
seta cg_runpitch			"0"				// set amount player view bobs up/down while running
seta cg_bobroll				"0"				// set amount player view rolls side to side while moving
seta cg_runroll				"0"				// set amount player view rolls side to side while running

seta cl_freelook			"1"				// use of freelook with the mouse (ability to look up and down)
seta cl_mouseaccel			"0.12"				// the mouse speeds up or becomes more sensitive as it continues in one direction
seta cl_pitchspeed			"140"				// set the pitch rate when +lookup and/or +lookdown are active
seta cl_yawspeed			"140"				// set the yaw rate when +left and/or +right are active
seta cl_run				"1"				// set running mode (0: off, 1: always running)

seta sensitivity			"3.5"				// mouse sensitivity (depends on mouse, dpi, sample rate, etc.)
seta m_filter				"0"				// turn on mouse interpolation which makes mouse movement smoother, adds latency (0 to 33)
seta m_forward				"0.25"				// set the back and forth movement distance of the player in relation to how much the mouse moves
seta m_side				"0.25"				// set the strafe movement distance of the player in relation to how much the mouse moves
seta m_pitch				"-0.022"			// set the up and down movement distance of the player in relation to how much the mouse moves (negative numbers result in inversed mouse)
seta m_yaw				"0.022"				// set the speed at which the players screen moves left and right while using the mouse

seta pmove_fixed			"0"				// fixes the fps jump bug by running pmove() at a fixed rate at every frame of the client side
seta pmove_msec				"8"				// sets the rate for pmove_fixed (8: default which is equivalent to normal physics at 1000 / 8 = 125 frames/second, 33: maximum and equivalent to 30 fps)
--- Part 4, Chapter 1: Connection Tweaking -------------------------------------------------------------------------------------------------------------------

Here you can tweak your network performance. Check your Lag-o-meter (cg_lagometer) to check the stability of your connection and use the following values to adjust it.

rate (integer)
Sets your bandwith. If you have a normal connection use the maximum value "25000". Only reduce this value if you use a really slow connection (dial-in modem or such thing).

snaps (integer)
Sets the amounts of screenshots you can receive from the server and is capped to the servers value for sv_fps. Should be set to "40" or higher as "40" is the established standard value on servers. Only reduce this value if you experience connection issues.

cl_maxpackets (integer)
Sets the maximum amount of packets you can send. This uses an integer divisor value of com_maxfps. So you should set your com_maxfps first and then use a value for cl_maxpackets that fits your connection. The most packets you can send with a divisor of 1 (which then equals your com_maxfps value). Then you can go lower in order to stabilize your connection.

Assume, your com_maxfps value is "125", then you can use one of the following values for cl_maxpackets:
- "125" (= 125/1, means for each frame that you receive from the server one packet is send)
- "62" (= 125/2, means for every second frame that you receive from the server one packet is send)
- "41" (= 125/3, means for every third frame that you receive from the server one packet is send)
- "31" (= 125/4, means for every fourth frame that you receive from the server one packet is send)
- etc.

The best divisor is 1, of course and it is not recommended to use a higher divisor than 2. If you experience heavy connection issues or stuttering you should adjust com_maxfps. Good combinations depending on your monitor, graphics card and network connection are:
- cl_maxpackets = "200" when com_maxfps = "200"
- cl_maxpackets = "125" when com_maxfps = "125"
- cl_maxpackets = "100" when com_maxfps = "200"
- cl_maxpackets = "100" when com_maxfps = "100"
- cl_maxpackets = "62" when com_maxfps = "125"
- cl_maxpackets = "50" when com_maxfps = "100"

cl_packetdup (integer)
Sets the amount of duplicate packets if you experience packet loss. Noticeable useful values are "1" to "5".

cl_timenudge (integer)
Sets the movement prediction time.
- positive values: simulates a higher ping (for LAN sessions, e.g.).
- negative values: compensates higher ping and simulate a lower one (maximum should be "-20"), cg_smoothclients should be disabled

The engine tries to predict the movement of other players according to their previous movement direction. This can lead to a player stuttering when the prediction fails. It takes some time to get used to it and I would not recommend negative values to players that have a ping lower than 40-50 ms.

cg_smoothclients (boolean)
Smoothes out the visibility of a high ping player that otherwise would stutter/warp around to you. In order to use this the server also has to enable it. That means your accuracy can vary from server to server.
- "0": off (should be used when you are using negative timenudge)
- "1": on

cl_allowdownload (boolean)
Allows the engine to download new .pk3-files (incl. maps, skins, textures, sounds) from the server you are connecting to when it is needed. The server also has to allow this.
- "0": off
- "1": on

--- Part 4, Chapter 2: Display ------------------------------------------------------------------------------------------------------------------------------------

r_swapinterval (boolean)
Should enable the VSYNC mode but actually has no in-game effect. Use your graphics driver settings instead.
- "0": off
- "1": on (no in-game effect)

r_displayrefresh (integer)
Should set the monitor refresh rate but actually has no in-game effect. Use your graphics driver settings and com_maxfps (boolean) instead.

r_mode (integer)
Sets the resolution mode.
- "-1": custom (uses the resolution set in r_customwidth and r_customheight)
- "0": 320x240
- "1": 400x300
- "2": 512x384
- "3": 640x480
- "4": 800x600
- "5": 960x720
- "6": 1024x768
- "7": 1152x864
- "8": 1280x1024
- "9": 1600x1200
- "10": 2048x1536
- "11": 856x480

r_customwidth (integer)
You resolution width if you use a custom resolution. Only used when r_mode = "-1".

r_customheight (integer)
You resolution height if you use a custom resolution. Only used when r_mode = "-1".

r_fullscreen (boolean)
Sets the screen mode.
- "0": off (windowed mode)
- "1": on (fullscreen mode)

cg_viewsize (integer)
Sets the used display size.
- "30": minimum
- "100": maximum and default

cg_fov (integer)
Sets the peripheral vision. You should test it out. It should also be higher if you use higher resolutions.
- "90": default

com_maxfps (integer)
Sets the maximum number of frames per second you can receive from the server.

At first, the Quake 3 engine can only render an integer divisor value of 1000 milliseconds:
- "1000" (= 1000/1, which means that each millisecond a frame should be received and rendered, not really useable)
- "500" (= 1000/2, which means that every 2nd millisecond a frame should be received and rendered, maximum useable FPS)
- "333" (= 1000/3, which means that every 3rd millisecond a frame should be received and rendered)
- "250" (= 1000/4, which means that every 4th millisecond a frame should be received and rendered)
- "200" (= 1000/5, which means that every 5th millisecond a frame should be received and rendered, new standard)
- "166" (= 1000/6, which means that every 6th millisecond a frame should be received and rendered)
- "142" (= 1000/7, which means that every 7th millisecond a frame should be received and rendered)
- "125" (= 1000/8, which means that every 8th millisecond a frame should be received and rendered, old standard)
- "111" (= 1000/9, which means that every 9th millisecond a frame should be received and rendered)
- "100" (= 1000/10, which means that every 10th millisecond a frame should be received and rendered)
- "90" (= 1000/11, which means that every 11th millisecond a frame should be received and rendered)
- "83" (= 1000/12, which means that every 12th millisecond a frame should be received and rendered)
- ...
- "30" (= 1000/33, which means that every 33rd millisecond a frame should be received and rendered)

Furthermore, you have to consider your monitor refresh rate when you set this value as you will experience display stuttering if you render less frames per second than your monitor refreshes. So you either set the value equal to your monitor refresh rate or higher. If you activate VSYNC on your graphics driver settings in your operational system your frames per second will be reduced to your monitor refresh rate automatically. Therefore you should use a monitor refresh rate value that is included in the above list and then set it also in com_maxfps.

An optimum value is meant to be "125" but nowadays also "200" or even "333" could be used if you do not experience frame drops or lag as cl_maxpackets is connected to your com_maxfps value (which probably is the cause why a value of "1000" is not really useable).

At last, the native Quake 3 engine physics calculation method also depends on the FPS you are using and on the gravity setting the server has set. This is explained here but to make it short: the highest jumps in standard gravity (g_gravity = 800) could be performed with com_maxfps = 125 or com_maxfps = 333. This physics behaviour can be fixed by the server with the setting pmove_fixed = 1 or is innately fixed by some mods (see UnFreeZe discussion here).

com_maxfpsminimized (integer)
Sets the maximum number of frames per second you can receive from the server when the game window is minimized.

com_maxfpsunfocused (integer)
Sets the maximum number of frames per second you can receive from the server when the game window is unfocused.

--- Part 4, Chapter 3: Graphics Details -------------------------------------------------------------------------------------------------------------------------

com_blood (boolean)
Sets the display of blood.
- "0": off
- "1": on

cg_gibs (boolean)
Sets the display of animated explosions and flying body parts.
- "0": off
- "1": on

cg_marks (boolean)
Sets the display of marks that projectiles leave on a wall.
- "0": off
- "1": on

cg_shadows (integer)
Sets the shadow detail level.
- "0": off
- "1": basic discs
- "2": stencil buffered
- "3": simple stencil buffered if r_stencilbits is not "0"

cg_simpleitems (boolean)
Sets the display of items.
- "0": 3D animated
- "1": 2D sprite objects in place of the 3D animated objects, makes some objects more "simple" and faster to render

cg_drawgun (boolean)
Sets the visibility of the weapon you are holding.
- "0": off
- "1": on

cg_brasstime (integer)
Sets the amount of time that shell casings being discharged from machine gun and shot gun are visible.
- "0": off
- "2500": default

cg_oldrocket (boolean)
Sets the style of rocket explosions.
- "0": including smoke clouds
- "1": default

cg_truelightning (decimal)
Sets the visibility positioning of the lightning shaft. This could affect your overall aiming with the lightning gun.
- "0": lightning shaft is shown on its actual position
- "0.1" to "0.9": lightning shaft is shown between actual and crosshair position
- "1": lightning shaft is shown on crosshair position, default

cg_oldrail (boolean)
Sets the style of the rail gun.
- "0": Quake 2 style
- "1": Quake 3 style

cg_railtrailtime (integer)
Sets the amount of time the rail trail of the rail gun is shown.
- "0": off
- "1499": time it needs when the rail gun is ready again

r_railcorewidth (integer)
Sets the radius of the rail trail of the rail gun.
- "0": off
- "6": default

r_railsegmentlength (integer)
Sets the distance of the rail trail segments of the rail gun.
- "0": off
- "32": default

r_railwidth (integer)
Sets the size of the rail trail rings of the rail gun. Only useable when cg_oldrail is disabled.
- "0": off
- "16": default

cg_oldplasma (boolean)
Sets the style of the plasma shots of the plasma gun.
- "0": added particles
- "1": default

--- Part 4, Chapter 4: HUD Overlays ----------------------------------------------------------------------------------------------------------------------------

cg_draw2d (boolean)
Toggles the drawing of 2D items or text on the status display.
- "0": off
- "1": on (default)

cg_draw3dicons (boolean)
Toggles the drawing of 3D items on the HUD and 2D icons for ammo.
- "0": off
- "1": on (default)

cg_drawicons (boolean)
Toggles the drawing of some icons on the HUD and scoreboard.
- "0": off (less distracting)
- "1": on (default)

cg_drawstatus (boolean)
Toggles the display of health, armor and ammo.
- "0": off
- "1": on (default)

cg_drawfps (boolean)
Toggles the display of your frames per second in the upper right corner.
- "0": off (default)
- "1": on

cg_drawtimer (boolean)
Toggles the display of the timer since match start in the upper right corner.
- "0": off (default)
- "1": on

cg_lagometer (boolean)
Toggles the display of the Lag-O-Meter in the bottom right corner.
- "0": off
- "1": on (default)

cg_drawsnapshot (boolean)
Toggles the display of server snapshots counter since game start.
- "0": off (default)
- "1": on

cg_drawteamoverlay (integer)
Sets the display location of the team status overlay.
- "0": off (default)
- "1": top right
- "2": bottom right
- "3": bottom left

cg_drawammowarning (boolean)
Toggles the display of a low-ammo warning.
- "0": off
- "1": on (default)

cg_drawfriend (boolean)
Toggles the display of a triangle above your team mates.
- "0": off
- "1": on (default)

cg_drawattacker (boolean)
Toggles the display of last know assailant.
- "0": off
- "1": on (default)

cg_drawrewards (boolean)
Toggles the display of award icons above the "You fragged..." message.
- "0": off
- "1": on (default)

cg_scoreplums (boolean)
Toggles the display of the floating scoring number balloons when a player scores a (negative) point or points in any game type. The awarded point value floats up from the target like a balloon and slowly fades out.
- "0": off
- "1": on (default)

con_notifytime (integer)
Sets the amount of time text is being displayed.
- "0": off
- "3": default

cg_drawcrosshair (integer)
Sets the style of the crosshair.
- "0": off
- "1" to "10": different crosshair styles (default: "4")

cg_drawcrosshairnames (boolean)
Toggles the display of names over crosshair when aiming at other players.
- "0": off
- "1": on (default)

cg_crosshairsize (integer)
Sets the size of the crosshair.
- "0": off
- "24": default

cg_crosshairx (integer)
Sets the vertical position of the crosshair.
- "0": default

cg_crosshairy (integer)
Sets the horizontal position of the crosshair.
- "0": default

cg_crosshairhealth (boolean)
Toggles the display of the crosshair color.
- "0": always white
- "1": crosshair color changes depending on health: <100: yellow, <50: orange, <30: red (default)

--- Part 4, Chapter 5: Chat ---------------------------------------------------------------------------------------------------------------------------------------

cg_teamchatheight (integer)
Sets amount of text that remain on screen in team play chat mode (messagemode2).
- "0": off (default)
- "1" to "8": number of lines/strings

cg_teamchattime (integer)
Sets the amount of time messages from teammates are displayed on the screen in milliseconds.
- "0": off
- "3000": default

cg_teamchatsonly (boolean)
Toggles the display of team chats only.
- "0": off (default)
- "1": on

cg_novoicetext (boolean)
Toggles the display of voice chat text copied to the console.
- "0": off (default)
- "1": on

cg_novoicechats (boolean)
Toggles the sound of voice chats.
- "0": off (default)
- "1": on

--- Part 4, Chapter 6: Personalisation --------------------------------------------------------------------------------------------------------------------------

name (string)
Your nickname in-game.

model (model)
Defines your model. You should use the most less distracting model from an acoustic perspective which is by far "bitterman". You can also test "lucy", "mynx", "ranger" and "uriel". If you change this variable in-game you have to execute vid_restart afterwards.

headmodel (model)
Defines your models head. See model.

team_model (model)
Defines your model on team matches. See model.

team_headmodel (model)
Defines your models head on team matches. See model.

color1 (color)
Sets the own rail trail color of the rail gun spiral core.
- "4": default

color2 (color)
Sets the own rail trail color of the rail gun spiral ring.
- "5": default

cg_autoswitch (boolean)
Toggle auto-switch weapons on pick-up.
- "0": off
- "1": on (default)

cg_footsteps (boolean)
Enables footsteps when a player runs.
- "0": off
- "1": on (default)

cg_notaunt (boolean)
Toggles the voice taunt muting.
- "0": off (default)
- "1": on

s_musicvolume (decimal)
Sets volume level of in-game music.
- "0": off
- "0.25": default
- "1": loudest

s_volume (decimal)
Sets volume level of in-game sound.
- "0": off
- "0.8": default
- "1": loudest

--- Part 4, Chapter 7: Movement Configuration --------------------------------------------------------------------------------------------------------------

cg_bobup (decimal)
Sets amount player view bobs up/down while moving.
- "0": off
- "0.005": default

cg_bobpitch (decimal)
Sets amount player view bobs forward/back while moving.
- "0": off
- "0.002": default

cg_runpitch (decimal)
Sets amount player view bobs up/down while running.
- "0": off
- "0.002": default

cg_bobroll (decimal)
Sets amount player view rolls side to side while moving.
- "0": off
- "0.002": default

cg_runroll (decimal)
Sets amount player view rolls side to side while running.
- "0": off
- "0.005": default

cl_freelook (boolean)
Toggles the ability to vertically look around with your mouse.
- "0": off
- "1": on

cl_mouseaccel (decimal)
Sets the mouse acceleration (the faster you move your mouse in a particular direction the more the cursor/crosshair moves). Any acceleration of the operational system drivers should be disabled.
- "0": off (default)

cl_pitchspeed (integer)
Sets the pitch rate when you look up or down.
- "140": default

cl_yawspeed (integer)
Sets the yaw rate when you look left or right.
- "140": default

cl_run (boolean)
Toggles the running mode.
- "0": off
- "1": on (default)

sensitivity (decimal)
Sets your mouse sensitivity.
- "5": default

This value depends on your operation system settings, your mouse (I have a Logitech G502), mouse DPI (I use 800), mouse sample rate, mouse pad (I have a Razer Vespula), resolution, field of view (cg_fov), which weapon you are using (therefore use weapon scripts), your muscle memory, alcohol level, the mood of your wife and thousand other things.

There are many discussions about the perfect mouse sensitivity and mouse settings in general and I recommend to study some tutorials and videos (e.g. this one, that one or this one, AAAAAHHH, CSGO!!! Whelp! :oops:) and test it out for yourself.

To start, you should be able to rotate 180° to the left and to the right within the full range of your hand movement (without putting the mouse up and down again). For most in-game situations it is unnecessary to be able to rotate more but if you feel more comfortable you can leave a puffer to 210-270°. Try different settings and get used to them. Practice is everything.

m_filter (integer)
Sets the mouse interpolation which makes mouse movement smoother, but adds latency.
- "0": off (default)
- "1" to "33": more interpolation

m_forward (decimal)
Sets the back and forth movement distance of the player in relation to how much the mouse moves.
- "0.25": default

m_side (decimal)
Sets the strafe movement distance of the player in relation to how much the mouse moves.
- "0.25": default

m_pitch (decimal)
Sets the pitch rate of the vertical mouse movement (looking up or down). If you want to use an in inversed mouse like me then use negative values here.
- "0.022": default

m_yaw (decimal)
Sets the yaw rate of the horizontal mouse movement (looking left or right).
- "0.022": default

pmove_fixed (boolean)
Fixes the FPS jump bug by calling the internal function pmove() at a fixed rate according to pmove_msec. This could lead to a display stuttering according to a difference between frame rate and position calculation, see this thread.
- "0": off (default)
- "1": on

pmove_msec (integer)
Sets the waiting time in milliseconds before calling pmove() again. Can only be used when pmove_fixed is "1".
- "8": default and minimum, is equivalent to normal physics at 1000 / 8 = 125 frames/second
- "33": maximum, is equivalent to 1000 / 33 = 30 frames/second
Last edited by tar on Wed Jun 13, 2018 16:33, edited 38 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 5): Miscellaneous Settings

Post by tar »

=== Part 5: Miscellaneous Settings ===============================================================================

Content:
- Chapter 1: Media
- Chapter 2: Camera
- Chapter 3: Single Player Mode
- Chapter 4: Internal Multiplayer Browser

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: miscellaneous settings
// ************************************************************************************************

/// === media =====================================================================================

seta cl_autorecorddemo			"1"				// automatically records a demo
seta cl_aviframerate			"50"				// the framerate to use when capturing video
seta cl_avimotionjpeg			"1"				// use the mjpeg codec when capturing video
seta cl_timedemolog			""				// ?
seta com_introplayed			"0"				// plays intro at game start (0: off, 1: on)
seta r_ingamevideo			"0"				// display in game animations on bigscreen map objects that display a camera view of the current game (0: off, 1: on)

// === camera =====================================================================================

seta cg_thirdperson			"0"				// toggles the 3rd person view
seta cg_cameraorbit			"0"				// change the step or increment units of the orbit rotation from one angle how much of a step to next angle
seta cg_cameraorbitdelay		"50"				// change the rate at wich the camara moves to the next orbit position (the higher the number the slower)
seta cg_filter_angles			"0"				// time the "camera" takes before updating to the new position and puts some smoothing in between (0: default)

// === single player mode =========================================================================

seta g_spskill				"5"				// holds your current skill level (1 to 5)
sets g_podiumdrop			"70"				// height of the podium object player models stand on after a single player bot match
sets g_podiumdist			"80"				// distance of the podium object player models stand on after a single player bot match
seta handicap				"100"				// set player handicap (max health) (1 to 99)

// === internal multiplayer browser ===============================================================

seta cl_maxping				"800"				// controls which servers are displayed in the in-game server browser
seta server1				""				// holds ip/url of a server from the favorite servers list
seta server2				""				// holds ip/url of a server from the favorite servers list
seta server3				""				// holds ip/url of a server from the favorite servers list
seta server4				""				// holds ip/url of a server from the favorite servers list
seta server5				""				// holds ip/url of a server from the favorite servers list
seta server6				""				// holds ip/url of a server from the favorite servers list
seta server7				""				// holds ip/url of a server from the favorite servers list
seta server8				""				// holds ip/url of a server from the favorite servers list
seta server9				""				// holds ip/url of a server from the favorite servers list
seta server10				""				// holds ip/url of a server from the favorite servers list
seta server11				""				// holds ip/url of a server from the favorite servers list
seta server12				""				// holds ip/url of a server from the favorite servers list
seta server13				""				// holds ip/url of a server from the favorite servers list
seta server14				""				// holds ip/url of a server from the favorite servers list
seta server15				""				// holds ip/url of a server from the favorite servers list
seta server16				""				// holds ip/url of a server from the favorite servers list

seta ui_bigfont				"0.25"				// size for big font
seta ui_smallfont			"0.1"				// size for small font
seta ui_browsershowempty		"0"				// internal multiplayer browser: show empty servers
seta ui_browsershowfull			"0"				// show full servers
seta ui_browsersortkey			"4"				// sort key for servers selection
seta ui_browsergametype			"0"				// game type for server selection
seta ui_browsermaster			"2"				// server type for server selection
seta ui_ctf_capturelimit		"8"				// pre-setting when starting own ctf match
seta ui_ctf_friendly			"0"				// pre-setting when starting own ctf match
seta ui_ctf_timelimit			"30"				// pre-setting when starting own ctf match
seta ui_team_fraglimit			"0"				// pre-setting when starting own team match
seta ui_team_friendly			"1"				// pre-setting when starting own team match
seta ui_team_timelimit			"20"				// pre-setting when starting own team match
seta ui_tourney_fraglimit		"0"				// pre-setting when starting own tourney match
seta ui_tourney_timelimit		"15"				// pre-setting when starting own tourney match
seta ui_ffa_fraglimit			"20"				// pre-setting when starting own ffa match
seta ui_ffa_timelimit			"0"				// pre-setting when starting own ffa match
--- Part 5, Chapter 1: Media --------------------------------------------------------------------------------------------------------------------------------------

cl_autorecorddemo (boolean)
Toggles the automatic demo recording when starting a match.
- "0": off (default)
- "1": on

It is highly recommended to enable it as you never know what will happen on an online server and so you have a proof demo file ready.
You can find your demos in the following folders:
- if you use the standard Quake 3 installation in d:\games\quake3\baseq3\demos or d:\games\quake3\mod_name\demos
- if you use the ioQuake3 installation in the ioQuake3 personalisation folder in c:\Users\your_username\AppData\Roaming\Quake3\baseq3\demos or c:\Users\your_username\AppData\Roaming\Quake3\mod_name\demos

cl_aviframerate (integer)
Sets the framerate to use when capturing video.
- "25": default

cl_avimotionjpeg (boolean)
Toggle the use of the MJPEG codec when capturing video.
- "0": off
- "1": on (default)

cl_timedemolog (string)
Sets the path to the log file for timedemos, see here.
- "": default

com_introplayed (boolean)
Toggle the intro at game start.
- "0": off (default)
- "1": on

r_ingamevideo (boolean)
Toggle the display of in-game animations on bigscreen map objects that display a camera view of the current game.
- "0": off
- "1": on (default)

--- Part 5, Chapter 2: Camera ------------------------------------------------------------------------------------------------------------------------------------

cg_thirdperson (boolean)
Toggles the 3rd person view.
- "0": off (default)
- "1": on

cg_cameraorbit (integer)
Sets the step or increment units of the orbit rotation from one angle to next angle. To use this cg_thirdperson has to be enabled.
- "0": no rotation, default

cg_cameraorbitdelay (integer)
Sets the rate at wich the camara moves to the next orbit position. The higher the number the slower.
- "50": default

cg_filter_angles (integer)
Sets the time the camera takes before updating to the new position and puts some smoothing in between when in free spectator mode.
- "0": default

--- Part 5, Chapter 3: Single Player Mode ----------------------------------------------------------------------------------------------------------------------

g_spskill (integer)
Sets your current skill level.
- "0": lowest
- "2": default
- "5": highest

g_podiumdrop (integer)
Sets the height of the podium object player models stand on after a single player bot match.
- "70": default

g_podiumdist (integer)
Sets the distance of the podium object player models stand on after a single player bot match.
- "80": default

handicap (integer)
Sets your handicap (maximum health).
- "1": lowest
- "100": highest (default)

--- Part 5, Chapter 4: Internal Multiplayer Browser ----------------------------------------------------------------------------------------------------------

Here you set the common values for the internal multiplayer browser and you can insert your own favorite servers.
Last edited by tar on Mon Apr 09, 2018 20:22, edited 19 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 6): Scripts

Post by tar »

=== Part 6: Scripts ==========================================================================================

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: scripts
// ************************************************************************************************

// === screenshot =================================================================================

set take_screenshot			"toggle cg_draw2d; wait 2; screenshotjpeg; wait 2; toggle cg_draw2d"

// === demo recording =============================================================================

set demo 				"vstr demo1"
set demo1 				"set demo vstr demo2; g_synchronousclients 1; wait 5; record tmp1; wait 5; g_synchronousclients 0"
set demo2				"set demo vstr demo3; stoprecord"
set demo3 				"set demo vstr demo4; g_synchronousclients 1; wait 5; record tmp2; wait 5; g_synchronousclients 0"
set demo4				"set demo vstr demo5; stoprecord"
set demo5 				"set demo vstr demo6; g_synchronousclients 1; wait 5; record tmp3; wait 5; g_synchronousclients 0"
set demo6				"set demo vstr demo7; stoprecord"
set demo7 				"set demo vstr demo8; g_synchronousclients 1; wait 5; record tmp4; wait 5; g_synchronousclients 0"
set demo8				"set demo vstr demo1; stoprecord"

// === volume =====================================================================================

set volume00				"set s_volume 0.02; set volumeup vstr volume01; set volumedn vstr volume00; echo ^1[^7Volume: ^30.02^1]"
set volume01				"set s_volume 0.04; set volumeup vstr volume02; set volumedn vstr volume00; echo ^1[^7Volume: ^30.04^1]"
set volume02				"set s_volume 0.05; set volumeup vstr volume03; set volumedn vstr volume01; echo ^1[^7Volume: ^30.05^1]"
set volume03				"set s_volume 0.06; set volumeup vstr volume04; set volumedn vstr volume02; echo ^1[^7Volume: ^30.06^1]"
set volume04				"set s_volume 0.07; set volumeup vstr volume05; set volumedn vstr volume03; echo ^1[^7Volume: ^30.07^1]"
set volume05				"set s_volume 0.08; set volumeup vstr volume06; set volumedn vstr volume04; echo ^1[^7Volume: ^30.08^1]"
set volume06				"set s_volume 0.20; set volumeup vstr volume07; set volumedn vstr volume05; echo ^1[^7Volume: ^30.20^1]"
set volume07				"set s_volume 0.40; set volumeup vstr volume08; set volumedn vstr volume06; echo ^1[^7Volume: ^30.40^1]"
set volume08				"set s_volume 0.60; set volumeup vstr volume09; set volumedn vstr volume07; echo ^1[^7Volume: ^30.60^1]"
set volume09				"set s_volume 0.80; set volumeup vstr volume10; set volumedn vstr volume08; echo ^1[^7Volume: ^30.80^1]"
set volume10				"set s_volume 1.00; set volumeup vstr volume10; set volumedn vstr volume09; echo ^1[^7Volume: ^31.00^1]"
set volumeup				"vstr volume03"
set volumedn				"vstr volume05"

// === enemy colors ===============================================================================

set enemies				"vstr enemies1"
set enemies1				"set enemies vstr enemies2; cg_enemycolors q05i; echo ^7[^6PINK^0-^2GREEN^7]"
set enemies2				"set enemies vstr enemies3; cg_enemycolors q5i3; echo ^7[^2GREEN^0-^3YELLOW^7]"
set enemies3				"set enemies vstr enemies4; cg_enemycolors q54i; echo ^7[^4BLUE^0-^2GREEN^7]"
set enemies4				"set enemies vstr enemies5; cg_enemycolors q0ai; echo ^7[^1RED^0-^2GREEN^7]"
set enemies5				"set enemies vstr enemies1; cg_enemycolors q111; echo ^7[^1RED^0-^1RED^7]"

// === resolution change ==========================================================================

set myres				"vstr myres1"
set myres1				"set myres vstr myres2; r_customwidth 3440; r_customheight 1440; r_displayrefresh 100; echo ^7[^23440^7]^1x^7[^21440^7]@100hz"
set myres2				"set myres vstr myres1; r_customwidth 1920; r_customheight 1080; r_displayrefresh 60;  echo ^7[^21920^7]^1x^7[^21080^7]@60hz"

// === unfreeze reset values ======================================================================

set unfreeze				"cg_marks 1; com_maxfps 100; cl_maxpackets 100; echo ^7[^2100 ^7 fps set]"

// === rocket jump ================================================================================

set rjump				"centerview; cl_pitchspeed 9999000; +lookdown; +attack; +moveup; wait 2; -lookdown; -attack; -moveup; wait 6; centerview; cl_pitchspeed 0" 
set rjump_direct			"+attack; +moveup; wait 2; -attack; -moveup;"

Scripts are code snippets that can be executed per binding it to a key. You can define, use and change variables and commands. Scripts use aliases that can be commands themselves. You can find many scripts within this config collection.

--- Part 6 - script 1: screenshot ---------------------------------------------------------------------------------------------------------------------------------

As you can see you can insert multiple commands into one line. With toggle you can switch the value of a variable and wait 2 means that the wait commands is executed two times (you could also write wait; wait;).

So what does this script?
1) It toggles the value of cg_draw2d and therefore disables the drawing of 2D items or text on the status display as we have enabled it in our standard configuration.
2) After that the interpreter waits for 2 steps in order to make sure the drawing of the 2D items take effect.
3) Then we take a screenshot.
4) After that the interpreter waits for 2 steps in order to make sure the screenshot has been taken.
5) In the end we toggle the value of again cg_draw2d so it has the same value before we executed our script.

Looks quite simple, eh? :clap:

--- Part 6 - script 2: demo recording ---------------------------------------------------------------------------------------------------------------------------

This script is used to be able to record 4 different demo files manually within one game.

First, we define our binding alias command, which is demo. In there we execute the recording alias command which is demo1 at first (by using vstr which is the alias routine to be executed.

When demo is executed for the first time, it runs demo1 which changes the definition for the demo alias to run demo2 when it is executed again. After that it records the demo into the Quake 3 demo file "tmp1.dm_68".

When we execute demo again, it now runs demo2, which changes the definition for the demo alias to run demo3 when it is executed again. After that ir stops the recording.

When we execute demo for the third time, it runs demo3, which changes the definition for the demo alias to run demo4 when it is executed again. After that it records the demo into the Quake 3 demo file "tmp2.dm_68".

Etc. I think you get the idea :idea: But as you should use cl_autorecorddemo when playing online you can forget to use this script, at all :crazy:

--- Part 6 - script 3: volume --------------------------------------------------------------------------------------------------------------------------------------

As mentioned before I prefer to use an extreme low volume I sometimes need to adjust it. Nowadays most keyboards innately have a volume key and so I seldomly use this script. But anyways, it could be useful for you or you could adopt it for other purposes.

--- Part 6 - script 4: enemy colors ------------------------------------------------------------------------------------------------------------------------------

This script can only be used by CPMA/OSP mods as it changes the opponent colors with the variable cg_enemycolors.

--- Part 6 - script 5: resolution change ------------------------------------------------------------------------------------------------------------------------

For all those who use different monitors (I used this when playing on my 50" tv) this script could be useful. Just change the values to match yours and you should be fine. Do not forget to execute vid_restart (or you could add it to the script).

--- Part 6 - script 6: unfreeze reset values --------------------------------------------------------------------------------------------------------------------

As mentioned before it can be necessary for you to change the value for com_maxfps in-game as the UnFreeZe server regularly resets this to "200". I also put cg_marks and cl_maxpackets into it as both were also reset but now they should be fine and not needed anymore within the script.

--- Part 6 - script 7: rocket jump -------------------------------------------------------------------------------------------------------------------------------

Perhaps you have already seen some players rocket jumping without looking down. This is the script you can use for it. I couldn't get used to it.

I also created a "direct" rocket jump script which should just jump and shoot simultaneously as I experienced some failed rocket jumps. But I couldn't get used to it, either.
Last edited by tar on Tue Apr 03, 2018 23:43, edited 7 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 7): Bindings

Post by tar »

=== Part 7: Bindings =========================================================================================

Content:
- Chapter 1: Weapon Scripts
- Chapter 2: Bindings

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: bindings
// ************************************************************************************************

// === weapon scripts =============================================================================

seta fov_normal				"cg_fov 115"
seta fov_zoom				"cg_zoomfov 55"
seta sens_others			"sensitivity 4.0; cl_mouseaccel 0.12"
seta sens_rail				"sensitivity 3.0; cl_mouseaccel 0.12"
seta sens_rocket			"sensitivity 3.5; cl_mouseaccel 0.12"
seta sens_shaft				"sensitivity 2.7; cl_mouseaccel 0.12"

seta weapon_1				"cg_drawgun 1; weapon 1; cg_drawcrosshair 1; vstr fov_normal; vstr sens_others"	// gauntlet
seta weapon_2				"cg_drawgun 1; weapon 2; cg_drawcrosshair 1; vstr fov_normal; vstr sens_others"	// machine gun
seta weapon_3				"cg_drawgun 1; weapon 3; cg_drawcrosshair 8; vstr fov_normal; vstr sens_others"	// shotgun
seta weapon_4				"cg_drawgun 0; weapon 4; cg_drawcrosshair 1; vstr fov_normal; vstr sens_others"	// grenade launcher
seta weapon_5				"cg_drawgun 0; weapon 5; cg_drawcrosshair 1; vstr fov_normal; vstr sens_rocket"	// rocket launcher
seta weapon_6				"cg_drawgun 0; weapon 6; cg_drawcrosshair 1; vstr fov_normal; vstr sens_shaft"	// lightning gun
seta weapon_7				"cg_drawgun 0; weapon 7; cg_drawcrosshair 1; vstr fov_normal; vstr sens_rail"	// railgun
seta weapon_8				"cg_drawgun 0; weapon 8; cg_drawcrosshair 1; vstr fov_normal; vstr sens_others"	// plasma gun
seta weapon_9				"cg_drawgun 0; weapon 9; cg_drawcrosshair 1; vstr fov_normal; vstr sens_others"	// bfg

// === bindings ===================================================================================

unbindall

// --- mouse --------------------------------------------------------------------------------------

bind mouse1				"+attack"
bind mouse2				"+moveup"
bind mouse3				"vstr weapon_9"
bind mwheelup				"vstr weapon_5"
bind mwheeldown				"vstr weapon_5"

// --- keyboard -----------------------------------------------------------------------------------

bind f1					"vote yes"
bind f2					"vote no"
bind f3					""
bind f4					""
bind f5					"readyteam;ready"
bind f6					"unready"
bind f7					"team red"
bind f8					"team blue"
bind f9					""
bind f10				""
bind f11				""
bind f12				"vstr take_screenshot"

bind 1					"vstr weapon_1"
bind 2					"vstr weapon_2"
bind 3					"vstr weapon_3"
bind 4					"vstr weapon_4"
bind 5					"vstr weapon_5"
bind 6					"vstr weapon_6"
bind 7					"vstr weapon_7"
bind 8					"vstr weapon_8"
bind 9					"vstr weapon_9"
bind 0					""

bind a					"+moveleft"
bind b					""
bind c					"vstr weapon_1"
bind d					"+moveright"
bind e					"vstr weapon_3"
bind f					"vstr weapon_6"
bind g					"vstr weapon_5"
bind h					"vstr weapon_8"
bind i					""
bind j					""
bind k					""
bind l					""
bind n					""
bind m					""
bind n					""
bind o					""
bind p					""
bind q					"vstr weapon_4"
bind r					"vstr weapon_8"
bind s					"+back"
bind t					""
bind u					"messagemode2"			// teamsay
bind v					""
bind w					"+forward"
bind x					""
bind y					"messagemode"			// say
bind z					""

bind escape				"togglemenu"
bind tab				"+scores"
bind shift				"vstr weapon_5"
bind ctrl				"+movedown"
bind alt				""
bind space				"vstr weapon_7"
bind enter				""
bind pause				""

bind uparrow				"+forward"
bind downarrow				"+back"
bind leftarrow				"+moveleft"
bind rightarrow				"+moveright"

bind ins				"vstr enemies"
bind del				"exec tar.cfg"
bind home				""
bind end				""
bind pgup				"vstr volumeup"
bind pgdn				"vstr volumedn"

bind /					""
bind \					""
bind [					""
bind ]					""
bind _					""
bind semicolon				""
bind '					""
bind `					"toggleconsole"
bind ~					"toggleconsole"

// --- numpad -------------------------------------------------------------------------------------

bind *					""
bind -					""
bind +					""
bind kp_enter				""

bind kp_home				""
bind kp_uparrow				""
bind kp_pgup				""
bind kp_leftarrow			""
bind kp_5				""
bind kp_rightarrow			""
bind kp_end				"playerlist"
bind kp_downarrow			"stats"
bind kp_pgdn				"topshots; statsall"
--- Part 7, Chapter 1: Weapon Scripts --------------------------------------------------------------------------------------------------------------------------

Weapon scripts are useful to set different parameters for different weapons. Your aiming and movement is different when you use rockets or rail or shaft. Therefore you need not only to find the best overall sensitivity settings for you but also the best settings for each weapon which requires a lot of practice.

You can use the given aliases to adjust your weapon settings.

--- Part 7, Chapter 2: Bindings -----------------------------------------------------------------------------------------------------------------------------------

I think this section is self self-explaining (no magic here). You can use it as template and fill in your own prefered bindings. By the way, do not wonder that some bindings seem strange to you as I do not play with my keyboard but a Razer Tartarus.
Last edited by tar on Tue Apr 03, 2018 23:43, edited 12 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 8): Server Settings

Post by tar »

=== Part 8: Server Settings ===================================================================================

Content:
- Chapter 1: Server Configuration

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: server settings
// ************************************************************************************************

// === server configuration =======================================================================

sets net_ip				"0.0.0.0"			// set the ip of your server
sets net_port				"27960"				// set external port of your server
sets net_port6				"27960"				// set external port of your server on ipv6
sets net_qport				"57259"				// set internal port, this allows more than one person to play from behind a nat router by using only one ip address
sets cl_guidserveruniq			"1"				// makes cl_guid unique for each server
sets cl_lanforcepackets			"1"				// if this is enabled and dedicated mode is not 2, clients on your same subnet will ignore the "rate" value and will get all the "snapshots" the server will elaborate

sets username				""				// set username
sets password				""				// set password
sets rcon				""				// issue remote console commands to control the server from a connected client, first set rconpassword to the same value as the server, then preceed all console commands with "rcon"
sets rconaddress			""				// set remote console address
sets rconpassword			""				// set rcon password for remote operation from a client connected to the server. client must store the correct password in the rconpassword variable before they can issue console commands to the server preceeded by "rcon"
sets logfile				"0"				// enable server log file
sets heartbeat				"0"				// send ping (heartbeat signal) to master server

sets sv_dlurl				""				// the base of the http or ftp site that holds custom pk3 files for your server
sets sv_serverid			"417"				// set server id
sets sv_hostname			"noname"			// set the name of the server
sets sv_keywords			"0"				// set list of keywords for server browsers that support searching server lists
sets sv_master1				"master.quake3arena.com"	// set url or address to master server
sets sv_master2				""				// set url or address to optional master server 2
sets sv_master3				""				// set url or address to optional master server 3
sets sv_master4				""				// set url or address to optional master server 4
sets sv_master5				""				// set url or address to optional master server 5
sets sv_paknames			"..."				// names of the pk3 files
sets sv_paks				"..."				// checksums of the pk3 files
sets sv_referencedpaknames		"..."				// names of the referenced pk3 files
sets sv_referencedpaks			"..."				// checksums of the referenced pk3 files
sets sv_mapchecksum			"..."				// current map checksum for cheat-detection
sets sv_voip				"1"				// ioq3: enables voip
sets sv_floodprotect			"1"				// toggle server flood protection to keep players from bringing the server down
sets sv_lanforcerate			"1"				// if this is enabled and dedicated mode is not 2, clients on your same subnet will ignore the "rate" value and will get all the "snapshots" the server will elaborate
sets sv_packetdelay			"0"				// simulate packet latency (0: off)
sets sv_padpackets			"0"				// force server to pad shot packets
sets sv_showloss			"0"				// enable sever packet loss display
sets sv_pure				"1"				// pure server (0: off, 1: the server will check to make sure clients have "pure" (unaltered) pk3 files to prevent cheating)
sets sv_strictauth			"1"				// check cd-key on clients
sets sv_privateclients			"0"				// sets the number of client slots to reserve for those clients who know the sv_privatepassword and have entered it in their "password" variable. sv_maxclients minus sv_privateclients equals the number of public connect slots
sets sv_privatepassword			""				// set server password and requires all clients to use the password command with the correct password to join the server
sets sv_maxclients			"8"				// maximum number of people allowed to join the server dedicated server memory optimizations
sets sv_minping				"0"				// set the minimum ping allowed on the server to keep low ping players out
sets sv_maxping				"0"				// set the maximum ping allowed on the server to keep high ping players out
sets sv_minrate				"0"				// set the minimum rate allowed on the server
sets sv_maxrate				"0"				// option to force all clients to play with a max rate, this can be used to limit the advantage of low ping players or to cap bandwidth utilization for a server
sets sv_reconnectlimit			"3"				// set server reconnect limit
sets sv_timeout				"120"				// set server timeout time in seconds
sets sv_zombietime			"2"				// set inactivity time before clients (zombies) are disconnected
sets sv_fps				"20"				// set server fps
sets sv_cheats				"0"				// allows cheats
sets sv_paused				"0"				// allows pausing of server
sets sv_running				"0"				// server status

sets cl_motd				"1"				// enables message of the day
sets cl_motdstring			"welcome to my server"		// content of the message of the day

sets g_log				"games.log"			// file name for logging game data or statistics
sets g_logsync				"0"				// toggle the logging to append to the existing file and not overwrite
sets g_needpass				"0"				// variable alerts the client that a password is needed to join your server
sets g_password				""				// set the serverside password players have to use to get on the server
sets g_banips				""				// ban specified tcp/ip address from connecting to your server
sets g_filterban			"1"				// toggle the banning of players that match a certain criteria/filter
sets g_maxgameclients			"0"				// set maximum # of players who may join the game, the remainder of clients are forced to spectate
sets g_smoothclients			"1"				// enable players to use cg_smoothclients on the server
sets g_synchronousclients		"0"				// synchronizes all clients to allow demo recording on the server, which may decrease netplay performance
sets g_motd				"welcome to my game"		// set message of the day
sets g_arenasfile			""				// sets the file name to use for map rotation and bot names and game type for each arena (default: scripts/arenas.txt within the pk3 file)
sets g_botsfile				""				// sets the file name to use for setting up the bots configuration and characters for each bot (default: scripts/bots.txt within the pk3 file)
sets g_allowvote			"1"				// toggle the use of voting on a server
sets g_teamautojoin			"0"				// toggle the automatic joining of the smallest or loosing team
sets g_teamforcebalance			"0"				// toggle the forcing of teams to be as even as possible on a server
sets g_inactivity			"0"				// time limit that a player can be still before being expelled
sets g_blueteam				"Pagans"			// set the icon for the blue team
sets g_redteam				"Stroggs"			// set the icon for the red team
sets g_gametype				"0"				// sets the server game type (0: classic deathmatch, 1: tournament one-on-one play, 3: team deathmatch, 4: ctf)
sets g_gravity				"800"				// game severity (usually set by map properties)
sets g_speed				"320"				// movement speed of players
sets g_knockback			"1000"				// amount of movement when impacted by rocket/bfg/plasma
sets g_dowarmup				"0"				// toggle the use of a warmup period before a match game
sets g_warmup				"20"				// the warmup time for tournament play
sets g_delaghitscan			"0"				// compensate network latency effects when using "hitscan" (instant hit, such as the machinegun) weapons, for all the clients which will require it
sets g_quadfactor			"3"				// damage multiplier for the quad powerup (1: no quad damage powerup)
sets g_enablebreath			"0"				// breathing effect (0: off, 1: on)
sets g_enabledust			"0"				// dust effect by feet on particular maps (0: off, 1: on)
sets g_friendlyfire			"0"				// toggle damage caused by friendly fire (0: off, 1: can kill or injure teammate)
sets g_forcerespawn			"20"				// resurrection time of the player (0: no limit)
sets g_weaponrespawn			"5"				// set the number of seconds between the time a weapon is picked up and when it respawns
sets g_weaponteamrespawn		"30"				// set the number of seconds between the time a weapon is picked up and when it respawns on team matches
sets g_listentity			"0"				// display of map entities by number
sets g_rankings				"0"				// ?

sets bot_minplayers			"0"				// sets the minimum number of players on the server, when fewer clients are connected, the server will spawn as many bots as needed to bring the total number of player plus bots to this value, when clients connect, bots will be kicked to make room
sets capturelimit			"8"				// set # of times a team must grab the others flag before the win is declared on ctf
sets dmflags				"0"				// set deathmatch flags
sets fraglimit				"10"				// set fraglimit on a server (0 is no limit)
sets timelimit				"0"				// amount of time before new map loads or next match begins
--- Part 8, Chapter 1: server configuration -------------------------------------------------------------------------------------------------------------------

Here you set the values when you create an own (multiplayer) game and also can set the values for your server. I think, there are many more variables to consider but as this is no server guide (and as I never started any server) I leave it as it is, at the moment. If you will never run own games or a server you can remove this section from your config.
Last edited by tar on Tue Apr 03, 2018 23:44, edited 6 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide (Part 9): UnFreeZe Modification

Post by tar »

=== Part 9: UnFreeZe Modification ==============================================================================

Content:
- Chapter 1: Installation
- Chapter 2: UnFreeZe Settings

--- Part 9, Chapter 1: Installation -------------------------------------------------------------------------------------------------------------------------------

You have two options to install the UnFreeZe modification:

Option 1 (Windows x86 only):
1) download the UnFreeZe Client Full prerelase package
2) extract it wherever you like and run the appropriate batch file you find in there
3) copy the pak0.pk3 into the corresponding subfolder (where a file called "put_your_pak0.pk3_file_here" is)
4) run the game from there

Option 2:
1) download unfreeze-v1.0-client.zip
- if you have installed standard Quake 3: extract it to the main install folder (e.g. d:\games\quake3)
- if you have installed ioQuake3: extract it to the ioQuake3 personalisation folder (c:\Users\your_username\AppData\Roaming\Quake3\)
2) download the unfreeze0-dev-client.pk3
- if you have installed standard Quake 3: extract it to to modification subfolder of the main install folder (e.g. d:\games\quake3\unfreeze) and overwrite the existing file
- if you have installed ioQuake3: copy it to modification subfolder of the ioQuake3 personalisation folder (c:\Users\your_username\AppData\Roaming\Quake3\unfreeze) and overwrite the existing file
3) go to your main Quake 3 folder (e.g. d:\games\quake3\ or d:\games\ioquake3\) and create a shortcut for your appriopriate executable file (e.g. ioquake3_v1.33_intel.exe) that should look like this: d:\games\ioquake3\ioquake3_v1.33_intel.exe +fs_mode unfreeze +connect server.unfreeze.ga
- you can use this shortcut to start UnFreeZe and place it wherever you want

If you need further help, read this thread or ask in this forum.

--- Part 9, Chapter 2: UnFreeZe Settings ----------------------------------------------------------------------------------------------------------------------

Config:

Code: Select all

// ************************************************************************************************
// quake 3 arena configuration: mod unfreeze settings
// ************************************************************************************************

// === set by the server ==========================================================================

seta com_hunkmegs			"77"				// unfreeze: not changeable
seta com_soundmegs			"16"				// unfreeze: not changeable
seta com_zonemegs			"24"				// unfreeze: not changeable

seta cl_maxpackets			"100"				// unfreeze: not changeable, automatically tries to send as much packets as possible
seta com_maxfps				"200"				// unfreeze: not changeable, use vsync to reduce frames per second

// === graphics details ===========================================================================

seta cg_markstime			"10000"				// unfreeze: time marks are shown in msec, replaced cg_marks (2700: minimum, 10000: maximum)
seta cg_noexplosions			"1"				// unfreeze: explosion effect (0: enabled, 1: disabled)
seta cg_lgrcore				"1"				// unfreeze: shaft stream (0: normal, 1: bold)

// === hud overlays ===============================================================================

seta teamoverlay2			""				// unfreeze: show name of team mate
teamoverlay2				"1"				// unfreeze: show name of team mate
seta cg_drawfriend			"2"				// unfreeze: show triangle above team mates (0: disabled, 1: grey, 2: customized by cg_friendmarkcolor)
seta cg_friendmarkcolor			"1"				// unfreeze: color of triangle above team mates, used with cg_drawfriend "2" (<color>, 0: uses team color)
seta cg_nofragmessage			"0"				// unfreeze: disables message when killing opponent (0: off, 1: on)
seta cg_weaponselecttime		"-1"				// unfreeze: duration of showing the weapon select screen in msec (-1: never, 1.4: default, 86400: ever)
seta cg_crosshaircolor			"6"				// unfreeze: change the color of the crosshair, cg_crosshairhealth has to be disabled

// === personalisation ============================================================================

seta model				"keel/pm"			// unfreeze: opponent model, used with cg_forcemodel
seta headmodel				"keel/pm"			// unfreeze: opponent model, used with cg_forcemodel
seta team_model				"xaero/pm"			// unfreeze: own and team model, used with cg_forcemodel
seta team_headmodel			"xaero/pm"			// unfreeze: own and team model, used with cg_forcemodel
seta cg_forcemodel			"3"				// unfreeze: forces different player models
									// - 0: own model is team_model/team_headmodel, all other player are displayed with their corresponding model
									// - 1: all players use team_model/team_headmodel
									// - 2: own model is team_model/team_headmodel, team mates are displayed with their corresponding model, opponents use model/headmodel
									// - 3: own model and team mates use team_model/team_headmodel, opponents use model/headmodel
seta cg_forceskin			"1"				// unfreeze: forces different opponent colors (0: off and opponents are yellow, 1: on and opponents are green)

seta s_musicvolume			"-1"				// unfreeze: -1: deactivates also every map ambient sound
seta cg_nomapsounds			"1"				// unfreeze: disables ambient map sounds (0: off, 1: on)
seta cg_oldrailsound			"1"				// unfreeze: rail sound (1: q3, 2: open arena)

// === movement configuration =====================================================================

seta cg_bob				"0"				// unfreeze: dizziness when moving, replaced cg_bobpitch, cg_bobroll and cg_bobup (0: off, 1: on)
seta cg_kickscale			"0"				// unfreeze: dizziness when getting hit, replaced cg_damagekick and cg_fallkick (0: off, 1: on)
:!: Important note:
When changing most of the variables in-game a restart is required (execute vid_restart in the console) in order to take effect.

Values set by the server
For UnFreeZe you should use the given values or remove them completely from your config file as the UnFreeZe server also set them like they are.

cg_markstime (integer)
Sets the time marks are shown in msec. Replaced cg_marks
- "0": no marks (default)
- "2700": minimum
- "10000": maximum

cg_noexplosions (boolean)
Toggles the explosion effect.
- "0": on (default)
- "1": off

cg_lgrcore (boolean)
Sets the style of the lighting gun shaft.
- "0": thunderbolts (default)
- "1": bold

teamoverlay2 (boolean)
In order to activate the teamoverlay in UnFreeZe you have to set this CVAR and also have to execute the command teamoverlay2 "1" afterwards.
- "0": default

cg_drawfriend (integer)
Toggles the display of a triangle above team mates.
- "0": off
- "1": grey (default)
- "2": customized color by cg_friendmarkcolor

cg_friendmarkcolor (color)
Sets the color for the triangle above team mates. Only useable when cg_drawfriend is "2".
- "0": uses team color
- "7": default

cg_nofragmessage (boolean)
Toggles the display of a message when killing an opponent.
- "0": on (default)
- "1": off

cg_weaponselecttime (integer)
Sets the duration of showing the weapon select screen in milliseconds.
- "-1": never
- "1.4": default
- "86400": ever

cg_crosshaircolor (color)
Sets the color of the crosshair. To use this cg_crosshairhealth has to be disabled.
- "6": default

model (model)
Sets the opponent models. Check cg_forcemodel.
- "sarge": default

To define the best opponent model you have to consider the sounds it makes, first. They should be as loud as possible to hear them early and also they should perhaps be distingishuable that you know if they are jumping or receiving damage and which health status they have. Then you should consider the actual model size and if it fits to the hitbox. The best players use either "keel" or "tankjr" for the opponents.

"keel":
- has distingishuable sounds
- its model matches the hitbox

"tankjr":
- louder but has no distingishuable sounds
- its model is bigger but does not match the hitbox

headmodel (model)
Sets the opponent head models. See model.
- "sarge": default

team_model (model)
Sets your own model and your teammate models. Check cg_forcemodel.
- "james": default

You should use the most less distracting model from an acoustic perspective which is by far "bitterman". You can also test "lucy", "mynx", "ranger" and "uriel".

team_headmodel (model)
Sets your own model and your teammate head models. See team_model.
- "*james": default

cg_forcemodel (integer)
Sets the model assignments.
- "0": own model is team_model/team_headmodel, all other player are displayed with their corresponding model (default)
- "1": all players use team_model/team_headmodel
- "2": own model is team_model/team_headmodel, team mates are displayed with their corresponding model, opponents use model/headmodel
- "3": own model and team mates use team_model/team_headmodel, opponents use model/headmodel

cg_forceskin (boolean)
Toggles the enemy colors.
- "0": red/blue
- "1": green or yellow/blue when spectating (default)

s_musicvolume (decimal)
Sets the in-game music volume.
- "-1": deactivates also every map ambient sound
- "0": off
- "0.25": default
- "1": loudest

cg_nomapsounds (boolean)
Toggles other ambient map sounds.
- "0": on (default)
- "1": off

cg_oldrailsound (boolean)
Sets the style of the rail sound.
- "0": OpenArena
- "1": Quake 3 (default)
Last edited by tar on Tue Apr 10, 2018 0:14, edited 16 times in total.
newb.zi (stats · system)

User avatar
tar
User lv4
User lv4
Posts: 229
Joined: Thu Aug 31, 2017 23:27

Quake 3 Configuration Guide: Change Log

Post by tar »

=== Change Log =============================================================================================

10.04.2018: v1.0
- first finished version
- moved the modification part into part 1, chapter 3
- removed CPMA/OSP completely
- removed some unnecessary CVARs
- moved some CVARs to the correct chapters
- detailed CVARs explanations incl. data type, default and recommended values
- incl. some links here and there
Last edited by tar on Mon Apr 09, 2018 23:47, edited 16 times in total.
newb.zi (stats · system)