This is good for modding but don't be misled, this is the TF2-specific code which sits on top of the still-closed-source Source engine. For example you couldn't port TF2 to a new platform with this, at least not without reimplementing Source or wrangling it into working with one of the leaked Source codebases and dealing with the legal fallout of that.
As someone who used mod TF2 on the server side, this is fantastic. I've spent countless hours analyzing the binaries in IDA and now you can just open github. This will definitely accelerate new features and bugfixes from the community.
It's about damn time, really. The TF2 source code has already leaked twice. And a group even made a cloned version of the game in an earlier version of the engine. The community support this game still has is massive.
edit: here's the announcement from the TF2C Discord:
==============
@everyone We'll have more to say later, but you might not be able to launch TF2 Classic for a little bit due to the massive SDK update and public release of Team Fortress 2's code.
We're already preparing for the porting efforts and a potential Steam release now that we've been legally enabled to pursue that, but in the meantime, you will have to shift Source SDK Base 2013 Multiplayer to the "previous2021" beta branch that still has the previous revision of the SDK files to continue playing. See the screenshot for an example.
Woah... woah WOAH I wasn't expecting to see this on HN. I've been expecting this for a long time, and if I was valve I would have done something like this a long time ago: release a "final" celebratory content update, port the game to vulkan, and open source the codebase (keeping the item servers and whatnot tied to valve's servers). I don't know if this is the beginning of the end or the end of the beginning of TF2. There have been leaks before but this is huge news.
The fact that they did this before bothering to recompile it for 64-bit Mac says a lot—Valve clearly doesn’t see Apple as a friendly place to do business. Makes sense, with Apple trying to lock game devs into the App Store.
I fear the day that Gaben dies/resigns. Hopefully Valve finds a worthy successor, but it's not unheard of for a company to lose its way after the original generation is gone.
I wonder if they'll start accepting pull requests. There are a lot of bugs I'd like to see fixing in the game. I've been annoyed by the Medigun beam not lining up with the model for about ten years by this point.
I feel like under every news regarding Valve, Steam or their games people tend to find some crazy conspiracies on why Valve did that or didn't do this. When actual truth is that Valve is ~400 people company plus some contractor artists making items for CSGO / Dota / etc.
Valve is not 40,000+ company, not even 4,000+. 400 people. That's it.
anyone would have recommendations on a lightweight physics engine in javascript? building my own js game now and having a hard time with movements and collisions. i would like to avoid importing a whole game engine library if possible.
Should I not be surprised that TF2 on its own, without the game engine's source code, is >1,000,000 LOC? That seems crazy to me. The full diff doesn't load on GitHub. Perhaps a lot of this is auto-generated.
TF2 was a great game and a halloween tradition for me and some friends. Unfortunately it became public-unplayable with all the bots going on and around.
I'm kind of surprised that after all these years TF2 and Source are still separate entities. Like, is there any TF2-only code in Source that only runs if TF2 is the current mod?
Wondering if this is so Valve doesn't have to keep updating TF2. It's a 17 year old game and the last real update was Jungle Inferno in 2017. I wonder if it's going to turn into more of a community maintained "sandbox" game.
it was heavily disliked by people. So I think I have come across the solution of crowdfunding.
I have presented various benefits to the crowdfunding & I am writing this again so that this can be a comment of its own so that it can be much more easier for hackernews people to see I suppose for better discussion purposes I suppose.
Meanwhile... the "steam client" on elf/linux is still 32bits and hardcoded for x11/GL (nope, no tables of functions with wayland/vulkan/gpu fallbacks...) ... and don't forget about those bash-only scripts carefully using all those (often GNU) niche options of commands...
Oh... and pressure-vessel which pulls linux expensive "user/mount namespace" in for... a desktop system, only for what seems the "I-don't-why-they-cannot" generate clean 64bits ELF binaries, namely with proper glibc ABI selection (see 2nd part of the binutils ld VERSION documentation page, and the man page of the readelf command for auditing those binaries), dynamic loading of core video game interface shared libs (x11/wayland is statically linked/libasound/libvulkan/legacy libGL/libxkbcommon[-x11]).
Oh and lately, I had to build the original lsof command to please the steam webhelper... and there is a liblsof library they could have linked statically...
Valve "linux" devs should be worry putting "valve" on their resume, this could backfire... seriously.
Valve releases Team Fortress 2 code
(github.com)1826 points by davikr 18 February 2025 | 386 comments
Comments
It's about damn time, really. The TF2 source code has already leaked twice. And a group even made a cloned version of the game in an earlier version of the engine. The community support this game still has is massive.
edit: here's the announcement from the TF2C Discord:
==============
@everyone We'll have more to say later, but you might not be able to launch TF2 Classic for a little bit due to the massive SDK update and public release of Team Fortress 2's code.
We're already preparing for the porting efforts and a potential Steam release now that we've been legally enabled to pursue that, but in the meantime, you will have to shift Source SDK Base 2013 Multiplayer to the "previous2021" beta branch that still has the previous revision of the SDK files to continue playing. See the screenshot for an example.
Thank you, and we'll have more news soon!
https://github.com/ValveSoftware/source-sdk-2013/blob/0759e2...
(Also includes links to recent updates for other Source engine titles)
I fear the day that Gaben dies/resigns. Hopefully Valve finds a worthy successor, but it's not unheard of for a company to lose its way after the original generation is gone.
On the flip side, does this SDK actually help bot makers? That would be unfortunate indeed.
Initial commit
+1153568 -222431 lines changed
Valve is not 40,000+ company, not even 4,000+. 400 people. That's it.
Existing instructions use the old, leaked source engine. Time to make it official and native.
Shame that source itself is proprietory.But still its leaked so its "theoretically" possible to be open source. IDK.
it was heavily disliked by people. So I think I have come across the solution of crowdfunding.
I have presented various benefits to the crowdfunding & I am writing this again so that this can be a comment of its own so that it can be much more easier for hackernews people to see I suppose for better discussion purposes I suppose.
https://github.com/ValveSoftware/source-sdk-2013/issues/624#...
Oh... and pressure-vessel which pulls linux expensive "user/mount namespace" in for... a desktop system, only for what seems the "I-don't-why-they-cannot" generate clean 64bits ELF binaries, namely with proper glibc ABI selection (see 2nd part of the binutils ld VERSION documentation page, and the man page of the readelf command for auditing those binaries), dynamic loading of core video game interface shared libs (x11/wayland is statically linked/libasound/libvulkan/legacy libGL/libxkbcommon[-x11]).
Oh and lately, I had to build the original lsof command to please the steam webhelper... and there is a liblsof library they could have linked statically...
Valve "linux" devs should be worry putting "valve" on their resume, this could backfire... seriously.