Team Fortress Classic Guide
This guide covers everything needed to play Team Fortress Classic as well as a reference for further information. Please let us know if you have any suggestions or improvements.
Table of Contents
Introduction
Team Fortress Classic was originally released in 2000 by Valve Software as a first-party mod for their flagship title Half-Life when they hired the development team of the original QuakeWorld Team Fortress mod to recreate that game in the goldsrc engine. Checkout SteamDB to view price history and current player count. Or this page to view when the next sale is; TFC now sells for $4.99 but goes on sale for 90% off that price.
We play TFC in a competitive format, where players are largely expected to already know how to play. This creates a barrier for new players which we are looking to break down. For now, playing the game will largely be outside of the scope of this guide. nuki's TFC Learning Center is the most comprehensive resource for learning the game, and is a great place to start.
TFC maintains several active public servers in various formats, which can be fun for a very casual experience, but our servers are password protected private servers used for 4v4 competitive matches, or pickup games in that same 4v4 format. Check out our Servers page for a list of available servers. Pickup matches, tournaments, and leagues are all formed on the discord server. Please familiarize yourself with the Server Rules before joining, as well as the Match Rules from the next section.
TFC Match Rules
Please ask your game runner or an admin if you have any questions about what is allowed in matches.
1v1 matches:
- Player 1 plays blue, Player 2 plays red
- Soldiers are the primary dueling class in TFC
- Demoman is also possible
- Any other class pick must be agreed upon by your opponent
CTF matches:
- Team 1 will play offense first, offense is always blue
- Medics are the primary offensive class in TFC
- Scouts, Spies, and Soldiers are potentially viable on some maps
- Engineer or Demoman are only used in certain specific situations
- No Sniper, Pyro, or HW on offense
- Team 2 will play defense first, defense is always red
- Defense are allowed any number of soldiers and a certain number of 'MIRV classes', depending on the map
- 'MIRV classes' are HW and Demoman; a second engineer also counts as a MIRV class
- No Sniper, Pyro, Medic, Scout, or Spy on defense
- Unless the flag is being moved there, you should not be defending where you can see the enemy base. This includes the front door or battlements on some maps, and the yard on nearly all maps. (This means you could play in the front door of destroy or schtop, but not on monkey or phantom)
- No teleporters in CTF matches
AvD matches:
- AvD matches are played 5v5 with team 1 as blue first and team 2 as red
League Matches:
- Any spectators should use HLTV rather than in-game spectator viewing
- Players should record a personal demo using the console command
record filename
. Use the console commandstop
if you need to stop recording one file to record another. Players should retain these demos and provide them if requested from an admin. - Teams are allowed substitutions between halves or overtime periods. Having an additional player on standby is a good way to insure against a player having a connection or irl issue.
- No mm1 (all-chat) during the match. Conduct yourself professionally. This is our highest form of competition and your behavior and sportsmanship should reflect that.
- Report scores and upload logs within 24 hours if playing on your own server.
- File a dispute with the admins within 24 hours if you have any issue with the match.
- Opponants should be informed as soon as possible of last-minute roster additions and need to agree to any ringers being used. Adding new players to your roster is a good way to avoid having to use a ringer from another league team.
- Rosters should be considered locked for playoffs.
Cheating and Exploits
Banned gameplay scripts and exploits include:
- any form of cheating, including any wall-hack, added information, speed-hack, rate manipulation, aimbot, etc.
- bypassing the normal pipe detonation or weapon animation delays (such as quickdet or quickfire)
- force_centerview or cl_pitchspeed commands (such as pipedown or pipeup scripts)
- clear, reduced, sped up, or transparent explosionsprites (see example)
- any pre-match activity which affects the match (moving the flag, deactivating security, leaving detpacks or grenades, etc.)
- taking the flag back in to the water exit trigger on the map
cranked
- throwing the flag over the flag room wall on the map
fry_baked
Example of a banned clear explosion sprite:
Configs
The goldsrc engine offers an excellent and expandable platform for configuration and scripting.
TODO: add more about autoexec, config.cfg and other general config stuff
Class configs
Class based configs are enabled with the setting:
setinfo "ec" "1"
More information on how it works
Network Settings
Coach Suez's guide to network settings
Vsync Settings
The "Lower input latency" option in the 25th anniversary update may be helpful for anyone playing with vsync enabled. Forcing gl_vsync 1
can add significant latency. A common workaround is to lower your fps_max
to a value sufficiently below your monitor's refresh rate (for example 140 fps on a 144hz monitor, or 225 on a 270hz monitor).
The "lower input latency" option appears to solve this problem, allowing you to enable the option and let your monitor's refresh rate manage your FPS without noteworthy rendering delays. gl_vsync 0
will always be lower latency, but some people experience noticeable tearing without vsync.
Steam Mouse Settings
Use this version of PresentMon to test for yourself, as newer versions removed the render latency metric: PresentMon v0.6.2 Release
PresentMon showing the render latency of the game
HLTV View Settings
To set a custom FOV in HLTV:
- Right click TFC -> properties -> launch options and add
-demoedit
- Load TFC and open the console ->
viewdemo demoname.dem
- Let the demo load for a few seconds.
- Pause and click
events
->add event
- Set your desired FOV.
Custom Visuals
TFC is a highly customizable game and players are encouraged to adjust the game to their liking.
tfc_addon folder
If you aren't already using the tfc_addon
folder, now is a great time to start:
- Create a folder named
tfc_addon
in your Half-Life folder, like this:
\SteamLibrary\steamapps\common\Half-Life\tfc_addon\
- Copy your
sprites
folder from\Half-Life\tfc\
over to\Half-Life\tfc_addon\
. - Any other custom content you want to keep that might be overwritten by updates should be copied into the
tfc_addon
folder as well. - Select the 'enable custom addon content' checkbox in TFC's options menu.
Default Files
If you ever want access to the original/default files for TFC without having separate custom sprites/models/etc, you can use the Steam console to download the TFC file repo directly:
- First, open steam command by entering this in a Run window (winkey+r):
steam://open/console
. - Then, in the 'Console' tab in Steam, enter this command:
download_depot 20 21 7841127166138118042
- It might take a few tries, but you should end up with a new
\steamapps\content\app_20\depot_21
folder under your steam installation folder (not your games library folder). Inside thedepot_21
folder will be atfc
folder with all the default files. - Direct Link to zip of default files
Custom Crosshairs
TODO: add custom crosshair stuff
Custom Sprites
Coach Suez's guide to editing sprites
TFC Customizations (Weapon Models, Player Models, Rocket Flares, HUDs, Textures, etc.)
Legal Blood Sprites zip
Legal Explosion Sprites zip
Other Useful Customizations
Two-tap Grenade Binds
Need someone to write this up.
Lagless Grenade Timers
Coach Suez's guide to lagless grenade timers
To set up the lagless timer you'll want to do two things: silence the server-side timer, and add a command to play your own client-side timer when you press your grenade keys.
- Go to your
\SteamLibrary\steamapps\common\Half-Life\tfc\sound\weapons\
folder, rename the filetimer.wav
tomytimer.wav
and move it to thevox
folder here:\SteamLibrary\steamapps\common\Half-Life\tfc\sound\vox\
. - Copy this timer_silent.wav file into your
tfc\sound\weapons\
folder, and rename it totimer.wav
(this will mute the server-side beeps). - Finally, add
spk mytimer
to your grenade binds in your configs. For example if your current config has
bind mouse4 "+gren1"
that would become
bind mouse4 "+gren1; spk mytimer"
Steam Game Recording
Steam now has a built in game recording feature, which is a great way to record your matches. Enable this feature in Steam Settings -> Game Recording. It will automatically record your gameplay, and the last hour of video is available to save clips from in View -> Recordings & Screenshots. Here is a video guide to using this convienient feature.