janiluuk / L4D2_DLR

My pet project. This is complete rework for DLR mode in Left 4 Dead 2. This goes above and beyond ordinary competitive modes.
4 stars 1 forks source link

Engineer Exploits and bugs. #3

Closed TheRealSpiritJoker closed 1 year ago

TheRealSpiritJoker commented 1 year ago

using a separate plugin for the turrets is a bad idea, ALL of the servers using this method for the turrets have a major exploit.

when an engineer places a turret they call a command to tell the turrets plugin to spawn the turret, however this command can easily be found and used by anyone. SI players can spawn delete turrets, so can nonengineer players.

there is/was? also a bug, if a turret fails to spawn it will still count towards built items meaning you can potentially use all your builds without actually building anything. this issue was fixed in my version by combining the 2 plugins into 1 and adding checks to make sure spawns were successful.

janiluuk commented 1 year ago

Yep, using external turret plugin is a temporary solution until get new pimped up internal version working and/or sdk working so can spawn external plugins internally. It wont make the servers any less secure they already are :) I have advised e.g. WK to change the internal command for the turret meanwhile.

Currently you can disable the external plugin for it in the config, and by default in new version its 0 by default

janiluuk commented 1 year ago

Let's maybe have a chat about this, sourcepawn should allow SDK hooks for plugins, but the documentation for that is really not helpful.

Idea would be to expose few event hooks from the main plugin that other plugins can register to, and then just implement those hooks to each of the plugins that want to include for various scenarios.

Best example i've come across is this https://github.com/LuxLuma/Luxs-Model-Changer/tree/master/addons/sourcemod/scripting

Any thoughts?

janiluuk commented 1 year ago

Plugin system was applied with last release along with removal of external plugins.

Next one should have it in the final and simplified form but this should be already solved.