Team Comtress 2 logo

THIS SUMMER...

THE

BLOCKBUSTER

UPDATE

COPYRIGHT LOLOLOL MASTERCOMS PRESENTS A MASTERCOMFIG PRODUCTION IN ASSOCIATION WITH MASTERCOMS PRODUCED BY MASTERCOMS DIRECTED BY MASTERCOMS THIS UPDATE IS SO COOL!

Summer is here, and with it, a blockbuster hit for Team Comtress 2's debut!


This update is packed with performance improvements, gameplay fixes, and quality of life updates that will make your experience buttery smooth and more enjoyable than ever. We've been hard at work listening to your feedback and addressing the issues that matter most to you. From optimizing the game's performance to fixing hundreds of gameplay bugs, this update is a testament to our commitment to making Team Comtress 2 the best it can be.

So grab your popcorn, sit back, and get ready for a summer of fun.


PERFORMANCE

Improving the game's performance is a long term focus for us, and this is just the beginning of a much smoother experience.


  • Fixed performance issues involving various particle attachments (e.g. unusuals, beams, flames, etc.)
  • Optimized various aspects of the animation and player rendering systems, improving performance in large team fights
  • Optimized model fading system
  • Optimized particle rendering the player model HUD panel
  • Optimized eye animation and rendering
  • Optimized player inspects and target ID
  • Made particle system updates multi-threaded
  • Enabled the ability for modern operating systems to make more efficient decisions about multi-threading
  • Optimized cloak shader
  • Optimized visibility system
  • Optimized various world and player queries
  • Minor optimizations to shadows
  • Optimized various cosmetic overhead
  • Removed various remnants of debugging functionality which reduced performance
  • Optimized weapon and weapon skin rendering
  • Optimized some forms of dynamic lights
  • Fixed cheap water being forced off in some situations
  • Fixed class select model lingering while in-game in some cases
  • Added r_waterforcecheap to lower quality of the water on lower-end systems
  • Added tf_dropped_weapon_glows to disable dropped weapon glows on lower-end systems
  • Ported over various quality settings from DX8 to DX9, controlled by Shader Quality: Low setting
  • DirectX 9 is now required
  • Optimized water splashes on lower-end systems
  • Optimized file system loading
  • Optimized occlusion system
  • Optimized sound system
  • Optimized various cosmetic and item overhead
  • Reduced the performance impact on weapon drops on lower-end systems
  • The game now launches with above normal priority by default
  • Optimized item schema loading (thanks ficool2!)
  • Fixed FPS drops when loading/updating the friends panel
  • Fixed overhead from achievement tracker HUD when it was disabled
  • Optimized facial expressions and gestures
  • Server MOTD will now be unloaded upon closing
  • Various minor performance and stability fixes

GAMEPLAY

As it turns out, there were a few gameplay bugs in TF2. Well, hundreds of them. So we've been listening to your feedback, and have made changes and fixes to the game based on what we've heard.


HIGHLIGHTS


PYRO

Our silly pyromaniac friend had more things wrong with them than right. We've fixed all that — well, besides their craziness.


MEDIC

Fixed all sorts of annoyances and improved healing feedback to make tending to your patients more satisfying.


SPY

Made backstabs much more reliable, added QoL for your pitiful revolver aim, and fixed a critical Enforcer bug.

Attention those of you with short attention spans: the highlights don't even BEGIN to cover all the changes. Maybe that's because we started with Pyro instead of Scout. And also because we've made a LOT of improvements.


Core Gameplay

Random Crits

  • Fixed melee random critical hits damage range boost being 0->533 damage for 15%->60% chance instead of 0->1600 damage for 15%->60% chance.
  • Fixed random critical hits damage range boost being 0->533 damage for 2%->8% chance instead of 0->800 damage for 2%->12% chance.
  • Developer Note: When random crit chance was changed in 2009, the intention was to make random critical hits more skill / performance based for non-melee random crits. Thus, the values for crit chance and crit chance boost were changed. However, due to crit chance being shared between melee and non-melee, melee random crit chance was affected, keeping the chance boost based on damage the same, but more than halving the damage required to gain the max boost. This runs counter to the stated intention: less skill / performance is needed for the same high crit chance. Furthermore, due to how the chance boosts were applied, non-melee only got a max 8% chance based upon 533 damage, rather than the stated 12% chance from 800 damage, reducing the peak reward from your performance. These fixes now separate melee crit chance boost from non-melee, thus allowing melee to retain its 4x boost from 1600 damage, while non-melee now has a 6x boost from 800 damage.

Bullet Spread

  • Changed the default for fixed weapon spread to on.
    • Developer Note: Although fixed spread was on average equal to random spread, maximum values for random spread still could proc much wider spread than fixed spread, resulting in real gameplay balance differences. This issue was further exacerbated by the incorrect random distribution of spread. Rather than attempting to reconcile the differences between casual and competitive play, we find it best to disable random bullet spread for all modes, making risk/reward at each distance consistent, similarly to disabling random damage spread.
  • Spread is now based upon a real Gaussian distribution (circular). This will improve evenness of pellet distribution.

Distance-based Damage Ramp

  • Ramp-up now considers the closest possible distance the attacker and victim can be to each other, rather than max ramp-up only being applied if they were inside each other perfectly. This should make max damage from ramp-up more intuitive and consistent.
  • Fixed a bug involving distance-based damage ramp not working as intended when damage spread is disabled (the default since 2015)
    • Damage falloff was not fully falling off to 50% damage at max distance (1024 units) when damage spread was disabled. Instead, it was falling off to 53% damage at 922 units.
  • In short, the effect of these changes is that you should see about 1 higher damage at closest possible range, and 2 to 3 damage less at furthest ranges in combat.

General Changes

  • Added lag compensation for teammates, to fix issues with players unexpectedly blocking bullets
  • Fixed damage to buildings rounding down instead of up like damage to players
  • Fixed firing speed being slightly inaccurate/delayed in some cases
  • Fixed various cases of weapon double taps, for example, the Wrench double swing glitch
  • Fixed Revenge Crits interacting poorly with other crit boosts, especially the Kritzkrieg
    • Revenge Crits are no longer consumed while crit boosted from another source
    • Fixed various issues with crits getting removed early / lingering while crit boosted from another source
  • Secondary actions, like cloak, Stickybomb Launcher detonate, building haul now behave more responsively and do not ignore inputs
  • Melee hits now pass through teammates except in MvM and Medieval Mode.
    • Server operators can force melee hits ignoring teammates in these modes with tf_melee_enemy_priority 1
    • Due to how melee hit detection works, there were extremely common cases of backstabs and other melee hits not connecting properly due to off screen teammates.
    • By limiting this to only normal gamemodes, we do not feel like there will be serious cases of melee hit stacking or any other concerns, in exchange for the gameplay benefit.
  • Disabled fall damage variance by default

Pre-Round

  • Changed pre-round freeze logic to match Casual/Competitive matchmaking: the last 3 seconds of pre-round time unfreezes movement before starting the round, to allow players to move from their spawn position to the doors. Spawn doors are now also locked during this time.
  • Fixed pre-round movement freeze not working correctly (requiring weapon switching, not being timed correctly, etc).
  • Fixed movement taunts being usable during freeze time in some cases.

Respawn/Resupply

  • Reworked respawn behavior.
  • Class switching or loadout changes off of initial spawn do not change your spawn location.
  • You can press the Inspect key (F by default) to switch spawn points after initially spawning. In Casual, this is unlimited. In Competitive, this is limited to once per life and only within 7 seconds of spawning if you have not taken damage.
  • Reasoning: changing spawn location from class switching is awkward and looks visually like a bug to those unfamiliar. This also gives the ability to players to choose between switching their spawn location or changing class.

  • Reworked automatic respawns for competitive play.
  • Automatic respawns are defined as respawns done within the spawn room, as a consequence of changing loadout or class
  • You cannot automatically respawn if you have taken damage or have moved out spawn, or if it has been 7 seconds after you have spawned.
  • Otherwise, you must touch a resupply cabinet for loadout or class changes.

  • Touching a resupply cabinet while having a new class selected will spawn you as that class.
  • Disabled auto self-kill upon changing class outside of a respawn room by default.
  • Improved messaging instructing players on how to switch class / loadout when they cannot automatically respawn.

  • Resupplying now removes in-combat penalties from recently taking damage, aka giving “crit heals”
    • Note that taking damage again will immediately cancel this out, and the resupply cabinet only resupplies every 3 seconds, so this does not necessarily help in tanking damage through accelerated healing.

Competitive

  • Added various features from Competitive Matchmaking to community competitive games:
    • Added chat messages for class switching
    • Added team wipe and first blood announcements
    • Fixed Contract messages appearing in community competitive. We love you Miss Pauling, but that job can wait until after the scrim.
    • Disabled dominations, item notifications, and holidays in community competitive, so that this doesn’t happen
    • Various other streamlining improvements
  • Taunts are forced into first person perspective in competitive games
  • Fixed class limit being bypassable if two or more players switched to that class during a respawn wave.
  • Added demostop server command to notify the server when the client stopped recording a demo
  • Added a Reset Class button on the Class Selection screen to allow for easy access to self-kills and class swapping without conflicting with class limits
  • Fixed stats incrementing outside of rounds in community competitive
  • Disconnecting will now force a self-kill, providing kill credit to anyone who finished the quitter off
  • Added tf_tournament_classchange_allowed and tf_tournament_classchange_ready_allowed ConVars, which allow for formats that restrict changing class during a game
  • Added mp_sixes ConVar which opts into various Sixes enhancements and defaults
  • Added tf_tournament_respawn_multiplier ConVar
    • Context: by default, team sizes below 8 players scale down respawn times from the designed default of 10 seconds per respawn wave
    • Set by default 0.8 for 6s matches by default, and 1.0 otherwise.
    • This preserves team respawn timers even while players are disconnected
    • This will also allow for more structured respawn time determinations, rather than just a simple proportion of players on a team
  • Improved flexibility of class limit ConVars for greater flexibility
    • classlimits tag will apply to any server customizing class limits
  • Match Status HUD is now ordered by class in competitive games
  • Fixed Match Status HUD not using proper team size display in 6s games for community competitive

Explosives

  • Explosions now check in a 4% inner radius for applying damage, so that small differences in geometry do not block explosion damage entirely if the original center point fails.
    • We are aware this changes the behavior of stickybomb traps. However, following this change you should be damaged by them if and only if you can see the stickies, so fairness should be maintained.
  • Fixed blast jumping sometimes failing when sliding into a slope

Throwables/Splashables (Jarate, Mad Milk, Gas Passer)

  • Fixed splash radius being a cube rather than a sphere, which caught players in the area of effect unexpectedly at the corners
  • Fixed throwables bouncing off of players in some situations
  • Fixed throwables colliding with teammates in unexpected cases
  • Fixed throwables going through thin walls and doors in some cases
    • This includes the Flyin’ Guillotine cleaver
  • Enabled icon indicators for Jarate and Mad Milk by default

Scout

Soda Popper

  • Now has a slight purple glow when Hype is available, to better communicate when the Scout has this ability
  • Hype activates automatically upon attempting an additional air jump
  • No longer dumps clip on reload

Force-A-Nature

  • The fixed bullet spread pattern is no longer biased to the left side
  • No longer dumps clip on reload

Baby Face’s Blaster

  • Fixed not applying boost when slowed

BONK! Atomic Punch

  • Fixed being under the effects of Bonk causing the player to take push force from damage in cases where it shouldn’t apply

Boston Basher

  • Fixed miss detection working incorrectly

Sandman

  • Fixed slow not applying movement speed penalty correctly
  • Fixed slow not applying at close ranges
  • Fixed slow not applying underwater
  • Fixed baseballs disappearing prematurely (thanks Marxvee!)
  • Fixed baseballs computing random critical hits incorrectly

Wrap Assassin

  • Fixed bauble shard explosion dealing between 3 to 36 splash damage. Now deals a consistent 6 damage to everyone in range.
  • Fixed baubles computing random critical hits incorrectly
  • Fixed bauble projectile trail abruptly ending on impact (thanks Marxvee!)
  • Fixed baubles exploding in your face if a teammate was in the way. Ouch!

Candy Cane

  • Health kits on kill now spawn as cupcakes

Soldier

Grenade Taunt

  • Made the Soldier Grenade taunt follow the same splash damage rules as other explosions
  • Fixed the Soldier Grenade taunt damage passing through walls

Beggar’s Bazooka

  • Now solely detonates from reserve ammo when overloaded

Pyro

All Flamethrowers

  • Fixed issues with flamethrower DPS
    • Reworked flame density mechanic which previously approximated accuracy into being aware of accuracy thresholds of the Flamethrower
    • New strategy is to simply track missed flames in between flame damage checks, reducing damage based upon the missed fraction, which provides a smoother ramp between actually missing flame damage checks, and only missing some particles in between
    • Initial flame damage ramps up full DPS slightly faster, and decays upon missing, but can quickly be regained upon maintaining accuracy
    • The lifetime of the oldest flames no longer adversely effect DPS
    • DPS is consistent and correct regardless of range or wall reflection
  • Changed the particles to be clearer
    • Included from the Ultimate TF2 Visual Fix Pack

Compression Blast

  • Fixed many bugs involving Pyro’s Compression Blast reflection
    • Fixed various reflected projectiles applying incorrect self-damage
    • Fixed various reflected projectiles not reversing team color
    • Fixed reflected rockets not having the correct properties of the original Rocket Launcher, like blast radius, particles, spells, speed, etc
    • Fixed reflected Sandman balls not dealing damage
    • Fixed reflected Wrap Assassin ornaments not dealing damage or bleed properly
    • Fixed reflected Rescue Ranger bolts not healing friendly buildings
    • Fixed reflected flares not exhibiting their specific Flare Gun’s properties
    • Fixed many cases of incorrect application of Strange and Killstreak effects for reflected projectiles
    • Fixed reflected Huntsman arrows not applying the correct knockback force
    • Fixed enemy Snipers receiving extinguish bonus from reflected Jarate
    • Fixed reflected Loose Cannon cannonballs not applying Double Donk
    • Fixed and restored various kill icons for many projectiles
    • Fixed reflecting Sentry Gun rockets resulting in the Flamethrower playing its primary fire sound
    • Fixed reflected projectiles not having correct lifetimes

Degreaser

  • Fixed switch speed bonus not being used for applying a holster speed bonus.
    • The Degreaser’s holster bonus was only applied after it has been deployed for the base deploy time (0.5 seconds), rather using the deploy time with its switch bonus (0.33 seconds). This caused an awkward situation where you had to wait longer than expected to benefit from The Degreaser’s holster bonus.

All Flares

  • Fixed not being able to flare jump during knockback immunity, like as applied by a Quick-Fix Übercharge

Dragon’s Fury

  • Fixed the Dragon’s Fury range being dependent on its radius, and instead restored the original radius but clipped off the projectile’s effects to exactly its range of 3000.
    • Developer Note: The Dragon’s Fury range is not like most weapons. It has a physics based projectile which tries to stop itself before overextending its range, but due to this and the larger projectile radius, it was changed to have a smaller radius to prevent issues with the front of the fireball touching players way past its range. Now, the fireball is hard limited to only affect players it hits if they were actually within the distance range, rather than if they simply touched the fireball at any distance. Thus, we have restored the original radius, making the fireball more intuitive and less awkward to aim, while fixing unfair cases of hits.
  • Projectile now fires from the center, down the crosshair
    • The damage bonus on an accurate shot at burning players was very awkward and hard to achieve with a misaligned projectile
  • Changed the projectile to be clearer and less performance intensive
    • Included from the Ultimate TF2 Visual Fix Pack

Gas Passer

  • Fixed Gas Passer not extinguishing teammates on direct hit (thanks Marxvee!)
    • Developer Note: the Gas Passer can already extinguish teammates, this just adds a quality of life feature which the Jarate and Mad Milk have, which allows direct hitting teammates who are burning, so you can extinguish them more easily.

Demoman

  • Fixed Pain Train and Ullapool Caber not getting minicrits
  • Fixed The Scottish Play achievement not working with the Pain Train and Ullapool Caber

All Grenade Launchers and Stickybomb Launchers

  • Projectiles no longer have random launch forces in competitive games

Ullapool Caber

  • Fixed damage inconsistencies for the Caber’s explosion
  • Fixed the Caber’s explosion not being boosted by a minicrit hit

Heavy

Natascha

  • Fixed slow not applying movement speed penalty correctly

Buffalo Steak Sandvich

  • Move speed bonus now only applies up to 30% base speed, rather than capping move speed to that amount

Holiday Punch

  • Enhanced hit from behind detection on the Holiday Punch

Fists of Steel

  • Fixed holster speed penalty being bypassable, such as when switching through multiple weapons
  • Fixed Übercharge rate being higher than intended due to max overheal penalty

Engineer

Short Circuit

  • Fixed the Short Circuit applying self-damage inconsistently

Wrangler

  • Fixed rocket fire animation not playing when using the Wrangler (thanks horiuchii!)

All Wrenches

  • Engineers will always prioritize friendly buildings with their melee attacks, for the purposes of repairing, upgrading, construction boosting, and refilling ammo
    • Engineers already prioritized a friendly building being sapped
    • Note that enemies in the way will prevent you from getting in range of your building in most cases

Jag

  • Fixed Jag dealing very little damage to enemy buildings

Eureka Effect

  • Fixed The Eureka Effect providing teleport functionality through commands without being deployed

PDA

  • Fixed being able to build a building while hauling another
  • Fixed building blueprints rotating once upon pickup
  • Fixed buildings resetting their health to full while upgrading in some cases
  • Fixed blueprint textures not streaming in properly

Sentry Gun

  • Sentry rockets now follow the splash damage rules of other explosions. Will slightly reduce minimum splash damage.
  • Fixed various cases of Sentry rockets not being counted as Sentry damage:
    • Sentry rocket falloff/rampup was based upon Engineer’s position, rather than the Sentry’s.
    • An ally Engineer repairing the Sentry did not get an assist on rocket kill.
    • A Medic got an assist when healing an Engineer whose Sentry got a rocket kill, even though the Engineer himself was not involved in the kill.
    • Sentry damage reduction attributes did not resist Sentry Gun rockets. For example, the Battalion’s Backup did not have 50% resistance to Sentry Gun damage from rockets.
    • The achievement Texas Two-Step would not count if your Sentry Gun had only dealt rocket damage.
    • Sentry Gun damage and kills from rockets would not be considered for spawning Sentry Busters.
    • MvM robots and TF bots would not be aware of a Sentry Gun attack if they had only been damaged by rockets.
  • Fixed turn rate not being consistent

Dispenser

  • Fixed Dispensers not updating their dispense trigger position while being moved

Medic

All Medi-Guns

  • Fixed overheal fluctuating by 1 HP when at max overheal
  • Fixed healing feedback missing when overhealing a patient
  • Added healing sound fluctuation based upon the status of the patient
  • Fixed movement issues while healing a patient
  • Damage feedback for a patient now plays back to the Medic
  • Added Medic Übercharge amount to the Match Status HUD for all teammates to see

Sniper

All Sniper Rifles

  • Fixed laser dot not being accurate to where an enemy Sniper is aiming

Sydney Sleeper

  • Fixed teammate extinguish shots not being lag compensated

Huntsman

  • Made the Huntsman headshot hit detection consistent rather than being based upon map angle.
  • Fixed Huntsman collision not properly searching for the point of intersection

Darwin’s Danger Shield

  • Darwin’s Danger Shield no longer provides full Afterburn Immunity. Instead, it gives the same level of Afterburn Protection as a Pyro has, e.g, the Dragon’s Fury now works against it.
    • Afterburn does not cause flinching for the Sniper

Spy

General

  • Fixed inaccuracies with backstab detection, making it less dependent on latency.
  • Removed cases of facestabs, on both the Spy’s and victim’s point of view.
  • Dynamic crosshair scale based on accuracy now shows for all revolvers rather than just the Ambassador
    • Dynamic crosshair can now be disabled with the new ConVar tf_revolver_dynamic_crosshair
  • Fixed Sapper cosmetics not appearing as attachments. (thanks OfficerSpy!)
  • Fixed Disguise Kit team selection not working properly at high ping. (thanks nosoop!)

Enforcer

  • Fixed the Enforcer “piercing” bullet vulnerability

Mann vs. Machine

  • Enabled Wave Status HUD during wave by default
  • Fixed Firing Speed upgrades not working in some cases
  • Fixed Sentry Gun firing rate bonuses not stacking correctly (Crit Canteen, Wrangler, Firing Speed upgrades)
  • Fixed the Reload Speed upgrade on the Sniper Rifle not applying without auto rezoom enabled
  • Fixed ammo canteens not affecting energy weapons
  • Fixed the Sandman not having the desired stun effect in MvM modes
  • Fixed Major League Scouts not swinging their baseball when its feet were close to a wall
  • Fixed revives on players in between waves affecting revive speed penalty
  • Fixed loot glow effect not being positioned correctly on the Victory screen
  • Fixed the Player Status HUD drawing on top of the Currency Status HUD on Linux (thanks CuriousTommy!)
  • Fixed Strength powerup not affecting damage dealt to Tanks (community request)
  • Fixed the Destroy Entity Task being non-functional in func_nav_prerequisite (community request)

General Bot Fixes

  • Fixed bots not using their non-primary weapons properly
  • Fixed Spy bots not using their Revolver
  • Fixed Heavy bots using the Sandvich and Second Banana incorrectly
  • Fixed bots not using explosive weapons if enemies were too close to them and it was safe to take self-damage
  • Added bot_explode command, exploding them into gibs
  • Added the tf_bot_random_items ConVar, which, when set, equips random items on bots
  • Players replacing bots in quota mode now respects bots with an active role on the team: for example Medics with Übercharge building, or Engineers with buildings, and will prefer not to kick them
  • Bots now use a competitive roster in community competitive games
  • Bots no longer taunt in competitive games

Halloween

  • Fixed Pumpkin MIRV spell not following splash damage falloff rules of other explosions.

Mannpower

  • Fixed third person reload animations not getting faster from powerups
  • Fixed passive reload on the Crusader’s Crossbow not speeding up from powerups

QUALITY OF LIFE

Turns out when a game has been around for over 15 years, it can get a little dusty. So we've been busy polishing it up, and generally making things better. These are small but important fixes that should improve your overall experience.


IMPROVED NETWORKING

We've added subtick and a bunch of other improvements to get you feeling like you're on LAN.

GRAPHICAL IMPROVEMENTS

Get a fresh cinematic experience with new explosion effects, weapon lighting, water shading, flames, bullet effects, and more.

NEW CUSTOMIZATION

Weapon config scripts, damage number improvements, and other customization options will get your game just how you like it.

CASUAL MVP

It's a race to the top! Carry your team to victory, and get the center stage at the end of the match.

CLIP/AMMO FIXES

We fixed all sorts of weapon firing and reload issues. And yeah, we fixed that stubborn 4/19 glitch on resupply too.

UPDATED DEFAULTS

Get a fresh new look with 90 FOV, auto healing, injured teammate callouts, and net settings made for 2025 instead of dial-up.

MATCH HUD UPDATES

See your Medic's Übercharge so you know when it's time to push, and see your team's class lineup more easily in competitive mode.


General

  • Various settings were updated to modern defaults
  • Disabled auto-kill upon class change by default
  • Injured teammates automatically call out while playing as a Medic by default
  • Crosshair is now hidden on scope zoom by default
  • Enabled remember last switched weapon by default
  • Enabled Medi-Gun auto healing by default
  • Auto reload is now force enabled, to free up the reload key for future actions
  • The default volume is now 50%, and the intro video has been updated with a lower volume. No longer blow out your ears when launching the game!
  • Increased default player count to 32
  • Added adjustable team sizes. Defaults to 12v12. Players will be directed to spectator if teams are full.
    • Can be changed by server operator and VScript with tf_team_size, tf_team_size_blu and tf_team_size_red ConVars
    • Increasing the max player count past the default will automatically revert to the previous behavior, but still can be customized with the above ConVars
  • Players can now join a full team, if there is a bot slot to replace on that team
  • Fixed firing being delayed after auto-reloading (thanks chrb22!)
  • Added a ConVar tf_skip_equip_action_hint to disable reminders to equip the relevant action item

Visual

  • Updated the default FOV to 90
  • Removed quality LOD from water by default. See 2Fort’s water in all its glory from the battlements!
    • Can be enabled with the r_cheapwater_forceoff ConVar
  • Fixed viewpunch not updating smoothly per frame (thanks ficool2!)
  • Fixed ragdoll velocity being reset (thanks ficool2!)
  • Fixed attachments on viewmodels being inverted on flipped viewmodels (thanks Marxvee!)
  • Removed ultrawide limitation for borderless fullscreen
  • Improved smokestack rendering
  • Improved impact effect rendering
  • Improved lighting/shading on various weapons
  • Improved character model rendering
  • Fixed texture streaming causing some weapons and surfaces to appear blurry when first displaying them
  • Fixed Medi-Guns displaying the connection hose when dropped
  • Fixed breakables not rendering properly in some cases
  • Fixed grenade launcher barrels not spinning during reload
  • Fixed minigun not spinning at the correct speed
  • Fixed self-kills with energy weapons not disintegrating your body with the correct color
  • Fixed tracers not rendering in some cases
  • Fixed scorch decals not appearing from Stickybomb detonations in various cases
  • Improved visual look of lighting with HDR/bloom enabled
  • Enabled radial fog by default on all maps
  • Burning players now maintain burning when gibbed
  • Fixed Spy’s cigarette burning even when wet. Unfortunately, he ran out of those discontinued waterproof cigarettes.
  • Disabled bicubic lightmaps temporarily as it causes seams and other inconsistencies
  • Added the Ultimate TF2 Visual Fix Pack. Some highlights:
    • Fixes various visual inconsistencies
    • Improved clarity of various explosion effects
    • Fixed many weapons missing glows when crit boosted
    • Enhanced minigun shells to look like actual bullets
    • Improved muzzleflashes, eliminating lag and improving clarity
    • Added LODs to items which were missing them
    • Graphics fixes to wearable items
  • Added Refined Lineup-styled Eyes by Everik
    • Enhances the look of character eyes
    • Fixes water flickering when rendering eyes in threaded rendering mode
    • Improves performance of eye rendering
  • Added Enhanced Flames by ZooL
    • Improves visibility and style of players and other objects on fire
  • Added 2007 Water Splash by Isolar
    • Improves graphics quality of water splashes from bullets
  • Update teasers from years past now display again, as a trip down memory lane
  • Fixed some critical hit effects not playing to the shooter for headshots
  • Fixed cooldowns for pain / hurt responses
  • Fixed physics effects improperly playing in some cases

HUD

  • Showcase your bling with the new live character model on the main menu!
  • Fixed various issues in class selection:
    • Class selection animations now play instantly and smoothly
    • Facial expressions now start from neutral, rather than from open mouth, on class selection animations
    • Character model lighting revamped to better showcase the classes in a harsh, cinematic style
    • Various foley sounds now play for the class selection animations
  • Added Übercharge to Match HUD
  • Added improved messaging surrounding class / loadout changes outside of a respawn room
  • Improved resolution scaling on the bonus overheal health icon (thanks Niterux!)
  • Fixed match HUD being initialized incorrectly
  • Fixed Party Chat UI not being localized properly (thanks gaelcoral!)
  • Fixed Player Status HUD being displayed over Currency Status (thanks CuriousTommy!)
  • Fixed tournament spectator GUI showing for players while Match HUD was active
  • Added colored logs to the console (thanks ficool2!)
  • Fixed display of building upgrade status being incorrect in certain cases
  • Added cl_crosshair_gap ConVar to control the gap for certain crosshair textures
  • Fixed payload progress HUD being slightly delayed
  • Returning to the main menu plays a new music track
  • Fixed certain main menu elements not properly hiding during load time
  • Enabled server time limit display by default
  • Removed new player prompt regarding disabling HUD player model on old PCs, as its performance issues have been resolved
  • Made spectator panel bars transparent to improve visibility while spectating even when min-mode is off
  • Improved consistency with team sides. BLU is now always on the left in the UI, and RED is always on the right.
  • Added new options for floating health and health icon:
    • Health icon visibility is now controlled by tf_hud_target_id_disable_health_icon
    • Floating health is now visible on MvM bosses unless the ConVar tf_hud_target_id_disable_floating_health 2 is set
    • Target ID avatars are now still visible when health icons are enabled
  • Target ID avatars now display for all players
  • Improved UI for when different teams are full
  • Adjusted ping icon thresholds to be more strict
    • Great: <24
    • Okay: <50
    • Bad: <150
    • Very Bad: >150
  • Fixed friends panel not listing the intended number of friends
  • Fixed some kill not showing up on the kill feed with the correct icon: Burning Arrow, Burning Arrow Headshot, Reflected Arrow Headshot, Reflected Burning Arrow, Reflected Burning Arrow Headshot

Coaching / Training

  • Added meters label to location callouts
  • Fixed sizing / spacing on callouts
  • Fixed fading logic
  • Added lag compensation to callouts
  • Fixed being able to call out disguised enemy Spies as a Coach
  • Fixed student death alert playing when feigning death
  • Added ability to ping various objectives
  • Can now ping through windows and grates
  • Fixed pinging props and other unrelated world entities

Matchmaking

  • Added Casual MVP screen
  • Re-enabled stopwatch for Casual
  • Changed Casual from a best of 3 to a best of 5
    • This helps with game restart fatigue in matchmaking
  • Enabled map voting during play rather than at the end of a match
  • Increased draw time from 4.5 seconds to 5 seconds

Damage Feedback

  • Enabled hitsounds and killsounds by default
  • Damage numbers now combine over 2 seconds by default
  • Damage number combining now also can show individual numbers
  • Added option for large damage numbers
  • Improved damage number style for readability and feedback during gameplay
  • Improved damage number positioning at close up and far away
  • Changed hitsound defaults to be more responsive to gameplay
  • Damage numbers and hitsounds now play even when dead
  • Fixed bugs with damage numbers not displaying properly when dealing damage very rapidly, like on the Flamethrower
  • Added a damage/kill hitmarker
  • As a Medic, hitsounds and killsounds will be replicated from your patient, at a reduced volume
  • Added tf_dingaling_lasthit_repeat_delay to prevent playback of duplicate sounds when killing multiple players at once.

Networking

  • Added subtick support to weapon fire position, improving sync for firing projectiles and hitscan weapons while moving
    • Weapons are now fired from the location you were at the frame you shot your gun, rather than fast forwarding to the next tick in the future
  • All servers default to using Steam Networking for enhanced ping and DDoS protection
  • Improved responsiveness of launching projectiles
  • Upgraded the networking rates to be up to date with modern standards and in sync with game update rates
  • Changed tickrate from 66.6666 to 64 to fix alignment issues
    • Tickrate can be changed back to the old value with -tickrate 66
  • Updated the client interp limit to 200ms instead of 500ms
  • Changed the lag compensation window from 1 second to 500ms
  • Added subtick support to lag compensation, fixing an issue where lag compensation would not rewind exactly to the player’s view
    • Players are now lag compensated back to the frame you shot
  • Client interp updates
    • Removed cl_interp. Now only cl_interp_ratio determines client interpolation amount to reduce confusion.
    • This effectively makes the default interpolation amount 0.03125 (down from 0.1)
    • Reduced default maximum cl_interp_ratio to 3. This makes the maximum interpolation amount 0.046875 (down from 0.5)
    • Fixed cl_interp_ratio not being consistently rounded, possibly causing desync or misleading information
  • Fixed various accuracy issues with lag compensation
  • Enhanced lag compensation for pose parameters in player animation
  • Teammates are now lag compensated, to prevent them from blocking bullets, and to improve hitreg on guns which affect teammates
  • Fixed cases where prediction could be out of date from server data
  • Fixed a server networking protection system cause worse than expected packet loss on unreliable connections
  • Fixed various issues in how net_graph reported network quality and other settings
  • Client prediction is now always enabled
  • Fixed cases of prediction errors causing inaccurate hit detection
  • Fixed hitbox desync when moving at extremely fast speeds
  • Fixed some IP addresses being handled incorrectly
  • Reduced networking timeouts to 20 seconds to be more responsive and force reconnects earlier

Demos

  • Demo Support records competitive matches by default
  • Fixed Demo Support automatically recording Casual matches when selecting Competitive matches
  • Fixed Demo Support not being able to log every kill
  • Fixed Demo Support recording pre and post-game by default
  • Servers are informed when a client stops recording a demo, just like they were informed when a client starts recording

Spectating

  • Updated the SourceTV defaults for better quality and ease of use
  • Fixed spectating players in first person incorrectly displaying weapons
  • Fixed spectating Medics in first person incorrectly rendering the Medi-Gun beam
  • Fixed spectating ragdolling players being unsmooth (thanks ficool!)
  • Fixed jittering when spectating ragdolls (thanks ficool2!)
  • Spectating a player in third person will use the vision of the target rather than your own observer view

Customization

  • Changed custom HUD UI version to -1 to prevent compatibility issues with the base game
  • Added ConVar tf_viewmodels_offset_override to adjust the position (within limits!) of your viewmodel on screen beyond the min viewmodels presets
  • Added classchange.cfg, which runs upon every class change before the class config
  • Each weapon now executes its own config file upon switching to it in game
  • Added startup_manifest.cfg which is executed at startup before autoexec.cfg, for use in mods which would like to customize ConVars

Huge Team Improvements

  • Match HUD now supports huge teams (>32)
    • Will display team respawn timer and how many of each class is alive
  • Fixed bot support in huge teams
  • Fixed the 99th player having dedicated server vote permissions

Bug Fixes

  • Fixed reserve ammo being depleted by an in-progress reload animation when clip was already filled from a resupply
  • Fixed game simulating during a pause (Übercharge building during pause, etc.)
  • Fixed spectators receiving head roll, permanently tilting their camera
  • Fixed doors and other entities not travelling/rotating at the intended speed consistently
  • Fixed nav_generate not kicking bots as intended
  • Fixed class configs running during gameplay upon client lag / hitches
  • Fixed some sounds being cut off during team fights
  • Reduced minimum time interval between voice commands to 0.5. Note that the interval is still limited by the length of the voice line.
  • Fixed some possible issues with speech being interrupted by a scene

Exploit Fixes

  • Fixed some additional exploits for hiding the Sniper Rifle scope
  • Fixed players joining locally hosted games when started through the map command
  • Fixed a gameplay information exploit related to VGUI commands
  • Fixed a gameplay information exploit related to an old LCD keyboard system
  • Fixed an exploit allowing players to change restricted ConVars during gameplay
  • Fixed some exploits which affected visibility of props and other graphics features
  • Fixed some cheat ConVars being accessible to be changed through some systems
  • Fixed some double weapon fire exploits
  • Fixed some pure server exploits
  • Fixed some sound systems not respecting sv_pure
  • Fixed being able to build teleporters in locations which would send players to their doom in a kill trigger
  • Fixed Spy voice icons being visible in alltalk while stealthed or disguised (thanks ficool2!)
  • Fixed accuracy of reported ping throughout the UI
  • Fixed some sounds unintentionally having no cooldown between plays
  • Fixed Noisemakers being able to be spammed
  • Fixed a view position exploit related to cl_smoothtime
  • Fixed some cases of backtrack and other server tick exploits
  • Fixed an exploit which allowed switching to a full/unbalanced team
  • Fixed some instant respawn exploits
  • Fixed kicks sometimes being bypassable
  • cl_disablehtmlmotd is no longer queryable by servers. (thanks megascatterbomb!)
  • Fixed an exploit with being able to spectate enemies upon death
  • Fixed cheats being able to bypass server restrictions for some settings
  • Removed ability to open insecure http:// links through the UI

Mapping / Modding

  • Networked and predicted gravity on entities
  • Added an ability for VScript to ignore class achievements and contracts (thanks LizardOfOz!)
  • env_smokestack now supports up to 8 materials
  • Networked and predicted gravity on entities. (thanks ficool2!)
  • Fixed prediction errors with modified gamerules gravity (thanks nosoop!)
  • Added -StaticPropIndirectMode parameter to vrad for selecting between different prop indirect lighting methods
  • Fix mult_reload_time_while_healed not working with more than one healer
  • Added mp_disable_respawn_times 2 ConVar option, which disables the freeze cam in addition to disabling respawn times, for truly instant respawns
  • Added sv_enablebunnyhopping, sv_autobunnyhopping and sv_bunnyhop_max_speed_factor ConVars
  • Added tf_fall_damage ConVar to disable fall damage
  • Fixed VScript values causing a memory leak (thanks ficool2!)
  • Fixed some weapon explosions not being detected properly by map logic

Stability

  • Fixed crashes on maps with large lightmaps
  • Fixed a crash when there are no targets to spectate in a map
  • Fixed a possible crash in some maps, for example when the ball in PASS Time was not picked up by either team and entered a trigger
  • Fixed a crash when PASS Time ball deals impact damage on initial launch
  • Fixed a crash when using addcond 88 (bumper car cage) on a map which does not support it
  • Fixed improperly set up physics constraints not having defined behavior
  • Fixed local servers crashes when players with cosmetics join the server (thanks ficool2!)