Team Fortress 2

From PCGamingWiki, the wiki about fixing PC games
Dev general icon.svg
Although this product has been released, it remains under active development - information may change frequently and could be outdated or irrelevant.
Team Fortress 2
Team Fortress 2 cover
Valve Corporation
PASS Time Escalation Studios[1]
Release dates
Windows October 9, 2007
macOS (OS X) June 10, 2010
Linux November 6, 2012
Metacritic 92
Monetization Free-to-play
Microtransactions Cosmetic, Loot box, Player trading, Unlock
Modes Multiplayer
Pacing Real-time
Perspectives First-person
Controls Direct control
Genres Action, FPS
Art styles Stylized
Themes North America, Sci-fi
Series Team Fortress
Team Fortress 2 on HowLongToBeat
Team Fortress 2 on IGDB
Team Fortress 2 guide on StrategyWiki
Team Fortress 2 on MobyGames
Team Fortress 2 on Wikipedia
Team Fortress
Team Fortress (mod) 1996
Team Fortress Classic 1999
Fortress Forever (unofficial mod) 2007
Team Fortress 2 2007


This game requires a constant internet connection for all game modes.
The macOS (OS X) version of this game does not work on macOS Catalina (version 10.15) or later due to the removal of support for 32-bit-only apps.

General information

Official wiki - Run by the TF2 community and hosted by Valve
GitHub Issue Tracker includes other Source-based games
Steam Community Discussions
Steam Workshop


Source DRM Notes Keys OS
Icon overlay.png
Always online (requires a constant internet connection to play)
Gives access to Premium account features[2]
macOS (OS X)
Icon overlay.png
Always online (requires a constant internet connection to play)
Free to play, Install with steam://install/440
Also available to purchase in the Orange Box bundle, which gives access to Premium account features.
macOS (OS X)
All versions require Steam DRM and a constant internet connection for all game modes.
A faithful higher resolution icon for Windows can be found on DeviantArt.

DLC and expansion packs

Essential improvements[edit]

Skip intro videos[edit]

Use the -novid command line argument[3]
  1. Or alternatively, go to <path-to-game>\hl2\media
  2. Delete or rename Valve.bik.

Increase performance[edit]

TF2's default settings are generally not optimized for most users. Therefore, it is generally recommended to use a performance config, such as mastercomfig.
Install mastercomfig[citation needed]
  1. Download the latest config from mastercomfig's website.
  2. Choose a preset that suits your needs along with any addons that are relevant to you and download the necessary VPK files. If you are not sure which preset to choose, "Medium" is a good one to start with.
  3. WARNING! This will reset ALL of your settings, keybinds, etc. back to defaults. Back up or take note of any settings you want to carry over. Follow these instructions to clear your current TF2 settings before installing the config to reduce the likelihood of issues.
  4. Place the VPK files you downloaded in your /tf/custom/ folder under your TF2 game directory (see below for location of base directory).
  5. Follow these directions to add the necessary launch options to your game. Don't forget to remove your DXLevel launch option after the first launch of the game!
  6. Boot up the game and test the performance/visual fidelity. If you run into errors, check the troubleshooting section.
  7. If there are a few settings that maxcomfig set that you would like changed without changing presets, you can use modules to change individual settings.
If you require further help with mastercomfig, consult the relevant documentation for assistance.

Game data[edit]

Configuration file(s) location[edit]

System Location
Steam <path-to-game>/tf/cfg/
Steam Cloud settings are stored in <Steam-folder>/userdata/<user-id>/440/remote/
Demo files are stored in <path-to-game>/tf/
It's unknown whether this game follows the XDG Base Directory Specification on Linux. Please fill in this information.

Save game cloud syncing[edit]

System Native Notes
Steam Cloud
Approx. 1 GB available.
Settings, in-game sprays and Steam Workshop submissions.


In-game general video settings.
In-game general video settings.
In-game advanced video settings.
In-game advanced video settings.

Graphics feature State WSGF Notes
Widescreen resolution
Minor graphical issues on the menu screens.
4K Ultra HD
Interface scales with resolution and can become unusable.
Field of view (FOV)
See Field of view (FOV).
Borderless fullscreen windowed
Use the -window -noborder command line arguments
Anisotropic filtering (AF)
16x AF
Anti-aliasing (AA)
Up to 8xMSAA.
Vertical sync (Vsync)
60 FPS and 120+ FPS
300 FPS cap by default. With console, can change "fps_max" up to 1000; use 0 for uncapped framerate.
High dynamic range display (HDR)
In-game HDR option refers only to HDR Rendering for rendering Bloom and sun shine type effects.
Color blind mode
Under "Advanced HUD Options". Only changes some minor effects like Jarate and Mad Milk.[4]

Field of view (FOV)[edit]

A FOV slider is available within the options which is limited to 75-90°, but this sets the FOV for a 4:3 aspect ratio. The actual FOV will be adjusted for other aspect ratios, meaning widescreens gain a higher than configured FOV, especially for 21x9 and 32x9 aspect ratios. For a 16:9 aspect ratio, a setting of 90° results in a FOV slightly above 106. Adjusting the size of the window in windowed mode changes your aspect ratio. Console commands can change the FOV to values below & above the slider's range, but are not allowed in competitive. The viewmodel FOV can also be changed by the use of console commands.
The TF2 Tactics video on FOV has more information about FOV in TF2 and in general.
fov_desired #[citation needed]
  1. Open the console using '~'.
  2. Enter fov_desired #, where # is your desired FOV.
viewmodel_fov[citation needed]
  1. Open the console using '~'.
  2. Enter viewmodel_fov #, where # is your desired FOV.
High fov trick on 16x9 monitors with 21x9 resolutions[citation needed]
It is possible to achieve a Actual HFOV:121.34 degrees with a 21x9 aspect ratio resolutions on 16x9, 16x10, 4x3, 5x4 monitors. By creating a custom resolution in CustomResolutionUtility. Note: TF2 doesn't respect custom resolutions, created in NVIDIA control panel. They must only be forced by putting a 21x9 resolution above the standard ones in CRU and switching to a 21x9 resolution before launching TF2.
Plugins[citation needed]
It is possible to increase the FOV limit up to 130 or even unplayable 179, using server-side plugins such as this one. However it is important to note that, while allowed by the ETF2L, and while client-side plugins are not classified as a cheats they are not officially supported by Valve. Some cheats include fov increase hacks, so use at your own risk.


In-game key map settings.
In-game key map settings.
In-game mouse/gamepad settings.
In-game mouse/gamepad settings.

Keyboard and mouse State Notes
Mouse acceleration
Mouse sensitivity
Mouse input in menus
Mouse Y-axis inversion
Controller support
See Controller support for information on enabling the Xbox 360 HUD, which causes the game to show Xbox 360 button icons.
Full controller support
Some menus are unusable with a controller.
Controller remapping
See the glossary page for potential workarounds.
Controller sensitivity
Controller Y-axis inversion
Controller types
XInput-compatible controllers
DualShock 4 controllers
Officially supported via Steam Input
DualShock button prompts
Light bar support
Connection modes unknown
Tracked motion controllers
Supports Razer Hydra Sixense API. Exit the Hydra tray application and use the launch options +sixense_enabled 1[5]
Button/gesture prompts
Generic/other controllers
Additional information
Button prompts
Controller hotplugging
Haptic feedback
Simultaneous controller+KB/M
Steam Input
Steam Input API support
Official controller preset(s)
Steam Controller button prompts

Controller support[edit]

See also: Xbox 360 controls on the Official Team Fortress Wiki.
Enabling Xbox 360 HUD[citation needed]
  1. Open the console (~).
  2. Input exec 360controller.


To reverse the change, input exec undo360controller.


In-game audio settings.
In-game audio settings.

Audio feature State Notes
Separate volume controls
Over-all game volume and separate music slider.
Surround sound
7.1, 5.1 surround sound, 4 speaker surround. Linux version lacks the surround support as SDL itself was chosen to handle the audio without the additional API such as SDL_mixer or OpenAL.
Closed captions
Mute on focus lost
"Silence the audio while the game window is in the background" check box
EAX support
Linux only. Open alsoft-config (included with OpenAL package) and in HRTF tab set HRTF Mode to Forced On. It'll work only if you have a 32-bit package of OpenAL.


Language UI Audio Sub Notes
Brazilian Portuguese
Simplified Chinese
Traditional Chinese


In-game general multiplayer settings.
In-game general multiplayer settings.
In-game advanced options/multiplayer settings.
In-game advanced options/multiplayer settings.
For more information, see the "Source Dedicated Server" section of our Source engine article.

Multiplayer types

Type Native Players Notes
Local play
Co-op, Versus
Use Nucleus-Coop Unofficial mod.
LAN play
32 Co-op, Versus
Online play
32 Co-op, Versus

Connection types


Protocol Port(s) and/or port range(s)
TCP 27014-27050
UDP 3478-4380, 27000-27030
Universal Plug and Play (UPnP) support status is unknown.

VR support[edit]

3D modes Native GG3D Notes
Nvidia 3D Vision
TriDef 3D
Headsets Native Notes
HTC Vive
This game might be playable with the Revive Compatibility Layer (compatibility list).
Oculus Rift
Available under Video Settings. See Oculus Rift for more information.
Windows Mixed Reality
This game might be playable with the Revive Compatibility Layer (compatibility list).
Devices Native Notes
Tracked motion controllers
Supports Razer Hydra Sixense API. Exit the Hydra tray application and use the launch options +sixense_enabled 1[5]
See Input for details.
Traditional controller
See Input for details.
Play area Native Notes

Oculus Rift[edit]

By default VR mode will run full screen, to switch back to a borderless windowed set the vr_force_windowed convar.
Toggle world view models[citation needed]
  1. Open the console (~).
  2. Enter cl_first_person_uses_world_model 1 to enable or cl_first_person_uses_world_model 0 to disable.

Issues fixed[edit]

Generic fixes for issues[edit]

Console Commands[citation needed]
  1. Reload the HUD: In console, hud_reloadscheme
  2. Resync the game state with the server (start/stop an in-game demo): In console, record s;stop
  3. Reload sound resources: In console, snd_restart
  4. Re-connect to a server: In console, retry
  5. Re-show missing/hidden viewmodel: In console, r_drawviewmodel 1
Restart the game[citation needed]
Verify Your Game Cache[citation needed]
  1. Find Team Fortress 2 in your Steam Library
  2. Right-click the game name
  3. Select Properties
  4. Go to the Local Files tab
  5. Select Verify Integrity of Game Cache...
  6. This may take a while, just wait for it to finish
  7. Once it's done press OK
  8. Launch the game
Delete your Team Fortress 2 registry settings[citation needed]
  1. Delete the entire content of HKEY_CURRENT_USER\Software\Valve\Source\tf\Settings
Reinstall Steam[citation needed]
Fully re-install Team Fortress 2[citation needed]

Sprays are not visible[edit]

Sprays are no longer available on official Valve servers and can be disabled per server by the server admins.
Multiplayer Decal Limit[citation needed]
  • Try raising Multiplayer Decal Limit.

Purple and black broken textures[edit]

A generic fix for this issue can be found on our Source engine page.

Game Crashes at Valve Logo on Startup[edit]

Game Crashes at Valve Logo on Startup[citation needed]

More than likely, you are having DirectX issues. Try the following:

  1. Reinstall the latest DirectX
  2. Find Team Fortress 2 in your Steam Library
  3. Right-click the game name
  4. Press Properties
  5. Select Set Launch Options...
  6. Input -dxlevel 80. 80, 81, 90, 95, and 98 are all valid options, corresponding to Shader Models. Lower is more compatible but 80 may cause more frequent crashes.
  7. Try setting -nod3d9ex. This will disable some DirectX 9 extensions used in Windows Vista/7.

Game crashes after closing MotD[edit]

Game crashes after closing MotD[citation needed]

Some servers use Pinion advertisement, a buggy plugin that sometimes crashes TF2.

  1. Update Flash/Java plugins.
  2. Disable HTML motd (in advanced options, under performance options)
  3. Install a Pinion blocker by editing the hosts file.
  4. Try adding the following lines to your autoexec.cfg or in the launch options
  • sv_motd_unload_on_dismissal "1" // The MOTD contents will be unloaded when the player closes the MOTD.
  • alias closed_htmlpage ""; echo BLOCKED an attempted html wait timer"
  • cl_disablehtmlmotd 1

Note that some servers require you to watch the MotD for a minimum amount of time (e.g. 30 seconds)

Cosmetic items do not appear on a player[edit]

Bug is caused by the dynamic-model-loading system implemented in Team Fortress 2.
Touch a resupply cabinet[citation needed]

Getting disconnected while playing on a LAN with multiple players[edit]

This is caused by multiple players trying to connect to a server using the same client port.
Use unique client ports[citation needed]
  • Each player needs a different client port, by adding this to the launch options: +clientport N, where N is a number between 27005 and 27032, but not 27015 or 27020.

Game cache files are stuck validating[edit]

Game cache files are stuck validating[citation needed]
  1. Close Steam and delete ClientRegistry.blob in the Steam folder:[6]
  • Windows: C:\Program Files (x86)\Steam\
  • OS X: ~/Library/Application Support/Steam/

Low FPS fix[edit]

Ubuntu (12.10 to 17.04) or any distro with Unity desktop[edit]
Fix low FPS on Ubuntu (12.10 to 17.04) or any distro with Unity desktop[citation needed]

Once the game has loaded and the FPS have dropped below playable:

  1. Press Esc. to return to the game menu.
  2. Go to Options -> Video
  3. Switch Display Mode from Fullscreen -> Windowed

From here on, the game should increase dramatically in performance.

  1. Optional: Switch back from Windowed -> Fullscreen
Linux with Cinnamon Desktop[edit]
Fix low FPS on Linux with Cinnamon Desktop[citation needed]

To increase performance:

  1. Press the Windows (Super) Key to open the mint menu
  2. Go to System Settings -> Display
  3. Enable "Skip Compositing Manager", then close the window.
  4. Launch the game
  5. Switch Display Mode from Windowed -> Fullscreen

Cinnamon, by default, skips the compositing rendering manager if an application runs fullscreen, which in turn, disables Vsync. Enabling the compositing manager turns ON Vsync and (depending on the system) slows the game down.

  1. Optional: Switch back from Windowed -> Fullscreen
Anti-Virus Exception[edit]
Add an anti-virus exception[7][8]

Anti-virus software can interfere with a file in TF2's folder, which gets updated constantly during gameplay.

  1. Open anti-virus program.
  2. Select settings > exceptions/exclusions.
  3. Add the following folders to the scan exceptions:
C:\Program Files (x86)\Steam\appcache\stats\
C:\Program Files (x86)\Steam\SteamApps\common\
C:\Program Files\Steam\appcache\stats\
C:\Program Files\Steam\SteamApps\common\

No Sound In Linux[edit]

No sound in Linux[citation needed]
  • Ensure that the PulseAudio is installed and it's daemon is enabled. If not, you can command the game to use ALSA instead by adding SDL_AUDIODRIVER=alsa to the Launch Options as a 1st thing to do.
  • If that does not work, specify AUDIODEV instead, use aplay -1 command to list available sound cards.

Loading Screen Freezes in Linux[edit]

Loading Screen Freezes in Linux[citation needed]
This happens mostly if you are on a non-english user in ArchLinux, but that may happen on other distros as well.
  1. Find and edit locale.gen file and remove the commentary (# symbol) from en_US.UTF-8
  2. Generate the locale with locale-gen command as root.

Textures load slowly on Linux[edit]

Textures load slowly on Linux[citation needed]
Happens only when you are using any configuration file responsible for improving the framerate such as Chris' FPS Config.

Set mat_picmip 2 to mat_picmip -1 in the configuration file.

Game does not start on ArchLinux[edit]

Game does not start on ArchLinux[citation needed]

Ensure that the lib32-libpng12 has been installed.

FL_LoadGlyph error in Linux[edit]

Caused by any user who inputs a Unicode symbol in chat
Make the game use Unicode supported font by default[citation needed]
  1. Open sourceschemes.res and change ConsoleText into Unifont
  2. Open chatschemes.res and change the fonts into a Unicode supported one such as Arial, Ubuntu etc.
  3. Remove/Purge the fonts-wqy-zenhei package
You must install Unicode supported fonts.
You have to perform this method in every update for the game.

Audio delay/distortion when using PipeWire[edit]

Change the value of snd_mixahead to 0.03 or higher[9]

Mouse sensitivity is doubled than what was set in Linux[edit]

Caused by the use of the very outdated SDL2 library included with the game
Go to the bin folder in main game's directory and remove this will enforce the game to use the one from your PC, if SDL2 library isn't available on your system, install it or use the Steam Linux Runtime container.[10]

Flickering Black Graphics on Linux[edit]

Caused by a Mesa driver bug
Fixing via console commands[citation needed]

Add these console commands to autoexec.cfg

  • mat_phong 1. This enables phong lighting, which is usually only disabled for graphical preference or for framerate improvement.
  • mat_bumpmap 1. This enables bumpmapping, which some may prefer disabled.
This fix affects visual quality
Fixing by rolling back Mesa driver[11]

Users can rollback to Mesa version 20.1.7 or earlier to avoid the issue as long as mat_bumpmap 1 is set.

Other information[edit]


Technical specs Supported Notes
Direct3D 9 8, 8.1 are supported, but not in competitive mode.
OpenGL 2.1 OS X and Linux only.
Shader Model support 2, 3
Executable 32-bit 64-bit Notes
macOS (OS X)
This 32-bit-only macOS game does not work on macOS Catalina (10.15) or later.


Middleware Notes
Physics Havok Heavily modified variant.
Audio Miles Sound System, OpenAL, SDL SDL and OpenAL are used in Linux.
Interface SDL
Cutscenes Bink Video
Multiplayer Steamworks

Total Conversions[edit]

Name System Description
TF2 Source 2013 Windows, Mac OS X, Linux Based on the February 2008 build of the game which does not contain any additional weapons, cosmetic items or even recent game modes, it is ported into Source 2013 engine which fixes a lot of security exploits. This is currently the most original form of the game. Requires Source SDK 2013 Multiplayer.
TF2 Classic Windows, Mac OS X, Linux Based on the February 2008 build, it is a community-maintained mod which brings in some features from TFC such as 4-team modes, VIP/escort etc. Right now it provides community-made balances and unique weapons, graphical improvements (such as dynamic lighting for some particle effects) and new features that are completely absent in the original game. The update cycle is slow, but brings in many new changes that keeps it very fresh. Requires Source SDK 2013 Multiplayer.
TF2 Vintage Windows, Mac OS X, Linux A fork of TF2 Classic. It aims to bring back the game to the pre-Mannconomy Update which happened in October 2010. Primarily focused on gameplay and quality updates. Requires Source SDK 2013 Multiplayer and Team Fortress 2.
Lambda Fortress: Extended Windows, Mac OS X, Linux Based on Team Fortress 2 Classic Beta 4. It is a community mod, which adds Half-Life: Source and Half-Life 2 campaign with co-op features. Requires Source SDK 2013 Multiplayer and Team Fortress 2. Discord server link:
Open Fortress Windows, Linux Based on the February 2008 build, it is a open-source mod, which adds lots of custom content such as new gamemodes and maps, Mercenary and Civilian classes. It is in development now, but can be downloaded using SVN (TortoiseSVN for Windows or various SVN clients for Linux). Requires Source SDK 2013 Multiplayer and Team Fortress 2.

Console commands[edit]

"List of useful console commands" - Official TF2 Wiki
Games running on the source engine can utilize Source Engine Console Commands for various tasks.
These commands can be saved into <path-to-game>\tf\cfg\autoexec.cfg to be executed when the game launches.
Enabling the console in Source games[citation needed]
  1. Launch the game
  2. From the main menu select Options
  3. Select the Keyboard tab
  4. Click the Advanced button
  5. Check the box next to Enable developer console (~)
  6. Click Apply


Press ~ to open the console.
Some commands may first require you enabling sv_cheats. You can do so with sv_cheats 1.
Many servers will not allow you to play with cheats enabled, or will disable them upon entering the server.
Users without a US keyboard could experience some problems.

Command line arguments[edit]

View this Steam Support Article regarding launch options as well as the relevant Valve Developer wiki page for further information and a list of useful Source engine launch options.
You can launch Team Fortress 2 with launch parameters - these parameters can dictate how certain aspects of the game behave.

System requirements[edit]

Windows version requires a CPU supporting SSE instructions.
Minimum Recommended
Operating system (OS) 7
Processor (CPU) Intel Dual Core 2.8 GHz
AMD Dual Core 2.8 GHz
System memory (RAM) 512 MB
Hard disk drive (HDD) 15 GB
Video card (GPU) Nvidia GeForce 8xxx series
ATI Radeon X1600
Intel HD Graphics 3000
DirectX 8.1 compatible
DirectX 9 is required for Competitive Mode.[12]
Windows XP and Vista were previously supported, but as future updates for this game and Steam occurred; the support was dropped, even with retail copies.
macOS (OS X)
Operating system (OS) 10.5.8
Processor (CPU) 1.7 GHz
System memory (RAM) 1 GB
Hard disk drive (HDD) 15 GB
Video card (GPU) Nvidia GeForce 8xxx series
ATI Radeon X1600
Intel HD Graphics 3000
Operating system (OS) Ubuntu 12.04
Processor (CPU) Intel Dual Core 2.8 GHz
AMD Dual Core 2.8 GHz
System memory (RAM) 1 GB
Hard disk drive (HDD) 15 GB
Video card (GPU) Nvidia GeForce 8600/9600 GT
ATI/AMD Radeon HD 2600/3600
OpenGL 2.1 compatible
Sound (audio device) OpenAL Compatible Sound Card
Other (Graphic Drivers: Nvidia 310, AMD 12.11)
OpenGL versions require the GL_EXT_draw_buffers2 extension.[13] A hacky workaround exists.