Pre configured q3config.cfg

Could we discuss on best graphic settings, I’m moving to ioquake3 and my current .cfg is mainly based for regular client , very much need a good ioq3 .cfg based for the git version.

// my settings

seta color "ghjkl"
seta con_speed "999"
seta cg_centertime "0"
seta cg_shadows "0"
seta cg_gibs "0"
seta cg_noProjectileTrail "1"
seta cg_oldplasma "0"
seta cg_marks "0"
seta cg_altPlasma "0"
seta cg_autoAction "7"
seta cg_damageDraw "0"
seta cg_deferPlayers “1” // prevents lag then someone is connecting
seta cg_drawTeamOverlay “2” // teammates locations on arena
seta cg_bobroll "0"
seta cg_bobpitch "0"
seta cg_bobup "0"
seta cg_deadBodyDarken "1"
seta cg_fallKick "0"
seta cg_nudge "0"
seta cg_oldCTFSounds "0"
seta cg_predict "0"
seta cg_predictItems "0"
seta cg_railCoreWidth "1"
seta cg_railRingWidth "0"
seta cg_railRingStep "32"
seta xp_snow "0"
seta cg_railstyle "1"
seta cg_railTrailTime "100"
seta cg_oldrocket "0"
seta cg_oldrail "1"
seta cg_projectileNudge "150"
seta cg_fov "125"
seta cg_optimisebw "1"
seta cg_tracerchance "100"
seta cg_tracerlength "9999"
seta cg_tracerwidth "5"
seta cg_altLightning "03"
seta cg_itemFX "1"
seta cg_noTaunt "1"
seta cg_smoke_SG "0"
seta cg_smokeRadius_GL "1"
seta cg_smokeRadius_RL "3"
seta cg_viewAdjustments "0"
seta cg_xerpClients "0"
seta cg_lagHax "0"
seta cg_lightningImpact "1"
seta cg_muzzleFlash "0"
seta cg_noAmmoChange "0"
seta cg_trueLightning "1000000000000000000000000000000000000000000000000000000000000000000000000"
seta cg_brassTime "0"
seta cg_marks "0"
seta cg_simpleItems "1.1"
seta cg_nomip "959"
seta cg_showPlayerLean “0”

// sound
seta s_alCapture "1"
seta s_alDevice "DirectSound Software"
seta s_alDriver "OpenAL32.dll"
seta s_alDopplerSpeed "2200"
seta s_alDopplerFactor "1.0"
seta s_alSources "96"
seta s_alGain "1.0"
seta s_alPrecache "1"
seta s_useOpenAL "1"
seta s_muteWhenMinimized "0"
seta s_compression "0"
seta s_ambient "0"
seta s_announcer ""
seta s_mixSame "2"
seta s_timescale "1"
seta s_doppler "0"
seta s_dopplerFactor "1"
seta s_dopplerSpeed "4000"
seta s_loadas8bit "1"
seta s_rolloff "0"
seta s_distance "100.0"
seta s_min_distance "3.0"
seta s_max_distance "1000.0"
seta s_leafnum "0"
seta s_refgain "0.45"
seta s_refdelay "2.0"
seta s_polykeep "1000000000"
seta s_polysize "10000000"
seta s_polyreflectsize "10000000"
seta s_numpolys "400"
seta s_bloat "2.0"
seta s_occfactor "0.5"
seta s_occ_eq "0.75"
seta s_mixahead "0.120"
seta s_mixPreStep "0.06"
seta s_khz "22"
seta s_separation "0.5"
seta s_musicvolume "0"
seta s_volume “1”

// screen
seta cg_drawfps “1” // shows your fps
seta com_blood "0"
seta com_introplayed “0” // off intro, faster startup
seta r_texturebits "32"
seta r_noportals "1"
seta r_ext_max_anisotropy "32"
seta r_ext_multisample "4"
seta r_customaspect "1"
seta r_swapinterval "0"
seta r_smp "0"
seta r_displayrefresh "144"
seta r_customheight “1440” //1024
seta r_customwidth “2560” //1600
seta r_mode "-1"
seta r_lodbias "0"
seta r_depthbits "24"
seta r_detailtextures "1"
seta r_dlightBacks "1"
seta r_railcorewidth "0"
seta r_drawSun "1"
seta r_dynamiclight "2"
seta r_texturemode "GL_LINEAR_MIPMAP_LINEAR"
seta r_ext_compiled_vertex_array "1"
seta r_ext_compressed_textures "0"
seta r_ext_gamma_control "1"
seta r_ext_multitexture "1"
seta r_ext_texture_env_add "1"
seta r_fastsky "0"
seta r_flares "1"
seta r_ignoreFastPath "1"
seta r_lodCurveError "250"
seta r_primitives "0"
seta r_roundImagesDown "0"
seta r_simpleMipMaps "0"
seta r_subdivisions "4"
seta r_stencilbits "32"
seta r_finish “1” // sync ev.frame
seta r_picmip “0” // textures
seta r_vertexlight "0"
seta r_mapOverbrightbits "3"
seta r_overbrightbits "1"
seta r_intensity “1”

// connection and stability
seta rate “25000” // depends on server and your connection
seta snaps “40” // depends on server
seta net_noipx “0” // off we do not need that
seta cl_maxpackets "125"
seta cl_nodelta “0” // can’t remember, but you dont need it
seta cl_packetdup “0” // ensure s twice that you will get packet
seta cl_punkbuster “1” // enable punkbuster for security reasons
seta cl_allowDownload “0” // forbid download
seta cl_aviFrameRate "30"
seta cl_timenudge "0"
seta com_zoneMegs "16"
seta com_soundMegs "16"
seta com_hunkmegs "256"
seta com_maxfps “125” // set average stable number of your fps

// mouse fix
seta in_dgamouse "1"
seta in_mouse "-1"
seta m_limit "0"
seta sensitivity "0.450"
seta in_subframe "1"
seta m_filter “0” //0-2, m_smooth 1
seta m_smooth “0” //0-2, most Game responsive 1, 2
seta m_yaw "0.030"
seta cg_crosshairsize "38"
seta cg_crosshairhealth "0"
seta cg_drawcrosshair “15”

// e+
seta xp_Crosshaircolor "3"
seta xp_onexit ""
seta xp_country "gg"
seta xp_ambient "0"
seta xp_nobobbing "3"
seta xp_drawweaponselect "0"
seta xp_drawconsole "0"
seta xp_delagWeapons "15"
seta xp_hud “hud3” // available huds from hud0 to hud7
seta xp_noChatBeep “1” // disable console chat beep
seta xp_screenshotDefault “$(rdate)$(time)$(map)”

seta xp_colors “17870” // rail1 head body legs rail2 (needs
seta xp_enemyColors "iiiii"
seta xp_enemyModel “tankjr” // force opponents to use one model
seta xp_enemySound "keel"
seta model "uriel/xp"
seta headmodel "uriel/xp"
seta team_model "uriel/xp"
seta team_headmodel “uriel/xp”

// other game releated
seta scr_conspeed “999” // console more speed ;D
seta ui_browserGameType "0"
seta ui_browserMaster "2"
seta ui_browserShowEmpty "1"
seta ui_browserShowFull "1"
seta console "1"
seta ui_browserSortKey “0”

1 Like

I’m getting 10-20 fps drop when shooting rockets , any cmd that might disable something on it ?

‘… best graphic settings’ is relative imo. For some people any setting that will give as much FPS as possible will be the ‘best’ setting, others prefer the most ‘beautiful’ renderer settings.

Dependig on your hardware the new OpenGL2 renderer is ‘faster’ by default (less CPU consumption). On the other hand if you don’t use the features provided by the new renderer (normal mapping, cascaded shadows etc.) you won’t notice much difference.

Please note, that ioquake3 still suffers from some ‘FPS slowdowns’ that were there since Q3A (e.g.: impact marks will decrease your FPS very drastically if you are very close to them. For example, move as close as possible to a wall, than fire continuously, it’s very likely you’ll end up with 10 FPS or something, especially with the LG…).
So, blood drops, explosion decals etc. CAN still decrease your FPS alot, you can turn those things off, if you want. They can be turned off mainly by the cg_ cvars (e.g.: cg_marks, cg_brassTime, cg_noProjectileTrail, cg_gibs etc.)

As far as rendering cvars are concerned I personally prefer to check them one by one for your personal preference.
Some of them will drop FPS a lot e.g.: (r_ext_multisample and r_ext_max_anisotropy). Those cvars are related to rendering methods known as ‘Anti-aliasing’ and ‘Anisotropic filtering’ both of them will decrease FPS in any game, this is NOT ioquake3 specific.
Personally I choose the most beautiful rendering settings as possible, so I always turn them on to a value as high as possible, probably you will turn them off, to gain as much FPS as possible. As already said it heavily depends on your hardware and your preference.

Also don’t forget to consider the networking cvars, they will influence the ‘lag’ of your network gaming experience. Especially those settings will depend alot on your connection method and quality.

So all in all, I think there is a good reason why the cvars are set to a decent DEFAULT value.

Besides of that I recommend to clean up your cfg! cg_trueLightning doesn’t need to be: 1000000000000000000000000000000000000000000000000000000000000000000000000
Moreover, all the xp cvars are of no use in ioquake3. Though, this should not harm anything…

… just a few thoughts!

Could you share your most graphic demanding cfg.

I use that trueLightning cmd to make my lg effect disappear .

Here are my graphic settings:

seta r_marksOnTriangleMeshes "1"
seta r_mergeLeafSurfaces "1"
seta r_mergeMultidraws "1"
seta r_anaglyphMode "0"
seta r_railSegmentLength "32"
seta r_railCoreWidth "6"
seta r_railWidth "16"
seta r_facePlaneCull "1"
seta r_gamma "1"
seta r_swapInterval "1"
seta r_textureMode "GL_LINEAR_MIPMAP_LINEAR"
seta r_finish "1"
seta r_dlightBacks "1"
seta r_dynamiclight "1"
seta r_drawSun "1"
seta r_fastsky "0"
seta r_ignoreGLErrors "1"
seta r_stereoSeparation "64"
seta r_zproj "64"
seta r_flares "1"
seta r_lodbias "0"
seta r_lodCurveError "1250"
seta r_ignoreDstAlpha "1"
seta r_shadowCascadeZBias "0"
seta r_shadowCascadeZFar "4096"
seta r_shadowCascadeZNear "2"
seta r_shadowMapSize "4096"
seta r_shadowBlur "1"
seta r_shadowFilter "1"
seta r_sunShadows "1"
seta r_sunlightMode "2"
seta r_drawSunRays "1"
seta r_forceSun "1"
seta r_genNormalMaps "0"
seta r_imageUpsampleType "1"
seta r_imageUpsampleMaxSize "1024"
seta r_imageUpsample "0"
seta r_mergeLightmaps "1"
seta r_pshadowDist "128"
seta r_dlightMode "2"
seta r_glossType "1"
seta r_baseGloss "0.3"
seta r_baseParallax "0.05"
seta r_baseNormalY "1.0"
seta r_baseNormalX "1.0"
seta r_pbr "0"
seta r_cubemapSize "64"
seta r_cubeMapping "1"
seta r_parallaxMapping "1"
seta r_deluxeMapping "1"
seta r_specularMapping "1"
seta r_normalMapping "1"
seta r_ssao "0"
seta r_depthPrepass "1"
seta r_autoExposure "1"
seta r_toneMap "1"
seta r_postProcess "1"
seta r_floatLightmap "1"
seta r_hdr "1"
seta r_greyscale "0"
seta r_stereoEnabled "0"
seta r_subdivisions "2"
seta r_vertexLight "0"
seta r_simpleMipMaps "1"
seta r_customheight "1024"
seta r_customwidth "1600"
seta r_noborder "0"
seta r_fullscreen "1"
seta r_mode "-2"
seta r_ignorehwgamma "0"
seta r_overBrightBits "0"
seta r_ext_multisample "4"
seta r_depthbits "24"
seta r_stencilbits "8"
seta r_colorbits "32"
seta r_texturebits "32"
seta r_detailtextures "1"
seta r_roundImagesDown "1"
seta r_picmip "0"
seta r_ext_max_anisotropy "16"
seta r_ext_texture_filter_anisotropic "1"
seta r_ext_direct_state_access "1"
seta r_arb_vertex_array_object "1"
seta r_arb_seamless_cube_map "1"
seta r_ext_framebuffer_multisample "8"
seta r_ext_texture_float "1"
seta r_ext_framebuffer_object "1"
seta r_ext_multi_draw_arrays "1"
seta r_ext_draw_range_elements "1"
seta r_ext_texture_env_add "1"
seta r_ext_compiled_vertex_array "1"
seta r_ext_multitexture "1"
seta r_ext_compressed_textures "0"
seta r_allowExtensions "1"
seta r_basespecular “0.0001”


  1. This is what my hardware (GTX 770, i5) can handle to get a stable frame rate of 60 FPS, even with 63 bots added the frame rate is acceptable.
  2. Some of the r_ cvars from above don’t make sense if you play on stock Q3 maps, because those maps aren’t designed for the new renderer (parallax mapping etc.).
  3. Not related to rendering: I always set ©g_smoothClients to 1, this will make the movement of other players smooth (though I didn’t test if 0 still make the movement jerky any longer).
  4. To me r_swapinteval is one of the most important settings. When it’s off I really won’t hit anything because of awful screen tearing. Although I always play with only 60 FPS because of r_swapinterval turned on, the game really feels smooth and has a steady frame rate. The screen tearing is gone! Afaik, r_swapinterval seems to NOT work on Win10! So be careful if you want to use it and if you are on Win10.
  5. I think r_finish is obsolete (should also be V-Sync?). Maybe there are more dead r_ cvars.

I forgot to mention that external programs will/can also influence your frame rate (cheap virus scanners, OS specific background services, etc.).

I see no difference with r_finish 1, g_smoothclients is server sided correct ? .

Currently using your r_ cmds , so far my old bug still remains , more noticeable on q3dm8 ? for some reason … Fps are solid 125 but as soon as players get around my aim sight boom fps drop instantly , depending on the map area they drop 10+ sometimes gets to 80 fps ( solid 125 on q3 ) .
Yet on maps like xpac_bt ( io 100-125 / q3 40-125 ) and lun3dm5 ( io solid 125 / q3 50-125 )

…hmm, iirc by 'players get around my aim ’ I assume you mean bots. Bots are entirely computed on your CPU, probably something is wrong there. Afaik, multi-threading is a hard to do with idtech3, though I’m no expert about this smp/CPU thing.
On Windows, check your task-manger->performance? How many cores working (while playing)? Though, as already said, your problem seems really weird, I really don’t know…
On the other hand, solid 125 FPS on lun3dm5 seems really very good!

I will double look tomorrow , but as I remember it is for both bots and regular players that I get the fps drop

Ok so it seems rocket / plasma , weapons that flare light drop my fps in general , but more in dm8 , gauntlet in dm8 drops it when it doesn’t on other maps .
r_cubemapping 1 drops fps by 20-30 depending on the map , so I left it a 0 .

is there a cmd that’s making the weapon fps drop ? grenade / bfg also causing fps drop .

  • r_flares 0 and r_shadowblur 0 helps when I’m alone but not in multiplayer.