Team Fortress 2

Team Fortress 2

130 ratings
TF2 - FPS Configs & Scripting
By louda
This Guide is about:
a) Using a Fps config and optimize it for your PC/Connection
b) Using a Competitive Config and scripts, e.g. Crosshair
c) Class unique Binds and Scripts
d) Useful links and Information + my personal config
   
Award
Favorite
Favorited
Unfavorite
Intro
Hi,
first of all many of you might know or have/had issues such as fps drops or bad hit registration
This Guide will help you solve them. It also helps you install a FPS Config, Competitive Config and will show you very useful binds for each class.

Enjoy.
A) Fps Config
An awesome guy called Chris created five different fps configs for your Team Fortress 2
- Dx9frames
- Highframes
- Maxframes
- Highquality
- Maxquality
which can be downloaded on his website: http://www.fakkelbrigade.eu/chris/configs/

There's also an introduction on how to install it. So far so good. I saw lots of people out there just copy paste it and have some issues then or dont achieve any difference because they did something wrong.
I'll show you step by step how to make it work.

1. Visit http://www.fakkelbrigade.eu/chris/configs/
2. Choose a config based on your preference
3. Open Editor/Notepad
4. Copy the whole config in it
Now you have to change different things on it.

1. Go to the section called Net Settings // Good Connection // Bad Connection
If you got a good ping (<80) on different server you should remove the "//" from the Good Connection to make it look like this:
Originally posted by Chris Tf2:
// Good connection
cl_cmdrate 66
cl_interp 0
cl_interp_ratio 1
cl_lagcompensation 1
cl_pred_optimize 2
cl_smooth 0
cl_smoothtime 0.01
cl_updaterate 66
rate 60000
If you're connection is bad you have to remove the "//" from Bad Connection

2. There's a section called Shadows. They can be helpful because you can see players hiding in corners or on weird spots. The only negative thing is that it can cause lower frame rates. I would recommend enabling shadows.

3. The next important stage is Graphical. Default config :"glow_outline_effect_enable 0 // Cart glow effect." The cart won't have a glow effect which is a disadvantage on almost every payload map. Let's take a look at pl_badwater one of the most popular maps. On the first stage the cart has to be pushed trough a tunnel. Your team wants to hold the upper area but when to jump down to the end of the tunnel if you don't know where the cart is? The Glow effect helps you time that jump. Set it to glow_outline_effect_enable 1. Hint: Glow effect isnt working in DirectX 8

4. Adding commands to your TF2 launch options. First of all open your Library, select TF2, right click on it, then open Properties/Settings and then launch options. Depending on the config u have chosen copy paste the suggested commands in it. Replace WIDTH and HEIGHT with your screen resolution. After doing that launch your game and quit it. Remove the -dxlevel XX from the launch options. If you got issues using mumbles (Talking person is just white you have to change the dxlevel to 81 or 90 or 95) Should fix it.

5. Save the whole file as autoexec.cfg (Important to save as .cfg) and put it into your TF2 CFG folder which is located in
Originally posted by Chris TF2:
%PROGRAMFILES%/Steam/steamapps/%common%/team fortress 2/tf/cfg.

Congratulations you succesfully installed a FPS Config
B) Competitive Config Pt. 1
A google project called tf2compconfiguration grants you access to an awesome config.
Their page http://code.google.com/p/tf2compconfiguration/ allows you to bring the best out of your game.
I recomment downloading the "latest" one called FlamesCFG.rar uploaded in Aug 2009. http://code.google.com/p/tf2compconfiguration/downloads/detail?name=FlamesCFG.rar&can=2&q=

1. Download the config
2. Back up your current config folder (!!)
3. Open Flames CFG.rar (or the one you downloaded. the versions below 2.9 cause hl2.exe to stop working due to the observer bug)
4. Copy paste all of it into your TF2 CFG folder
5. Replace the autoexec in the config folder with the one from your back up and open it.
5.1 Write the following on top of it: "exec competitive/competitive.cfg" (Remove the "").
6. Open the folder called Competetive

6.1 Open binds
6.1.1 You might replace the //helpers with
Originally posted by Blazor:
// helpers
bind "F6" "jpeg" // screenshots
bind "F8" "record asdf; stop" // for invisible people after an alt-tab
bind "TAB" "+score" // Scoreboard, Timeleft, Graph
bind "`" "toggleconsole" // Toggle Console
bind "shift" "+quickswitch" // Exchange Current Weapon
bind "h" "hud_reloadscheme" // reloads the hud
bind "alt" "dropitem" // Drops Intel
bind "F5" "kill"

//movement
bind w +mfwd
bind s +mback
bind a +mleft
bind d +mright

//Loadout
bind "F1" "load_itempreset 0"
bind "F2" "load_itempreset 1"
bind "F3" "load_itempreset 2"
bind "F4" "load_itempreset 3"

// Class Switch
bind KP_END "join_class scout"
bind KP_DOWNARROW "join_class soldier"
bind KP_PGDN "join_class pyro"
bind KP_LEFTARROW "join_class demoman"
bind KP_5 "join_class heavyweapons"
bind KP_RIGHTARROW "join_class engineer"
bind KP_HOME "join_class medic"
bind KP_UPARROW "join_class sniper"
bind KP_PGUP "join_class spy"

- Binds "alt" to drop the intel (to give it to scout or any other class)
- Binds "shift" to "quickswitch" which allows you to change the weapon you are holding to any other one in your loadout (Faster than opening the loadout and change it then)
- F8 fixes invisible player bug
- Adds Null-Movement which helps you to dodge
- Binds the keys on your Numpad to change your class. 1 for Scout, 2 for Soldier..
Best way to get forward/backward spawn.

6.2 Open competitive
6.2.1 Scroll down to "personal". If you're ingame mouse filter is turned off change m_filter "1" to m_filter "0"
6.2.2 Scroll down to //network. Change their values to the ones from your fps Config. (Good/Bad Connection)
6.2.3 Scroll down to "No touchy!"
6.2.3.1 If you don't like the 6 v 6 Scoreboard change cl_hud_minmode "1" to cl_hud_minmode "0"

6.3 Open Crosshairs
6.3.1 This is an easy one. You can change the crosshairs for each class and weapon slot
6.3.2 If you want a green medium sized circle for your Rocket Launcher (Soldier Primary) you have to write "alias soldier_primary_xhair "circle; green; medium"". You have to do that for every slot on every class. I recommend green, yellow or white colored crosshairs due to their good visibility. The crosshair are named as in the game
Originally posted by compconfig:
// crosshair types
alias "default_xhair" "exec competitive/reset_default_crosshair.cfg"
alias "plus_dot" "cl_crosshair_file crosshair1"
alias "tee_dot" "cl_crosshair_file crosshair2"
alias "circle" "cl_crosshair_file crosshair3"
alias "ex" "cl_crosshair_file crosshair4"
alias "dot" "cl_crosshair_file crosshair5"
alias "plus_no_dot" "cl_crosshair_file crosshair6"
alias "solid_plus" "cl_crosshair_file crosshair7"
B) Competitive Config Pt. 2
6.4 Open default_class
6.4.1 This is an optional add. If you want to use crouch jump on every class you have to add "bind "space" "+cjscout"". Recommended especially if you play 6s.

6.5 Open helpers
6.5.1 Add
Originally posted by crouchjump:
//Jump
alias +cjscout "+duck; +jump"
alias -cjscout "-jump; -duck"
bind space "+cjscout"

6.6.2 Add
Originally posted by Null-Movement:
//Movement
alias +mfwd "-back;+forward;alias checkfwd +forward"
alias +mback "-forward;+back;alias checkback +back"
alias +mleft "-moveright;+moveleft;alias checkleft +moveleft"
alias +mright "-moveleft;+moveright;alias checkright +moveright"
alias -mfwd "-forward;checkback;alias checkfwd none"
alias -mback "-back;checkfwd;alias checkback none"
alias -mleft "-moveleft;checkright;alias checkleft none"
alias -mright "-moveright;checkleft;alias checkright none"
alias checkfwd none
alias checkback none
alias checkleft none
alias checkright none
alias none ""

7. Edit class configs

7.1 Explaining the commands
- alias weapon_hide weapon_hide_on on for viewmodels, off for no viewmodels
- alias autoreload autoreload_on on for autoreload, off for no autoreload
- scout_primary_xhair tells your game which crosshair it has to show for your weapon
- viewmodel_fov XX changes the viewmodel fov (field of view) I recommend 80-110
- alias autoheal autoheal_on on for autoheal, off for no autoheal. Makes healing easy because u don't have to hold mouse1 (Don't recommend it)
- The Soldier and Scout will most likely not use "attack2". So i recommend
Originally posted by M2 swaps between Weapon1 and Weapon2:
alias +class_attack2 "swap; spec_prev" // personal preference, I like my right mouse to swap where appropriate
Just add it to your those 2 classes//replace the previous one.

7.2 Suicide
Originally posted by Blazor:
bind "X" "explode"
Change X to the key of your choice. I use F5

Congratulations you succesfully installed a Competitive Config
C) Class unique Binds and Scripts
8.1 Scout
8.1.1 Open Scout.cfg
//Sandman Script
alias "+sandman" "+attack2; "
alias "-sandman" "-attack2;weapon1"
bind "mouse4" "+sandman"
- By pressing mouse4 the Scout will throw the baseball. Afterwards it will automatically switch to your primary weapon.

8.2 Soldier
8.2.1 Open Soldier.cfg
//Rocket Jump Script
Originally posted by if you need it :
alias +rocketjump "+duck;+attack;+jump"
alias -rocketjump "-duck;-attack;-jump"
bind "mouse4" "+rocketjump"

8.3 Pyro
8.3.1 Pyro has no useful binds

8.4 Demoman
8.4.1 Open Demoman.cfg
//Sticky Jump Script
Originally posted by if you need it :
alias +stickyjump "+duck;+attack;+jump"
alias -stickyjump "-duck;-attack;-jump"
bind "mouse4" "+stickyjump"

8.5 Heavy
8.5.1 Open Heavyweaons.cfg
Originally posted by Information for Medic:
bind "mouse4" "say_team No Sandvich available"

8.6 Engineer
8.6.1 Open Engineer.cfg
//Combat Sentry Script
alias +fastbuildsentry "destroy 2 0;build 2 0"
alias -fastbuildsentry "-attack;weapon1;"
bind "MOUSE5" +fastbuildsentry
- Destroys your current Sentry and lets u build a new one by just pressing mouse1. Will switch to your primary afterwards.

//Sentryjump Script
alias "+crouchjump" "+attack2; +jump; +duck"
alias "-crouchjump" "-attack2; -jump"
alias "+fire" "lastinv; +attack2"
alias "-fire" "-attack2; -duck"
bind "mouse4" "+crouchjump; +fire"
- Allows you to perform a sentry jump and it also picks the sentry up.

8.7 Medic
8.7.1 Open Medic.cfg
// Help me
bind "E" "voicemenu 0 0; say_team Our Medic is hurt. Send help"

//Radar
alias "autocall_default" "hud_medicautocallersthreshold "75""
alias "autocall_all" "hud_medicautocallersthreshold "150""
alias "+radar" "autocall_all"
alias "-radar" "autocall_default"
bind mouse3 "+radar"
- Pressing mouse 3 will "show you the positions of your nearby teammates". Useful if you need support

//Team uber notification [/quote]
alias +class_attack2 "weapon2; +attack2; say_team **Uber/Kritz used**"
alias -class_attack2 "-attack2" [/quote]
- Will let your team know that you had to you charge

//Fake Ubercall
alias ubercall "voicemenu 1 7;say_team **Faking Uber**"
bind mouse4 ubercall
- Fakes Uber so your enemies think you have a full charge. Will also tell your team that you're just faking it.

//Team uber notification
bind mouse5 "voicemenu 1 7; say_team **Uber ready for deployment**"
- Tells your teammates that you have full ubercharge.

8.8 Sniper
8.8.1 Sniper has no useful binds

8.9 Spy
8.9.1 Open Spy.cfg
// Viewmodel toggle for turning them on if you activate your cloak
alias +viewy "+attack2; r_drawviewmodel 0; viewmodel_fov 0; spec_prev"
alias -viewy "-attack2; r_drawviewmodel 1; viewmodel_fov 90"
bind "mouse2" "+viewy"

// Fov Changer for using Ambassador
alias zoomin1 "fov_desired 54; alias t_zoomer zoomin2"
alias zoomin2 "fov_desired 90; alias t_zoomer zoomin1"
alias t_zoomer "zoomin1"
bind "mouse4" t_zoomer

// Random light (fast) class Disguise
alias "rdisguise" "ascout"
alias "ascout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise apyro"
alias "apyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise ademo"
alias "ademo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise aengy"
alias "aengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise amedic"
alias "amedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise asniper"
alias "asniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise aspy"
alias "aspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise bdemo"
alias "bdemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise bscout"
alias "bscout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise bengy"
alias "bengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise bspy"
alias "bspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise bpyro"
alias "bpyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise bmedic"
alias "bmedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise bsniper"
alias "bsniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise cspy"
alias "cspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise cmedic"
alias "cmedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise cpyro"
alias "cpyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise csniper"
alias "csniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise cscout"
alias "cscout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise cdemo"
alias "cdemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise cengy"
alias "cengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise dmedic"
alias "dmedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise ddemo"
alias "ddemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise dspy"
alias "dspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise dpyro"
alias "dpyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise dsniper"
alias "dsniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise dengy"
alias "dengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise dscout"
alias "dscout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise esniper"
alias "esniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise espy"
alias "espy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise escout"
alias "escout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise edemo"
alias "edemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise eengy"
alias "eengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise epyro"
alias "epyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise emedic"
alias "emedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise fpyro"
alias "fpyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise fengy"
alias "fengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise
fsniper"
alias "fsniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise fmedic"
alias "fmedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise fspy"
alias "fspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise fscout"
alias "fscout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise fdemo"
alias "fdemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise gengy"
alias "gengy" "play vo\engineer_yes03; disguise 8 -2; disguise 9 -1; alias rdisguise
gsniper"
alias "gsniper" "play vo\sniper_yes03; disguise 8 -2; disguise 2 -1; alias rdisguise gmedic"
alias "gmedic" "play vo\medic_yes03; disguise 8 -2; disguise 5 -1; alias rdisguise gscout"
alias "gscout" "play vo\scout_yes01; disguise 8 -2; disguise 1 -1; alias rdisguise gdemo"
alias "gdemo" "play vo\demoman_yes01; disguise 8 -2; disguise 4 -1; alias rdisguise gspy"
alias "gspy" "play vo\spy_yes02; disguise 8 -2; disguise 8 -1; alias rdisguise gpyro"
alias "gpyro" "play vo\pyro_moveup01; disguise 8 -2; disguise 7 -1; alias rdisguise ascout"
bind "mouse5" "rdisguise"
- Pressing mouse5 will randomly change your disguise

//Lastdisguise
bind "mouse3" lastdisguise
- Useful for disguising as your last chosen disguise or for easily changing displayed weapon, e.g. checking for Medics used Medigun.

D) Useful links and information
Last but not least an article about links and information.

1. Your gameplay will improve most if you watch other good players dealing with situations.
Originally posted by Blazor:
Scout:
http://en.twitch.tv/stevecgames - SteveC - Platinum
http://www.youtube.com/user/SteveCgames - SteveC - Platinum
http://www.youtube.com/user/TheSeanbud?feature=watch - The Seanbud - Platinum
http://en.twitch.tv/d0wnpour - downpour - Platinum

Soldier:
http://www.youtube.com/feed/UCrjMX7pdd62Q0BrTIGUfXGQ - Atomsk - Platinum
http://en.twitch.tv/thecoupeyo - thecoupe - Gold

Pyro:
http://en.twitch.tv/fathom_ - fathom - Platinum
http://en.twitch.tv/kenonartulii - TMP - Platinum
http://en.twitch.tv/hueylewistf2 - hueylewis - Platinum
http://www.youtube.com/user/psbain - hueylewis - Platinum

Demoman
http://en.twitch.tv/gavinc27/b/332002404 - b4nny
http://en.twitch.tv/duwatna - duwatna - Platinum

Heavy:
http://en.twitch.tv/polk808 - Polk - Gold
http://en.twitch.tv/awkwardsandvich - Aurora - Steel

Engi:
http://www.youtube.com/user/dcyli - Dave+ - Platinum
http://en.twitch.tv/sigafoo - sigafoo - Platinum
http://www.youtube.com/sigafoogaming - sigafoo - Platinum

Medic
http://en.twitch.tv/ugcmoose - Moose - Gold
http://www.youtube.com/user/extvmoose - Moose - Gold
http://www.youtube.com/user/shuyanqin - Shuyan Qin - Gold
http://www.youtube.com/user/unhealingmedic - KaiThePhaux - Gold

Sniper:
http://en.twitch.tv/maxrocksmysocks - Max! - Platinum
http://www.youtube.com/user/TheHempfling/videos?view=0&flow=grid - Max! - Platinum
http://en.twitch.tv/phazetf2 - Phaze - Platinum

Spy:
http://en.twitch.tv/stabbystabby - Stabby - Platinum
http://www.youtube.com/user/stabbyvideo - Stabby - Platinum
http://en.twitch.tv/frankwesttf2 - Frank West - Platinum

There are many other Players who Stream and Upload on Youtube but these are doing it continuous.

2. If you are bored watching POV's (Playercams) you can watch whole UGC and ESEA matches at
- http://www.youtube.com/user/fatmop - Sal - Shoutcasts
- http://www.youtube.com/user/commft - eXtv - Shoutcasts
- http://www.youtube.com/user/VanillaTVorg - VanillaTV - Shoutcasts

3. If you need information about maps and strategies check out http://www.youtube.com/feed/UC-tdA9MsGuWRI5RtM2zYA2w where Moose and Hein explain them.

4. Useful links:
- http://teamfortress.tv/
- http://www.ugcleague.com/
- http://news.esea.net/tf2/index.php
- http://wiki.teamfortress.com/wiki/Main_Page
- http://tf2jump.com/
- https://docs.google.com/spreadsheet/ccc?key=0AoXEN9ZAogzVdG9lODVQaHFSVEl6ZS1XN091a0lMR2c#gid=0 - Different Sensitivities used by Competitive Players.
- For more binds/scripts check http://gamebanana.com/scripts/games/297 , http://forums.steampowered.com/forums/showthread.php?t=709568 and http://warriornation.net/Forum/showthread.php?t=568008

4.1 If you want to get into competitive TF2 here's a Guidy by Moos: http://steamcommunity.com/sharedfiles/filedetails/?id=117867854#5123

5. HUD
5.1 Your Hud (Heads up Display) is an important part of optimizing your gameplay (at least for me). There are lots of different out there. I recommend the following ones:
- - Rayshud[teamfortress.tv]
- - TF2Hud+[teamfortress.tv]
- - Hudas Iscariote[hudas.kinevonetwork.com]
- - PVHud[ozfortress.com]

6. Custom Crosshairs
6.1 Custom Crosshairs can be used easily while using a competitive config. For more infos about them check the links below.
- http://teamfortress.tv/thread/12383/real-custom-crosshairs-from-ozfortress
- http://ozfortress.com/showthread.php?t=58545

My personal config[www58.zippyshare.com]

I hope you enjoyed reading and everything worked out the way you like it:)

Cheers,
Blazor
51 Comments
BlamingBuddhaTV Jul 21, 2023 @ 4:51pm 
I just want to hold to ADS on Sniper, is there *ANY* easy way to do this? I cant believe its not an option.
♥ Shroomy ♥ Mar 5, 2016 @ 3:52pm 
What about for getting rid of blood and gibbed players and dead bodies? (I already got the dead bodies part but other people might like to see it in the guide)
louda  [author] Feb 1, 2016 @ 10:56am 
bind "x" "say_team I'm dead"
Kai Feb 1, 2016 @ 10:37am 
anybody know if there is a command to check if you are alive, for exemple if I want to say in the chat "I'm down" every time I die.
skyler Nov 2, 2014 @ 12:20pm 
why isen't broeselhud on there?
(NAKAY) I SUX™ Oct 19, 2014 @ 4:30pm 
as a hud i recommend e.v.e
louda  [author] Aug 27, 2014 @ 12:50pm 
maxframes
hvhboiz Aug 27, 2014 @ 11:45am 
For highest FPS is Dx9frames CFG ?
wave of darkness Aug 12, 2014 @ 12:28am 
can you make a config just for comp?
or make a config that will only work when the server have mp_tournament 1?
louda  [author] Aug 10, 2014 @ 2:49am 
you can use it everywhere