Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

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]
Valve Corporation
Russia (The Orange Box) Buka Entertainment
Original Source 2007
Current Source 2013 Multiplayer
Release dates
Windows October 9, 2007
macOS (OS X) June 10, 2010
Linux November 6, 2012
Metacritic 92
Monetization Free-to-play, Cross-game bonus
Microtransactions Cosmetic, Loot box, Player trading, Unlock
Modes Multiplayer
Pacing Real-time
Perspectives First-person
Controls Direct control
Genres Action, FPS, Shooter
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

Team Fortress 2 is a multiplayer first-person action, FPS and shooter game in the Team Fortress series.

The game was purchasable individually and as part of The Orange Box compilation as of October 9, 2007. It became free-to-play on June 23, 2011.[2] The Windows and Linux versions received a 64-bit executable for both clients and servers on April 19, 2024.[3]

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
Gives access to Premium account features[4]
Icon overlay.png
Free to play, Install with steam://install/440
Also available to purchase in The Orange Box bundle, which gives access to Premium account features.
All versions require Steam DRM.
On April 18, 2024 an update was pushed that removed binary files for macOS build, making it unplayable[5]. On June 12 Steam page for TF2 was updated, and macOS was removed from supported systems[6]. On June 14 Valve reversed the store page update[7] without fixing the binaries issue[8].


Type Notes
Cross-game bonus There are hundreds of cosmetic items and weapons (most are reskins, some are unique) that can be obtained by purchasing other games or meeting certain conditions in other games. A more complete list is available at the Team Fortress 2 wiki here.
Free-to-play The base game is free-to-play as of June 23, 2011, but Premium accounts have access to additional features.


Type Notes
Cosmetic There are hundreds of cosmetics items that players can use to customize their appearance in the game. Some are Halloween-restricted.
Free-to-grind Timed drops allow players to "find" weapons and other unlockables; rarely, they may find cosmetic items. Premium accounts get an advantage.
Loot box Mann Co. Supply Crates, and other types of crates, drop automatically, but must be unlocked with a purchased key.
Player trading Most items in the game can be traded for on Steam with other players, or listed for sale on the community marketplace.
Time-limited Some cosmetic items were available for purchase, or as part of a promotion, in the past, but are no longer available.
Unlock All non-reskin weapons in the game can either be outright purchased, traded for, or found in random drops with enough gameplay time.
Limited-use items: Some purchasable items have a limited number of uses, such as Noise Makers and the Dueling Mini-Game.

Essential improvements

Skip intro videos

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

Increase performance

TF2's default settings are generally not well optimized. Therefore, it is recommended to install a custom config, such as mastercomfig.
Install mastercomfig[citation needed]
  1. Go to the mastercomfig website and choose a preset, alongside any relevant addons and download the necessary VPK files.
  2. Place the downloaded VPK files into <path-to-game>\tf\custom and follow these directions to add the necessary launch options. (Don't forget to remove the -dxlevel launch option after launching the game)
  3. Boot up the game and test the performance/visual fidelity. If errors occur, check the troubleshooting section.
  4. To change any settings without changing presets, use modules to alter individual settings.


Any already existing custom configs will need to be moved from <path-to-game>\tf\cfg to <path-to-game>\tf\cfg\user (create the user subfolder if not present already). It is also recommended to check if any commands in these custom configs overwrite mastercomfig's.

Higher texture quality

Using the console command mat_picmip #, one can change TF2's texture quality preset independently from the in-game settings, where # can range from 2 to -10. The lower the value, the better.
The in-game "Very High" Texture detail setting uses -1, therefore it is not the highest possible texture quality the engine can offer.
Set mat_picmip value in autoexec.cfg[10]
  1. Go to <path-to-game>\tf\cfg and create a text file named autoexec.cfg if it does not already exist.
  2. Open autoexec.cfg and add the line mat_picmip -10.
  3. Save and close the file. This will ensure that the command is read on startup.


IMPORTANT: if mastercomfig is used, autoexec.cfg will need to be moved to a folder named overrides inside <path-to-game>\tf\cfg.
Alternatively, use the launch parameter +mat_picmip -10.

Game data

Configuration file(s) location

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

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
Some UI assets don't fill the entire screen.
4K Ultra HD
Interface scales with resolution and can become unusable.
Field of view (FOV)
Slider from 75 to 90°. See Field of view (FOV) for further options.
Borderless fullscreen windowed
Use the -window -noborder command line arguments.
Anisotropic filtering (AF)
Up to 16 samples.
Anti-aliasing (AA)
MSAA, up to 8x.
Vertical sync (Vsync)
Triple buffering vsync.
60 FPS and 120+ FPS
300 FPS cap by default. With console, can change "fps_max" to any value; use 0 for uncapped framerate. The game will break when above 1000 FPS, so it may be worthwhile to keep the framerate capped.[citation needed]
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.[11]

Field of view (FOV)

For 16:9, a setting of 90° results in a FOV slightly above 106°.
Console commands can change the FOV to arbitrary values, but are not allowed in Competitive Mode. Viewmodel FOV can also be adjusted.
fov_desired[citation needed]
  1. Open the console (~).
  2. Enter fov_desired #, where # is the desired FOV.
viewmodel_fov[citation needed]
  1. Open the console (~).
  2. Enter viewmodel_fov #, where # is the desired viewmodel FOV.


It is also possible to turn on Use minimized viewmodels in the Advanced Options menu.
Alternatively, input tf_use_min_viewmodels 1 into the console.
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 one's own risk.


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

Controller support

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.
The Developer Commentary is the only part of the game with subtitles.
Closed captions
Mute on focus lost
Check the "Silence the audio while the game window is in the background" checkbox.
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 the 32-bit package of OpenAL is present.


Language UI Audio Sub Notes
Simplified Chinese
Traditional Chinese
Brazilian Portuguese
The game contains files for complete subtitles, but they are not compiled. The user can compile it themselves using the captioncompiler.exe program which is provided with the game.


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
32 Co-op, Versus
Use Nucleus Co-op.
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

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

Oculus Rift

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

Generic fixes for issues

Console commands[citation needed]
  1. Reload the HUD: in the console, type hud_reloadscheme.
  2. Resync the game state with the server (start/stop an in-game demo): in the console, type record s; stop.
    1. The "s" can be anything; it's just the name of the demo file. Using the same name every time will overwrite the unusable demo file every time it's needed to re-synchronize.
  3. Reload sound resources: in the console, type snd_restart.
  4. Reconnect to a server: in the console, type retry.
  5. Reshow missing/hidden viewmodel: in the console, type r_drawviewmodel 1.

Sprays are not visible

As of the September 16, 2021 update, 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. Check settings cl_allowdownload, cl_allowupload, cl_playerspraydisable, mp_decals, r_decals and r_spray_lifetime.

Purple and black broken textures

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

Game Crashes at Valve logo on startup

Most likely caused by DirectX problems.
Run the game with command line arguments[citation needed]
  1. Reinstall the latest DirectX.
  2. Set the game to run with different command line arguments until it functions: -dxlevel ##. Replace ## with 80, 81, 90, and 95, corresponding to Shader Models. Lower is more compatible but 80 may cause more frequent crashes.
  3. Try setting -nod3d9ex. This will disable some DirectX 9 extensions used in Windows Vista/7.

Game crashes after closing MotD

Some servers use Pinion advertisement, a buggy plugin that sometimes crashes TF2.
Game crashes after closing MotD[citation needed]
  1. Disable HTML motd (in advanced options, under performance options).
  2. Install a Pinion blocker by editing the hosts file.
  3. Try adding the following lines in 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


Some servers require watching the MotD for a minimum amount of time (e.g. 30 seconds).

Cosmetic items do not appear on a player

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

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.

Low FPS fix

Ubuntu (12.10 to 17.04) or any distro with Unity desktop
Fix low FPS on Ubuntu (12.10 to 17.04) or any distro with Unity desktop[citation needed]
  1. Once the game has loaded and the FPS have dropped below playable, press Esc to return to the game menu.
  2. Go to Options → Video.
  3. Switch Display Mode from Fullscreen → Windowed.
  4. From here on, the game should increase dramatically in performance.
  5. Optionally, switch back from Windowed -> Fullscreen.
Linux with Cinnamon Desktop
Fix low FPS on Linux with Cinnamon Desktop[citation needed]
  1. Press the Windows (Super) Key to open the mint menu.
  2. Go to System Settings → Display (May be under General settings instead).
  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. Optionally, switch back from Windowed -> Fullscreen.
Anti-virus exception
Anti-virus software can interfere with a file in TF2's folder, which gets updated constantly during gameplay.
Add an anti-virus exception for the game's entire installation folder[13][14]

No sound in Linux

Ensure that the PulseAudio is installed and its daemon is enabled[citation needed]
Command the game to use ALSA instead by adding SDL_AUDIODRIVER=alsa command line argument as the first launch option[citation needed]
Specify AUDIODEV instead, use aplay -1 command to list available sound cards[citation needed]

Loading screen freezes in Linux

This happens mostly on non-English users in ArchLinux, but that may happen on other distros as well.
Edit configuration file[citation needed]
  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

Happens only when 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[citation needed]

Game does not start on ArchLinux

Ensure that the lib32-libpng12 has been installed[citation needed]

FL_LoadGlyph error in Linux

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 with a text editor and change ConsoleText into Unifont.
  2. Open chatschemes.res with a text editor and change the fonts into a Unicode supported one such as Arial, Ubuntu etc.
  3. Remove/purge the fonts-wqy-zenhei package.


Unicode-compatible fonts must be installed.
This method needs to be performed after every game update.

Audio delay/distortion when using PipeWire

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

Mouse sensitivity is doubled than what was set in Linux

Caused by a very outdated SDL2 library included with the game.
Go to <path-to-game>/bin/ and remove to force the usage of the system-native library[16]

Flickering Black Graphics on Linux

Caused by a Mesa driver bug.
Fixing via console commands[citation needed]
  1. 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[17]
  • Rollback to Mesa version 20.1.7 or earlier to avoid the issue as long as mat_bumpmap 1 is set.

Game refuses to run on Linux

Caused with the outdated library included with the game which causes problems with LLVM 16 or higher.
Replace with the newer one[18]
  1. Create a symlink using the following command (Location of the library may vary on distro, Archlinux was used for reference):
ln -s /usr/lib32/ ~/.steam/steam/steamapps/common/Team Fortress 2/bin/
  1. Alternatively running the game with LD_PRELOAD=/usr/lib32/ %command% may also work.


32 bit package of gperftools must be installed.
Run the game through the flatpak version of Steam[citation needed]

Other information


Technical specs Supported Notes
Direct3D 9
OpenGL 2.1 OS X and Linux, uses Valve's DirectX 9 to OpenGL conversion called 'ToGL'. Can be launched on Windows with -gl launch parameter.
Uses DXVK-Native to translate the DirectX 9 calls to Vulkan.
Shader Model support 2, 3
Executable 32-bit 64-bit Notes
64-bit executable for both clients and servers available as of April 19, 2024.[3]
macOS (OS X)
Mac support has been dropped in June 12, 2024.
64-bit executable for both clients and servers available as of April 19, 2024.[3]


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, WebM Bink has been replaced by WebM with the release of 64-bit update.[19]
Multiplayer Steamworks

Total Conversions

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. Discord server link:
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. Discord server link:
Pre-Fortress 2 Windows, Mac OS X, Linux Based on the February 2008 build, it is a community-maintained mod that caters to the gameplay of earlier Team Fortress installments while maintaining the aesthetics from TF2's alternative designs from 2006. Requires Source SDK 2013 Multiplayer.

Console commands

"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 enabling sv_cheats. sv_cheats 1 can also be used.
Many servers will not allow playing with cheats enabled, or will disable them upon entering the server.
Users without a US keyboard could experience some problems.

Command line arguments

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.

System requirements

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.[20]
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.[21] A hacky workaround exists.


  1. Introducing PASS Time, a New Beta Game Mode! - TF2 Team - last accessed on 2016-5-22
  2. News - Team Fortress 2 is now Free to Play - last accessed on 2023-08-12
  3. 3.0 3.1 3.2 Steam :: Team Fortress 2 :: Team Fortress 2 Update Released - last accessed on 2024-04-19
  4. Team Fortress 2: Free-to-Play FAQ - last accessed on 2016-5-22
    "If you've ever spent money on TF2, you have a premium account. This includes purchasing the game before it was Free-to-Play, activating a retail version of the game, or making a purchase in the Mann Co. in-game store."
  5. Team Fortress 2 Depots · SteamDB - last accessed on 2024-06-16
  6. Team Fortress 2 Depots · SteamDB - last accessed on 2024-06-16
  7. Team Fortress 2 Depots · SteamDB - last accessed on 2024-06-16
  8. NewAgeDerpDerp / X - last accessed on 2024-06-16
  9. Skipping the Valve-intro :: Team Fortress 2 Steam Community Guide - last accessed on 14-03-2018
  10. Ultra High Settings :: Team Fortress 2 Official Wiki - last accessed on 22-07-2022
  11. 'colorblind mode' - Steam Users' Forums (retrieved)
  12. - last accessed on May 2023
  13. Source thread on the Steam forums from 2009 (retrieved)
  14. Thread on the ETF2L forums - last accessed on May 2023
  15. - last accessed on May 2023
  16. GitHub - last accessed on May 2023
  17. - last accessed on May 2023
  18. Failure to start with tcmalloc "Attempt to free invalid pointer" against llvm 16 - Github - last accessed on January 2024
  19. Verified by User:Kr0tchet on 2024-02-10
    All files in tf\media folder has been all converted to WebM, including the Valve intro in hl2\media folder. startupvids.txt file appears to be redirect to valve.webm and the game plays that file instead of valve.bik even if it's already specified.
  20. Team Fortress 2 - Competitive FAQ - last accessed on July 8, 2016
  21. Could not find required OpenGL entry point 'glColorMaskIndexedEXT'! · ValveSoftware/steam-for-linux - last accessed on 9 June 2023