This is CompTF2C. Click here for United Fortress.
HARBOR OF
COMPETITIVE
TF2 CLASSIFIED

CATEGORY: Tech

Technical revolution of competitive TF2C: part II

0 comments

In the last article in March, we laid down the road map for changes that need to be implemented to TF2 Classified for a viable competitive gameplay, while documenting the temporary solutions made by CompTF2C in the pre-Steam era. Now in August, CompTF2C and a few of its stubborn members stand as a community actively involved in testing, bug fixing, and pinpointing them for the developers. The following is the progress report of that.

FeatureStatusDetails
Tournament mode Ready Up2team fixed
4team HUD developer-ready ✅
Code found in TF2 SDK
Reported as Issue #958 and Issue #977
2team fixed in 3.0.12
Team status HUDDeveloper-ready ✅⏲️Available in TF2 SDK
Reported as Issue #1002
Tournament StopwatchNo general bug ✅
Harbor and Avanti problems:
developer-ready ✅⏲️
Entity properties found in Hammer
(Avanti logic likely a design choice)
See Issue #960
VIPR time limit cvarReported 📝⏲️Can not be troubleshot externally
See Issue #936
Quick VIP selectionReported 📝⏲️Can not be coded externally
See Issue #1003

It all started with Xinayder entering the Discord server in May. Him and PuG runner starm0nster started testing different game modes in July to see where the tournament mode Ready Up function and the stopwatch functionality fails. Xinayder didn’t stop there, and went to the public TF2 SDK to understand how it works in live TF2, and from there, estimate how it could have gone wrong in TF2C. This led to a conversation between Güven and the creator of the TF2 Competitive Fixes plugin, twiikuu, who guessed that it could be about the fact that there are four teams defined in TF2C, whereas only two teams are able to ready up via the tournament HUD in a 2team map. That brought to mind what f stated about the initial post-Steam PuGs. A quick search in the Discord DMs reminded us that f indeed reported Ready Up to be functional in 4team maps. This further clue led to twiikuu finding the exact code that goes wrong, which, Xinayder documented properly. On 31 July, the developer team fixed the issue with the release of TF2 Classified update 3.0.12! Another bug reported by Xinayder, concerning Arena and the tournament mode (although may not be vital for the scene) is also fixed with update 3.0.12.
He went further and found bugs possibly hindering tournament HUD for 4team, and again, found where it could go wrong in the TF2 SDK as well.

Read the full article »

The technical revolution competitive TF2 Classified needs in the Steam era

1 comment

We have witnessed the breakthrough of Steam-released TF2 “Classified” (first time we call that name here) on January 31, 2026 together with the rest of the world, where its number of concurrent online players peaked at almost ten thousand. More than a month passed, and there is still a steady number of about one thousand that plays TF2C any time of the day. Technically, our game is now based on the inherited live TF2 code. An immediate consequence of it is working tournament HUD for some of the game modes, and A/D (or PL) stopwatch for some other, as was prophesied. We are closer than ever to get rid of the need for the manual entries of mp_tournament_restart and mp_restartgame X to start a match, the presence of an admin in the server, or dependency on an SM plugin (efforts of rainwyre and Jaws) to count the time. (Yes, we know it sounds puzzling for the live TF2 folk who had a fully functional tournament mode since 2008.)

Of course, we are still missing out on a seamless experience on any game mode. Nevertheless, it is the beginning of a new era for competitive TF2C where all the ugly workarounds can be made native to the game. Commands PuG runners are trained for, configs made by carefully picking the not-server-crashing cvars from ETF2L‘s (special thanks to them), custom SM plugin for proper VIP-assignment (by Jaws), another custom stopwatch-like SM plugin as mentioned above, VIPR-specific scripts using Stripper SM plugin (with help from Dynamilk), vscript to regulate the respawn behaviour of Territorial Domination at round-starts (a short code by Güven)… all are now archived in our old Tech Manual page. Thanks to these old warhorses, and to anyone who contributed and played, CompTF2C managed to organize various events and competitions throughout 2025.

While TF2C competitive community keeps organizing pick-up games regularly on its Discord server, the development team EMINOMA is still working hard to make sure the game is running smooth for everyone. After that, there will likely be a time for when they finally roll up their sleeves to improve competitive. The rest of this article lists what TF2 Classified will need when that time comes.

Read the full article »

Bug revealed in shared VIPR logic, and further customization

0 comments

During the month of June CompTF2C executed the HAMMER MONTH, playtesting a series of custom maps competitively over 3 weekends, as previously covered. During vipr_chopper_b2 (by Damon) in Week 1, it was realized that mp_stalemate_enable 0 does not work properly, with the control points being broken after a Sudden Death round that was bypassed (the way competitive TF2 is played at least since the first ETF2L config in 2008). VIPR and vipr_drizzle creator 14bit, and Damon dug deep into this issue and found out that while the official VIPR maps did not suffer from it, the custom-made vipr_chopper did, because of the shared VIPR logic prefab on tf2maps.net. 14bit then updated the shared prefab with the one we have in our official TF2C installations, and informed the TF2C Mapping Community accordingly. Damon, on the other hand, compiled vipr_chopper_b2pro for CompTF2C, that includes this correct prefab, as well as the customization we will describe below.

In competitive we defined mp_timelimit 30 and mp_match_end_at_timelimit 1 for VIPR, to prevent an infinitely long match and an infinitely long last round, as done for 5CP–another mode that adds to the round timer with every point capture. Note that this is technically a necessity, although we do recognize that conceptually VIPR is designed with a “simultaneous A/D CP” or PLR in mind.
VIPR maps so far are designed with setup times which is a non-issue for public gameplay where mp_match_end_at_timelimit is 0. In our pick-up games, when the map time remaining was only a little more than 60 seconds, the setup timer of 60 seconds made the last round basically irrelevant. These 1-2 minute long last rounds are the history-making ones in the legacy of competitive TF2, with the losing team playing a very aggressive mid, going all-in. The long setup timer also makes all the midfights (the rawest action in competitive) an über exchange situation (both teams cautiously holding on to their 100% charges). Damon was so kind to also remove the setup timer in the pro version of his map according to our feedback.

As creation of a “pro” version for every VIPR map would not be a sustainable solution, we looked for creative ways to achieve that. We turned our heads to the Stripper: Source plugin following Damon’s advice; and with technical support from its guru in the TF2 Classic universe, Dynamilk (host of the Bangerz.TF Engineer Fortress server, connected via bangerz.tf:27018), we installed and tested the right version. Apparently we were not the first ones, as competitive TF2 people wanted to achieve the same thing 17 years ago for the setup timer of cp_well and every other map that would otherwise need a “pro” version. We quickly implemented the solution to our official cfg/plugin/vscript pack, and gave the required guidance in our tech manual. At the end of the day, CompTF2C keeps clearing the obstacles to make a viable competitive TF2 Classic.

Muster the Gun Ensemble… it is here.

0 comments
Art: dekrzz

A light shining bright and beaming and beautiful is descending from above. Something awe-inspiring, jaw-dropping, flabber-gasting: from the life-giving palms of azzy (with assistance from mad scientist Güven) and Jaws’ AltTab (server hosting, with hints from sapphonie herself) comes the arrival of MGE–My Gaming Education? Mad Gambling Enjoyment?? We don’t know either. That’s right for the first time in many months players are able to enjoy or grind out their deathmatching on this classic gamemode from within TF2C, so your excuse for not wanting to play live just won’t cut it anymore.

Two full-time servers will feature an EU or NA location for more preferable ping so you know your loss was honorable and a maximum player limit of 16. Staple gamemode bball–a 2v2 with soldiers fighting for control of the intel–is fully functional and playable. Get on that court and slamdunk that goal you maggots. Finally… it is with great displeasure to announce the current removal of ELO which will be missed sorely amongst the most prideful and shameless warriors. Taunt and lure your enemy on #mge-bros, join, !add up, and I will see you fragging on badlands spire soldier!

AltTAB – [EU] MGE: 140.238.84.229:27015
AltTAB – [NA] MGE: 167.234.214.228:27015