A modern Team Fortress 2 performance and customization config
Latest commit fcb6bc5 Aug 1, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
config 6.10.0 Aug 1, 2018
dev Actually fix all names Jul 14, 2018
docs Fix launch options May 29, 2018
.gitattributes 6.7.0 Apr 27, 2018
.gitignore 6.9.0 Jul 14, 2018
LICENSE.md Clean up repository and update docs Jan 31, 2018


Join the Discord chat Join the Steam Group Follow the tf.tv thread

Quick Links


This config is by default for modern PCs and aims to disable heavily unoptimized features and adjust other settings where it does not affect behavior or visuals noticeably. However, the config is documented extensively and also has presets so that you may adjust settings to your needs/preferences.

You may find that this config makes TF2 a lot smoother, eliminates stuttering, reduces load times and increases FPS. This is because this config is heavily tuned and the commands and values are based on TF2's source code, rather than just experiments, guesswork and trying to understand the vague/non-existent documentation.

The config is constantly updated with tweaks, new features and documentation improvements — iterated upon based on user feedback and benchmarks. So if you think there's an unoptimal value, or if it's just as simple as a comment being confusing to you, report the problem and you'll most likely see a fix in a future update.


1. Clean your TF2 install

To make sure there are no user settings that conflict with the config, you will have to clean up your TF2 install.

2. Download and install your preset and addons

Download the VPK files of your choice from the and then drag them directly to your tf/custom folder. Do not put the VPKs in a folder inside your custom folder, put them in the custom folder itself. You don't have to rename anything either, just drag the files as is into custom. Do not download the source code, and do not download from the Clone or Download button. Only download the VPK files from the official site.

The VPK includes everything needed for the config to run, so you don't need to have an autoexec or run it using anything. If you already have an autoexec, you'll definitely want to read step 4 for more information on how to migrate to mastercomfig. Don't edit the VPK either, step 4 has customization instructions.

To get to tf/custom, right click Team Fortress 2 in your Steam library, click Properties, go to the Local Files tab, and then click the Browse Local Files... button. Then in the files app that appears, open the tf folder and then open the custom folder.

3. Set Launch Options

Right click Team Fortress 2 in your Steam library, click Properties and click the Set Launch Options... button. In the window that appears, remove anything that's in there and paste -novid -nojoy -nosteamcontroller -softparticlesdefaultoff -reuse into the box and click ok.

You will also want to read about optional launch options and choosing a DirectX version here.

4. Custom configs

You can't use an autoexec.cfg with mastercomfig. Instead, you will have to use custom.cfg.

So, if you already have an autoexec.cfg, just rename it to custom.cfg. Make sure you don't have a pre-existing full blown config like Comanglia's or Chris' config or some network config in your autoexec.cfg, as that will conflict with mastercomfig.

If you don't have an autoexec.cfg, you can create a custom.cfg in your tf/cfg folder to override any settings in the config.

If you have any class configs, you will have to rename them to add a _c. (scout_c.cfg, soldier_c.cfg, pyro_c.cfg, demoman_c.cfg, heavyweapons_c.cfg, engineer_c.cfg, medic_c.cfg, sniper_c.cfg and spy_c.cfg). You can change the name of your custom class configs using the class_config_classname alias. For example, you can put alias class_config_heavyweapons "exec myheavy" in custom.cfg if you want to use a file named myheavy.cfg for Heavy.

If there's something you'd like to run for all of your class configs, you can add it to game_overrides_c.cfg. You can change the name of your custom game overrides config using the game_overrides_c alias. For example, you can put alias game_overrides_c "exec mygameoverrides" in custom.cfg if you want to use a file named mygameoverrides.cfg.

If you have a listenserver.cfg, you will have to rename it to listenserver_c.cfg. You can change the name of your custom listen server config using the listenserver_c alias. For example, you can put alias listenserver_c "exec mylistenserver" in custom.cfg if you want to use a file named mylistenserver.cfg.

You can also get creative and use the aforementioned aliases to change your class config on the fly using binds or the console. For example, you could have different class configs for Scout in competitive and casual and then change your class_config_scout alias to run your preferred class config when you want.

To easily customize settings, you can use modules.

To do finer customization through individual console variables and commands, you can look through the config file on GitHub and add your preferences to your custom.cfg.

It is also recommended to determine your optimal upload rate settings with this tool.

To get an idea of how to use custom configs, see what other people in the community have done.

5. Fixing Issues

Having issues? Check out some troubleshooting instructions.

6. Operating system optimizations

Although not strictly TF2 related, you can improve your performance at the OS level: Windows, Linux


When a new release comes out, check out the latest release and then download the latest files and drag them into your tf/custom folder, replacing the old files.

This config gets updates frequently, so to get the latest improvements, make sure you check here for new releases frequently, or you can get notifications about updates on the Discord, Steam Group or teamfortress.tv thread.

Clean up

NOTE: This will reset ALL settings. Make sure you back up your binds and other custom settings before you do this.

If you have already have a config, or want to remove mastercomfig, delete any configs you may have in tf/custom and delete the tf/cfg folder. Then verify your game files using Steam.

Next, if you have Steam Cloud Synchronization enabled, make all the files in STEAM_FOLDER/userdata/USER_ID/440/remote/cfg blank. Do not delete them, or else Steam Cloud will redownload them. Alternatively, you can disable Steam Cloud.

Finally, launch TF2 with only the -novid -default -autoconfig +host_writeconfig +mat_savechanges +quit launch options. The game will launch and exit. Afterwards, remove these launch options.


  • Customization
    • Extensive commenting for different options
    • Presets to easily fit your use case
    • Extra optional customization settings
    • Modular config system to allow for easy updating
  • Rendering
    • Threaded graphics
    • Optimizations for modern systems
    • Optimized LOD
    • Optimized lighting
    • Optimized shadows
    • Optimized particles
    • Optimized water
    • Optimized post processing effects
    • Optimized anti-aliasing and texture filtering
    • Optimized characters
    • Optimized decals
    • Optimized gibs
    • Optimized props
    • Optimized ropes
    • Optimized OpenGL
    • Optimized item panel loading
    • Removed extra cosmetic map models (UFOs, invasion posters, rockets)
  • Start up
    • Cleaned up texture preload list
    • Cleaned up client precache
    • Increased memory for OpenGL shader cache
  • Memory/IO
    • Persistent LZMA buffer
    • File system optimizations
    • Fully async IO
    • Optimized memory usage
  • Networking
    • Increased data rate and split rate
    • Reduced choke
    • Reuses sockets if available
    • Optimizes prediction and interp systems for better hitreg
    • Client view smoothing
    • Increased client timeout
    • Matchmaking improvements and fixes
    • Increased max file size for extra content
  • Sound
    • Asynchronous sound and mixing
    • Adjusted lip sync
    • Minimized sound delay
    • Improved sound performance
    • Enhanced sound quality and spatialization
  • Input
    • Optional same sensitivity for scope and other mouse enhancements


Wondering what a certain preset looks like on different maps and viewmodels? You can look at the screenshots on cfg.tf.


Having issues (like crashes or local servers not working where you can't move or shoot)? Check out some troubleshooting instructions.

See Also

Here are a few awesome TF2 modifications:


  • Chris for starting it all
  • Comanglia for continuing what Chris started and helping a bit with my config
  • Rhapsody for updating Chris' config
  • Felik for providing an alternative to Chris-based configs
  • Michael Moss for the Android Insomnia font used in the logo
  • The community for their continued support, advice and benchmarks. (Special Mentions to: amazoc, JackStanley, Setsul, Hopps, fagoatse, ZeRo5, stabby, Whisker, Vantavimeow, osvaldo, DarkNecrid, steph, Thole, gemm, sage, Malkraz, JarateKing, maximsmol, Fraklin and perhaps many others)
  • The Valve Developer community for their documentation of Source Engine console variables and mechanics
  • and to Valve, for making and updating the best class-based FPS to date with so much customizability on top


Valve, the Valve logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo are trademarks and/or registered trademarks of Valve Corporation. mastercomfig is not associated with nor endorsed by Valve Corporation.