JarateKingmemes aside -- making an fps config is very difficult and takes a lot of effort. Mastercomfig has over 2 years of work put into it, and is several thousand lines long in total (compared to your 38 lines long). Unless you do something completely different (rhapsody's had an in-game setup, for example) and spend as much time and effort making something equally good, there's no reason to not just use mastercoms' instead.
Not to discourage you from contributing to the community, but making a good fps cfg is not an easy thing to do.
You are not writing code, you are altering how an engine functions, with all the toys to play with laid out for you in a confusing manner. Having most of the source code to the engine helps with negating the initial confusion, and tones down the difficulty considerably.
LeuxD<post>
Cool that someone else is messing around with the game, but I've got advice if you want to make proper configs, and you'd learn valuable skills while at it. https://github.com/VSES/SourceEngine2007 https://github.com/ValveSoftware/source-sdk-2013
Presuming you know nothing of C++, don't start from a book to learn the basics, ignore the lisp evangelists, and avoid youtube tutorials. Start with https://www.learncpp.com/ & search engines, treat search engines as a gateway to writing better code, I'm thinking you would write code later on.
Here's some stuff to look into about what you've changed in your configs, I didn't exclude any nitpicks.
fov_desired 75 - Not worth giving yourself a disadvantage.
r_lootlod 2 - Spelling error.
shader_details 1 - Doesn't exist.
mat_antialias 0 - Off is 1, https://github.com/VSES/SourceEngine2007/blob/43a5c90a5ada1e69ca044595383be67f40b33c61/src_main/gameui/OptionsSubVideo.cpp#L292
mat_phong 0 - Careful, it can be the source of your crashing on maps not in Valve's pool, also breaks the upgrade station from MvM visually.
mat_vsync, r_eyes, r_flex - You are setting the defaults, since these convars do not contain the 'client' or 'archive' flag, they can be taken out as the changes to their values are not saved.
Keep in mind that talking about how the engine handles networking is a touchy subject, this is how I see it.
cl_cmdrate 40, cl_updaterate 40 - Set both to 66, it's better to have more ticks for the game to work with, it's not better to have more consistent tickcounts, so don't limit to 40 cause of your low framerate, it helps to have more valid ticks when your connection starts dying.
cl_interp_ratio 2 - Set to 1, having it higher does not help against your own lag and other lagging players, it only makes your shots less accurate. Interpolation is used for the feeling of fluidity, lowest possible interp shouldn't be jarring to most as it is not important. Extrapolation is utilized when your connection has packet loss, the game needs to be smoothened out in that instance and is important, you wouldn't have much accuracy anyway with the slew of invalid ticks.
rate 35000 - That will increase choke, the game is still very light on your network at the default 80000.
mastercomsThe problem I have with configs like this is that console variables aren't going to change from config to config. It's the same game/engine, reading the same console variables. So there's going to be ideal values for those variables that everyone will eventually find (besides the ones that control quality vs. performance tradeoffs).
Supporting other source engine games in a nutshell, I've made a complete port to Garry's Mod months ago, strange quirks like r_rootlod being above 0 messing up the interiors of TDM cars. The port was generally the same as the TF2 config apart from convar removals, aforementioned quirks, and some new convars to mess with. Alot of playtesting really.