To avoid going off topic, I'm going to keep this short and not too in-depth.
This is afterall, about compatibility.
Quote:
Originally Posted by smiley@tf2nerds
This also applies the other way around
|
Nope.avi
Quote:
Originally Posted by smiley@tf2nerds
does it make sense for every plugin to implement functions for every anti-cheat letting them know if they can do their job?
|
It's not every plugin tho... It's only for those who alter inputs or do other funky stuff.
There are only a few known & used ACs out there, and hundreds of plugins that alter player inputs (many of which are obscure). Book-keeping here is not equal, doing this on the AC won't work.
Plus, doing it the way you suggest means the AC would either:
1. Have to disable features entirely for plugins that may only alter input or run every now and then.
2. Or have duplicate code of other plugins to know when it can and can't run.
Neither of these solutions are workable.
The reason why it's done this way with forwards, is because there isn't a clear way to detect when other plugins alter player inputs or do other funky stuff. And then there is plugin load order, which do complicate this further.
Using forwards is the most efficient way to deal with this, which is why SMAC does it as well. And using forwards means that when plugins haven't altered anything, the AC can run its detection without problems.
Quote:
Originally Posted by smiley@tf2nerds
Perhaps it would make more sense to prevent the anti-cheat from classifying behaviour which isn't cheating as such
|
I don't think you understand how server side Anti-Cheats work.
You write detections for things which are inhuman (or at least very unlikely or rare to happen frequently), and cheat features which are impossible unless a game is modified. Other plugins, can affect this, and SM doesn't have a clear way to detect this.
Lilac also has a few checks which are more complicated than other ACs, so a single forward really is the best option here.
You can choose not to add the forward if you like, tho it would be a shame for other servers if they decide to run both and an error occurs. :/
If you have any questions or want to discuss this further, you can message me on here.