I have been programming in C++ for the past 6 years and would like to get started on making Source Engine client plugins in a similiar fashion to P-REC or CastingEssentials. Unfortunately I couldn't find any good resources on the matter. The valve developer wiki page (here) is a stub and even though I'm quite proficient in C++ just looking at the source code of CastingEssentials doesn't reveal anything about building or the basics of plugin development.
So to the plugin developers here: Can you recommend some resources that go through the process of making a (TF2) client plugin?
I have been programming in C++ for the past 6 years and would like to get started on making Source Engine client plugins in a similiar fashion to P-REC or CastingEssentials. Unfortunately I couldn't find any good resources on the matter. The valve developer wiki page ([url=https://developer.valvesoftware.com/wiki/Client_plugins]here[/url]) is a stub and even though I'm quite proficient in C++ just looking at the source code of CastingEssentials doesn't reveal anything about building or the basics of plugin development.
So to the plugin developers here: Can you recommend some resources that go through the process of making a (TF2) client plugin?
What are you looking to do?
I don't think "Client Plugins" are actually a thing, CastingEssentials hooks into IServerPluginCallbacks (in engine/iserverplugin.h) from what I can tell; from there you can pretty much do whatever you need
I don't think anyone has ever fully documented how shit actually works after reverse-engineering; you can probably find snippets by googling random topics or class names.
I've dabbled a little; it's a lot of poking around once you get hooks working
You're honestly probably better off using CastingEssentials as a base
Depending if they can afford to spend time with you, Pazer and SIGSEGV are great sources of knowledge, the AlliedModders wiki and forums as well
I'm gonna say the following, not to discourage you, but as a warning for the sake of your mental health:
Working with the source engine takes an insane amount of patience, you're battling with C++ code that's almost 20 years old, most of this shit doesn't make sense, it's probably not worth your time
Good luck
What are you looking to do?
I don't think "Client Plugins" are actually a thing, CastingEssentials hooks into IServerPluginCallbacks (in engine/iserverplugin.h) from what I can tell; from there you can pretty much do whatever you need
I don't think anyone has ever fully documented how shit actually works after reverse-engineering; you can probably find snippets by googling random topics or class names.
I've dabbled a little; it's a lot of poking around once you get hooks working
You're honestly probably better off using CastingEssentials as a base
Depending if they can afford to spend time with you, Pazer and SIGSEGV are great sources of knowledge, the AlliedModders wiki and forums as well
I'm gonna say the following, not to discourage you, but as a warning for the sake of your mental health:
Working with the source engine takes an insane amount of patience, you're battling with C++ code that's almost 20 years old, most of this shit doesn't make sense, it's probably not worth your time
Good luck
Twiikuu is correct, there isn't really such a thing as client plugins. It's just a matter of pretending to be a server plugin so the game will load your dll, then once you're actually loaded you can start hooking functions. I'm afraid I don't know of any tutorials or anything though, you just kinda figure stuff out as you go along. The closest thing to tutorials or a help forum would be game cheating forums, but that's about 75% script kiddies copy and pasting code.
That being said, feel free to add me on steam if you want to ask me anything specific.
Twiikuu is correct, there isn't really such a thing as client plugins. It's just a matter of pretending to be a server plugin so the game will load your dll, then once you're actually loaded you can start hooking functions. I'm afraid I don't know of any tutorials or anything though, you just kinda figure stuff out as you go along. The closest thing to tutorials or a help forum would be game cheating forums, but that's about 75% script kiddies copy and pasting code.
That being said, feel free to add me on steam if you want to ask me anything specific.
That's unfortunate. So it's essentially writing a cheat with somewhat good intensions? Well I don't know if I want to go through the hassle of finding out offsets. Nevertheless thanks for the quick reply :)
That's unfortunate. So it's essentially writing a cheat with somewhat good intensions? Well I don't know if I want to go through the hassle of finding out offsets. Nevertheless thanks for the quick reply :)