Skip to content

Instantly share code, notes, and snippets.

@mastercoms
Last active October 27, 2016 06:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mastercoms/95d2bfc5ebddd50a62ec37db6033a327 to your computer and use it in GitHub Desktop.
Save mastercoms/95d2bfc5ebddd50a62ec37db6033a327 to your computer and use it in GitHub Desktop.
tf2cfg beta
// master comfig - 1.4.0 (October 14 2016)
// doesn't set things to their default values like in other fps configs
// so don't worry if an option is missing
// launch options: -high -novid -nojoy -noff -nohltv
// if you use a controller or joystick, remove -nojoy
// if you use haptic feedback, remove -noff
// if you use sourcetv, remove -nohltv
// if you update the config, add -autoconfig,
// launch tf2, and then remove it
// --- TESTING --- \\
// save console output to GAME_FOLDER/tf/console.log
//con_logfile console.log
// display developer output
//developer 4
// --- FILESYSTEM --- \\
// modern systems can read more files
filesystem_max_stdio_read 64
// buffer IO to reduce disk IO
filesystem_unbuffered_io 0
// --- NETWORKING --- \\
// for both of these commands, 66 is the default max rate, so you can't go higher
// since your fps is limited to 60, there is no point to receiving any more packets than that
// cmdrate is the maximum packets per second the client can send to the server
// so like you tell the server i moved forward or i shot my rocket launcher, crouched, and jumped
cl_cmdrate 60
// updaterate is the maximum packets per second the server can send to the client
// so like the server tells you this pyro is running towards you and
// is using his primary fire on her flame thrower
cl_updaterate 60
// interp is the delay between packets
// using interp ratio is more accurate than setting it manually,
// so set it to 0 to make this happen
cl_interp 0
// There's 106 packets per second
// And packets could be a max possible size of 1288 bytes
rate 136528
// still enable splitpackets
net_splitpacket_max rate 136528
// --- SHADOWS --- \\
// half the maximum amount of shadows (32)
r_shadowmaxrendered 16
// render shadows once, not twice
cl_blobbyshadows 1
// threaded shadow manager
// this actually doesn't do anything
// in the latest source engine base (2013)
// so it's likely that tf2 doesn't use it either,
// but either may use it in the future,
// if valve ever opts to use this
// value again
r_threaded_client_shadow_manager 1
// disable shadow depth texture
r_flashlightdepthtexture 0
// --- RAGDOLLS --- \\
// after the ragdoll becomes stationary,
// it doesn't really need to be touched again
// we all know that the funniest ragdoll physics
// happen when they are created and matter less after that
ragdoll_sleepaftertime 1.0f
// nobody cares about ragdolls when they've been rotting on the ground
// so make them fade out faster
cl_ragdoll_fade_time 5
g_ragdoll_fadespeed 200
// let's calm down with the physics a bit.
// scale the push force down to half.
phys_pushscale 0.5
// --- GRAPHICS --- \\
// these settings will optimize graphics
// without causing any noticeable downgrades
// do not limit fps in the engine. set this limit elsewhere, in gpu settings
fps_max 0
// you don't see like half the battlefield with this on 75
fov_desired 90
// without getting too in-depth,
// we're making it so we don't have to calculate
// what we can see or not every time for lighting
// but it's less accurate, so lower quality
r_lightcache_zbuffercache 1
// lines for hitscan bullets are traced and simulate motion
// honestly deceiving and also affects performance
r_drawtracers_firstperson 0
// makes tracers more visible,
// so it's some extra fluff
tracer_extra 0
// this disables flex anims when fps is lower than (1 / ai_expression_frametime)
// also does just a tiny bit more expensive check to find out if the animation is in the player's view,
// rather than just using PVS (potentially visible set)
ai_expression_optimization 1
ai_expression_frametime 0.022
// async model loading
mod_load_mesh_async 1
mod_load_anims_async 1
mod_load_vcollide_async 1
// 1 is a good balance between
// performance and stability
// you can try setting this to
// 2 and if you don't get crashes,
// then enjoy your increased perf!
mat_queue_mode 2
// parallel processing of bones
r_threaded_renderables 1
// better rendered and threaded particle effects
cl_new_impact_effects 1
// process leaf list in parallel
cl_threaded_client_leaf_system 1
// draw entities first, then props
r_drawopaquestaticpropslast 1
// when the thread pool is not available,
// use this many cores for particles
// change this if you don't have this many cores
particle_sim_alt_cores 4
// batch decals and thread them
r_queued_decals 1
// cull decals under this size in pixels
r_decal_cullsize 16
// optimization to fog volume leaf
fast_fogvolume 1
// uses fast z reject on hardware that supports it
r_fastzreject -1
// this was last known to only be used on the Xbox 360
// but Valve may have decided that the extra batches are worth
// doing on the PC
// it doesn't hurt setting this to on, since it will be ignored
// if it is not used
// also, this setting only works if r_fastzreject is on
// basically just does the same fast z reject, but on displacements as well
r_fastzrejectdisp 1
// distance at which detail props stop being shown
cl_detaildist 1000
// props will fade through this distance
// 1000 means they will fade whenever they are visible, since detail dist is 1000
cl_detailfade 1000
// lower physics props limit to a meaningful one for tf2
cl_phys_props_max 10
// disable jigglebones at 46fps instead of 20fps
cl_jiggle_bone_framerate_cutoff 46
// increase frame tolerance for skipping fast temp ent collisions (syringes)
cl_fasttempentcollision 15
// skips an extra step to get textures cached
// may result in stutter, but increases fps
// if you have stutter, enable it (set to 1)
mat_forcemanagedtextureintohardware 0
// don't do software AA
mat_software_aa_strength 0
// make it so things like gibs,
// breakable props can only
// break in to 7 pieces
func_break_max_pieces 7
// don't scale the break limit down
// because it's already reduced
func_break_reduction_factor 1
// a low value that makes sense for tf2
r_decals 144
// reduced the amount of model decals
// to a number that makes sense for tf2
r_maxmodeldecal 33
// reduce the amount of dynamic lights
// in accordance with our shadow number
r_maxdlights 16
// --- GRAPHICAL DOWNGRADES -- \\
// uncomment if you want to boost your fps
// with some options that downgrade the fps
// normally, this isn't required, as most of
// the time, tf2 is cpu bound, but
// on weaker gpus, higher quality graphics
// may be causing low fps
// options labeled as recommended won't be too noticeable
// options labeled as boost are noticeable but are very powerful
// settings to boost your fps, if you are graphics bound
// disables phong shading to allow
// for the simpler flat shading (boost)
//mat_phong 0
// limits texture memory
mat_texture_limit 256000
// the 3d player model in the hud (recommended)
// you even get a message in game asking you to disable this
//cl_hud_playerclass_use_playermodel 0
// disable water splashes
//cl_show_splashes 0
// disable props (recommended)
//cl_phys_props_enable 0
// remove muzzle flashes (recommended)
//muzzleflash_light 0
// remove sprays
//cl_playerspraydisable 0
// disable html motds (recommended)
// which are used for fancy welcome messages,
// ads, and source music player
//cl_disablehtmlmotd 1
// disable weather (recommended)
//tf_particles_disable_weather 1
// make lod fade start distance 0 and lod fade end distance 5000 (boost)
// it makes objects fade at the shortest possible distance to be set
// you can also set this to -5001 to make lod start fading at 4600
//lod_TransitionDist -5000
// disable bullet shells from pistol and minigun (recommended)
//cl_ejectbrass 0
// disable flecks from bullet impacts (recommended)
//r_drawflecks 0
// disable error messages for missing noflecks impact particle
//con_filter_enable 1
//con_filter_text_out particle
// don't draw decals like blood (recommended)
// on players or other models
//r_drawmodeldecals 0
// disable diffuse lighting
//mat_diffuse 0
// use software lighting.
// only uncomment this if your CPU
// is stronger than your GPU
// at lighting
// (very unlikely)
//mat_softwarelighting 1
// disable dynamic lighting
//r_dynamic 0
// don't smooth lightmaps
// makes lighting blocky
//mat_filterlightmaps 0
// don't smooth textures
// makes textures blocky
//mat_filtertextures 0
// draw textures flat, instead
// of also adding the 3d effect
// that comes from bumpmaps
//mat_bumpmap 0
// disable parallax mapping
//mat_parallaxmap 0
// disable water reflections
// makes water look weird
//r_WaterDrawReflection 0
// disable water refractions
// makes water look weird
//r_WaterDrawRefraction 0
// distance at which to stop rendering water very well
//r_cheapwaterend 1
// --- OpenGL --- \\
// some tweaks for platforms that use ToGL,
// currently Linux and Mac
// batch texture creation (OpenGL only)
gl_batch_tex_creates 1
// batch texture unloading (OpenGL only)
gl_batch_tex_destroys 1
// --- SOUND -- \\
// disable sound processing
// this can allow for external
// processing, like HRTF
// generally, this will produce "better" sound
dsp_slow_cpu 1
snd_spatialize_roundrobin 1
dsp_enhance_stereo 0
snd_pitchquality 1
// make the sound system get along with threading
snd_async_fullyasync 1
// completely run sound system on separate thread
snd_async_minsize 0
// don't set tracing state to be clear before spatializing sound
snd_defer_trace 0
// delay sound for 20ms extra, which is reflective of our expected frame rate
snd_delay_sound_shift 0.02
snd_cull_duplicates 1
// --- INPUT --- \\
// scale sensitivity down to be manageable at higher fov
zoom_sensitivity_ratio 0.75
// probably does nothing in tf2, but it's the rate at which
// the camera returns to its ideal rotation, usually at
// an elevation or after knockback that moves the cursor
// which is mostly used in cstrike for the recoil
cl_idealpitchscale 1.3
// --- MISC --- \\
// upload files to the bug reporter asynchronously
bugreporter_uploadasync 1
// --- FINALIZE --- \\
// branding and to make sure the config is actually loading
echo "master comfig v1.4.0 loaded."
// some commands are run by default by tf2
// and they require sv_cheats to be on
sv_cheats 1
// run extra.cfg, so you can put binds and stuff
//exec extra
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment