Doom 3 cvarlist and tweaking


Recommended Posts

Thanks to Scott

You follow the info in this article at your own risk. That said, make a back up of your current DoomConfig.cfg and you should be safe (it's in the doom3/base folder). If anything goes wrong, you can either revert to that or delete it entirely, forcing Doom III to create a new DoomConfig.cfg from scratch.

The guide will be broken down as follows:

Autoexec and the Console - Basic Introduction

Performance Tweaking - Image and other performance tweaks

Game Tweaking - other tweaking area such as mouse control, coloured names

Editor - getting it running to design your own maps

Scripting - just a few scripts you can use in your autoexec

Server - so you want to run a MP server?

Autoexec

An autoexec.cfg file is a configuration list of cvars that is run when the game is loaded. It can contain your settings for the game, your bindings for chat messages and controls, and anything else you might need. The beauty of using an autoexec file is that you can layout it out in a manner that is easy for you. Basically its nothing more than a text file. You can take a look at an example autoexec here. It's currently rather big and very much a work in progress, however we have started to mark out a few items of interest for tweaking.

To create your own, make a new text file and save it as 'autoexec.cfg' making sure you save it as all files and not as a txt file. If you don't, you'll end up with an 'autoexec.cfg.txt' file. Save this in the Doom3/base folder (the same folder as the DoomConfig.cfg). You can then edit it with a text editor such as wordpad. Should you want to make your own notes, placing // before a line will tell Doom III to ignore it.

Where is the console?

The console can be accessed by pressing CTRL-ALT-x where 'x' is the key under ESC, tilde for many, ` hyphen for others, it all depends on your region. You can however set this to the key under ESC only by adding the line -

set com_allowConsole "1"

to your autoexec.cfg.

What was that command again .... ?

You get a list of commands or have your commands completed in the console by using the tab key. For example -

c + tab key in the console will give you a list of all commands beginning with c.

Speaking of commands beginning with c, you can dump the current console to a text file if you wish with the 'condump blah.txt' command.

Performance Tweaking

Before you get to tweaking, you will want to know how to benchmark the game to get before and after results of your handiwork. So start Doom III and bring down the console. Then type -

timedemo demo1

Wait for the demo to run and you will be presented with a screen at the end with your frame rates. Since you will be stopping and starting Doom III a lot, you can also bypass the beating heart machine intro by adding -

+disconnect

to the target command line of your Doom III shortcut. To do this, right click the shorcut and go to properties. Find the Target line and change it accordingly. Mine reads -

"D:\Doom 3\Doom3.exe" +disconnect

If you want to see your frame rates in game, simply use -

set com_showFPS "1"

which will display your current FPS in corner of screen.

set com_videoRam "64"

Doom III has detected I have 64mb of ram on my video card. Well I actually have 256mb, which is probably why a few other settings seem out, hence I set it manually.

set image_downSizeBumpLimit "512" //1024 for 256mb gfx. 512 for 128mb gfx. 256 for 64mb gfx

set image_downSizeBump "1" //enables above

Originally the above was set to 256, as if I had a 64mb card. What I believe it does is decide how large in pixels the bump map textures should be on screen. Without a performance hit I was able to use 1024 with a 256mb card. You can also try -

set image_downSizeLimit "512" //1024 for 256 cards. 512 for 128mb gfx. 256 for 64mb gfx

set image_downSize "1" //use to enable above

I've had friends say that below does work and others say it doesn't. Give it a try but make a note of your current settings before you change it. You can do that either by reading your DoomConfig.cfg or by typing the command without a variable in the console.

set image_useCache "1"

set image_cacheMegs "128"

set image_cacheMinK "10240"

20 was the default Cache for me and I've had a small FPS boost by setting it higher, although this is bound to be linked directly with available memory so don't go too high. I'd set it between 96 and 128 depending on your system specs. Note you will need to raise the cacheMinK as well or the game will crash before you've finished loading. Still playing around with above but even if it doesn't raise the FPS, it does seem to smooth out the transitions and pauses you can experience in single player. Note that these settings are for PreCompressed textures only, so should you be lucky enough to run in ultra mode without texture compression, they shouldn't effect you.

Game Tweaking

How make name in pretty colors?

From the very limited time I've had playing around in Multiplayer, it seems that chat messages don't support colour codes. However you can change the colours in your name. The colour codes I've found so far are -

^1 Red

^2 Green

^3 Yellow

^4 Blue

^5 Aqua

^6 Purple (might be pink?)

^7 White

^8 Grey

^9 Black

To use them simply put the codes in your name before the letters you want in that colour. For example -

set ui_name "^4D^8oo^1M"

would give you the name DooM

We've barely scratched the surface here but some stuff to get you started -

set pm_runbob "0" //default is 0.4

set pm_runpitch "0" //default is 0.002

set pm_runroll "0" //default is 0.005

set pm_walkbob "0" //default is 0.3

set pm_bobpitch "0" //default is 0.002

set pm_bobroll "0" //default is 0.002

set pm_bobup "0" //default is 0.005

set pm_crouchbob "0" //default is 0.5

The above will stop your view from bobbing up and down as you walk when set to 0. This is applicable to both the singleplayer and multiplayer. So should you feel a little sick while playing Doom III, perhaps it's not just the scenery ...

You may also want to set a monitor refresh rate (especially with all the dark corners) using -

set r_displayRefresh "75"

Speaking of your view, wouldn't it be nice if you could see a bit more on screen?

set g_fov "90"

FOV is the 'Field of View'. I personally use 105 but the choice is yours. Note it will decrease your framerates the higher you set it, and it will also compress the image on screen to fit. Go too far and you'll get a fishbowl appearance.

Afraid of the dark? You could lighten things up a notch or two with -

set r_brightness 1

set r_gamma 1.3

Bear in mind it is supposed to be dark, go too far and you'll ruin the atmosphere.

A few others that will likely be of interest -

set com_showFPS "1" //display current FPS in corner of screen

set com_allowConsole "1" //tilde key only for console *

set g_nightmare "1" //enables highest skill level for the real hardcore

* this will change depending on region, but it is always the key found below the ESC key

How about a few fun ones.

set com_showMemoryUsage "1" //displays current memory usage, interesting during section transitions

set s_showLevelMeter "1" //display sound level meter for each speaker

The Editor

So you want to make your own maps for Doom III? Well id Software saw fit to provide the tools with the game. To access the Editor you simply type

editor

in the console. This will start DOOMEdit, which for those familiar with the Q3 engine will recognize the majority of what there (its very radiant alike). I did however have a few problems running this at first, no mouse pointer for starters. I'd also changed the gamma and brightness levels from the default and these had to be reset beforehand. The way I've done it is to create a shortcut to Doom3.exe and then edit the target line. Mine reads as -

"D:\Doom 3\Doom3.exe" +disconnect +set r_gamma 1 +set r_brightness 1 +set r_fullscreen 0 +editor +vid_restart

Basically my mouse pointer will not show unless I run it r_fullscreen 0. The command vid_restart just makes sure that all of the above takes effect.

Scripts

Couple of basic scripts to get you going, one is for recording demos, the other is for a 'clean' screenshot. Speaking of which, you can get screenshots with the F12 key by default.

// Record Demo - start & stop with F10 //

set startrec "recordDemo; set demorec vstr stoprec"

set stoprec "stopRecording; set demorec vstr startrec"

set demorec "vstr startrec"

bind F10 vstr demorec

F10 once will start you recording. Note that you won't get a message on screen stating that recording has started (if you want one, set con_noPrint "0", although this will display a lot of other stuff too). You can check it in the console although this will obviously be in your demo. To stop recording simply press F10 once again. Demos can be found in the Doom3/base/demos folder and can be run from the console with the 'demo demoname' command.

// Clean Screenshot - no Gun or HUD in picture //

bind F11 "set ui_showGun 0; set g_showHud 0; screenshot; set g_showHud 1; set ui_showGun 1"

F11 in game will create a 'clean' screenshot (no gun, no HUD) in the doom3/base/screenshots folder with the below. Change the key in red to one of your choosing if you so wish.

Server

Running a server from the GUI is simple enough but should want to run a dedicated server (i.e. text console only, you don't play the game) then you will want to do it something like this.

Create a new text file called doomserver.bat and save it as all files in the doom3 folder. The idea is that you get a doomserver.bat and not a doomserver.bat.txt file. Once thats done, right click the newly created batch file and choose edit. Now we need to add some commands.

start

Doom3.exe +set net_serverdedicated 1 +exec doomserv.cfg +servermaprestart

goto start

Note that is 3 lines of text. The commands used here are +set net_serverDedicated which tells doom what kind of server you want (1 for a text only console, 2 for a graphical in game listen server). The next part, +exec doomserv.cfg runs our server configuration file we shall create in a moment. The last restarts the server map which seems to be needed for some servers (another thing to add to the research list).

Now we need an actual server config for that batch file to run. So create a doomserv.cfg file in the same manner as an autoexec.cfg and put your server options in it. Here's a few to get you going.

set si_spectators "1" //on-off Allow people to spectate games or force them to play

set si_usePass "1" //enable password for server play

set si_warmup "1" // on-off

set si_teamDamage "1" //Available for Team Deathmatch only

set si_timeLimit "10"

set si_fragLimit "10"

set si_map "game/mp/d3dm5" // d3dm1-5

set si_gameType "Deathmatch" // Deathmatch - Team DM - Last Man - Tourney

set si_name "D^7oo^1M ^7]|[ Server^7" //name of server, note use of colours

set si_pure "1" //force client files to match server files

set si_maxPlayers "4"

set logFile "1" //logfile on-off

set logFileName "doomserverlog.log"

set net_serverRemoteConsolePassword "password here" //rcon pass

set net_serverClientTimeout "40"

set net_serverZombieTimeout "5"

set net_serverMaxClientRate "16000" //max client rate

set net_serverSnapshotDelay "50"

set net_serverAllowServerMod "1" // allow non-pure mod paks with pure game paks

set g_countDown "10" //warmup time ? UNTESTED

set g_balanceTDM "1"

set g_spectatorChat "1" //on-off spectator chat

set g_password "password" //server password

set g_mapCycle "mapcycle" //mapcycle configscript to use, default mapcycle.scriptcfg in pak0

Link to comment
https://www.neowin.net/forum/topic/208617-doom-3-cvarlist-and-tweaking/
Share on other sites

  • 3 weeks later...

I have a doom3 script idea that I'm having trouble writing up. I want to be able to run a timedemo and have it output the average fps to a text file. the problem I'm having is that I dont know how to access the average fps (or the nunber of frames rendered and the time for rendering) from the console. The reason I want to do this is to eb able to automate my doom3 overclocking.

thanks in advance.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Thank you. Will do. I read in the release notes that editor config might be at play here.
    • Actually, I think even Microsoft doesn't know how to control it
    • OpenAI is making Codex more useful in Chrome and the cloud by Pradeep Viswanathan OpenAI's Codex now has more than 5 million users, up nearly 4x from earlier this year. To further accelerate Codex's growth among developers, OpenAI today announced that it has agreed to acquire Ona, a company that builds secure cloud execution and orchestration technology for developers. Ona will enable developers to run Codex with persistent and controlled cloud infrastructure for long-running agentic workflows. Right now, most Codex execution happens locally on developers' laptops and PCs, and the agents work continuously for hours. Through Ona, OpenAI aims to make Codex agents keep working for days without being tied to a user’s local machine or an active session. This will be an important capability for enterprises that want to deploy AI agents in production while maintaining control over infrastructure, data, security boundaries, credential scope, logging, and review workflows. Like any acquisition, the deal is still subject to customary closing conditions, including regulatory approvals. Until the deal closes, OpenAI and Ona will continue to operate as separate companies. After closing, Ona’s team will join the Codex team to improve developer workflows. Alongside the Ona acquisition announcement, OpenAI today introduced a few Codex updates. Developers can now save Codex rate limit resets and use them later instead of losing them when they are not needed immediately. OpenAI is also adding a referral option where users can invite a friend to Codex and get a saved rate limit reset. OpenAI today also announced a developer mode for browser use in Chrome and the Codex in-app browser. With this mode, Codex can use the Chrome DevTools Protocol to debug web apps, inspect pages, and work more directly with browser-based development workflows. Developers can use this when they want Codex to profile JavaScript, inspect console output and network traffic, examine web page states including the DOM and applied styles, and more.
    • Camtasia 2026.1.3 by Razvan Serea TechSmith Camtasia is the complete professional solution for high-quality screen recording, video editing and sharing. Camtasia 2026 makes editing your videos easier, and faster than ever. The new editor is packed with enhanced video processing, all-new production technology, an innovative library, and stock videos and other creative assets to help you create more polished, professional videos. No video experience needed. Anyone can create informative, engaging videos. Create professional, eye-catching videos: Add special video effects - Apply Behaviors that are perfectly designed to animate your text, images, or icons. Get a crisp, polished look without being a professional video editor. Drag-and-drop your edits - What you see is what you get. Every effect and element in your video can be dropped and edited directly in the preview window. And you can edit at resolutions up to beautiful 4K, for clear video at any size. Get exceptional performance - Camtasia takes full advantage of your computer’s processor with 64-bit performance. You’ll get fast rendering times and enhanced stability—even on your most complex projects. Camtasia 2026.1.3 changelog: Feature Updates Improved keyboard navigability in tool panels. Improved screen reader accessibility of headings in Preferences. Tool panels can now be resized using a keyboard-navigable control. Updated color of folder icon in User Library tab for better visibility. Grouped media now render a composite waveform considering all audio media within that group. Added Long Path Aware to the manifest of Editor and Recorder. Performance Improvements Improved performance for editing groups on the timeline. Improved the project loading performance when timeline has lots of trec media with cursor data. Updates for IT Administrators Updated cpp-httplib from 0.38.0 to 0.43.3. Updated expat from 2.7.4 to 2.8.0. Updated freetype from 2.13.3 to 2.14.3. Updated harfbuzz from 13.0.1 to 14.2.0. Updated libpng16 from 1.6.55 to 1.6.58. Updated pango from 1.57.0 to 1.57.1. Updated girepository from 2.86.3 to 2.88.0. Updated pcre2-posix from 10.47.0 to 12.0.2. Added new harfbuzz-gpu.dll. Updated FFmpeg from 7.1.1 to 7.1.2. Updated aom from 3.11.0 to 3.13.1. Updated dav1d from 1.5.0 to 1.5.1. Updated ogg from 1.3.5 to 1.3.6. Updated SDL2 from 2.32.4 to 2.32.10. Updated zlib from 1.3.1 to 1.3.2. Updated Nalpeiron binaries to version 4.4.69.3. Bug Fixes Fixed an issue which prevented some user submitted crash reports from being sent. Fixed a potential memory leak when decoding HEVC or VP9 video. Fixed a potential crash when trying to delete a range selection on a magnetic track. Fixed a bug with the Properties Panel showing stale properties when only a caption is selected on the timeline. Fixed an issue that could prevent the Opacity and Blur properties from being changed in the Background Removal effect. Fixed an issue where larger Camtasia online projects may fail to open in Camtasia Editor. Table of contents thumbnails are no longer created for Smart Player exports with no table of contents. Fix resetting skew revert to revert just skew and not scale as well. Fixed editing in Snagit with snagX file with Unicode characters. Fixed a bug where grouped visual media could be cropped in some cases. Fixed importing SnagX files with Unicode characters. Localization fixes. Download: Camtasia 2026.1.3 | 309.0 MB (Shareware) View: Camtasia Homepage | Tutorials | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Month Later
      Jamswaz earned a badge
      One Month Later
    • Week One Done
      Jamswaz earned a badge
      Week One Done
    • Rookie
      Marzoid went up a rank
      Rookie
    • Community Regular
      coch went up a rank
      Community Regular
    • One Year In
      slackerzz earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      188
    3. 3
      +Edouard
      157
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      75
  • Tell a friend

    Love Neowin? Tell a friend!