• Anti cheating discussion
    324 replies, posted
Ye, ban the cheaters, and then call their parents.
wel, theres sirously NO way to handle all the cheaters, else u would need to let the claints download EVERY single posible lua file so there wil be endless just to make it a bit harder. or override all the ESP comands or w/e hack command, then thay need to change the command, wil work for sometime, and stil, you guys are complaining that cheaters can bypass SE but most of em are even too stoepit to code lua, so most are stopped by that way. the printscreen pic is an nice idea, but look to this: ur the head admin on the server, u can watch all the pics, every minute therewil be 4 screens taken, from every player, then if u dont play about a day, u get spammed in the pics, so thats an fail idea. if just garry would make an special command to just block ALL of the clients lua files, BEFORE loading/sending the gamemodes client-side, it might would be the end of the cheaters, and for the hooks, just be sure to have an admin online always, and just ban, sometime thay wil stop cheating and wil be scared to get bans. (< only work if u got an FUN server :D)
I don't think you guys are getting it. Yeah there are faults in ScriptEnforcer, and those are issues I have to deal with. But where people are using external programs to fuck around with GMod, that's VAC's job.
[QUOTE=garry;14283686]I don't think you guys are getting it. Yeah there are faults in ScriptEnforcer, and those are issues I have to deal with. But where people are using external programs to fuck around with GMod, that's VAC's job.[/QUOTE] I think Valve have forgotten to update the CRC in Garrysmod for VAC, I lull'd.
[QUOTE=mbainrot;14275555]Anti Cheat Ideas for Garry's Mod; - Ability to detect EVERY function execution, thus allowing anti-cheat to detect rouge hooks - Script execution protection, allowing server sent files to be protected from any commands from the client side that may unload them.[/QUOTE] [url=http://www.lua.org/manual/5.1/manual.html#pdf-debug.sethook]debug.sethook[/url]. I've never used it myself, but I imagine that would be fairly simple to find functions being called unless the script maimed the function. ( rawset( debug, "sethook", function( ) end ) ) Garry, does the client still run their files before the gamemode is loaded? If they do, could you fix that, if possible? Other than that, Jetboom is correct - the best way to accurately detect cheaters ( unless they are really, really good at cheating ), is just by watching them in first person and having admins on the server to ban them. It's not perfect, but it works for the most part.
[QUOTE=garry;14283686]I don't think you guys are getting it. Yeah there are faults in ScriptEnforcer, and those are issues I have to deal with. But where people are using external programs to fuck around with GMod, that's VAC's job.[/QUOTE] It would be nice if you activated VAC, but allowed previously banned people to keep playing (idk if this is even possible). [QUOTE=Kogitsune;14283768] Other than that, Jetboom is correct - the best way to accurately detect cheaters ( unless they are really, really good at cheating ), is just by watching them in first person and having admins on the server to ban them. It's not perfect, but it works for the most part.[/QUOTE] I agree with this. It's not hard at all to determine if the player is cheating or not.
What about creating a player dummy that looks like a normal barrel or something, and when damageded or looked at directly it kicks/bans the player?
[QUOTE=kevkev;14283930]or looked at directly it kicks/bans the player?[/QUOTE] Because banning a player for looking at something is a good idea.
[QUOTE=Cub3;14270322]Mingebag kicker [lua] function MingeBag() for k,v in pairs(player.GetAll()) if(v:Nick == "MingeBag" or "M!nGe" or "minge" or "M1ng3b4g") do v:ConCommand("kickid " ..v:Nick().. "You got Kicked Change your Name") end end end hook.Add( "Think", "MingeBag", Mingebag ) [/lua][/QUOTE] Yes, I'm pretty sure Steam Community sets your name to "MingeBag" by default...
How about having an option to disable EyeAngles and the like on servers with custom gamemodes? I don't see the use for it other than in sandbox. (smartsnap) I don't know, there's probably gonna be ways around that too by just making the client believe that it's off or something. But if there weren't a way around it, it'd probably help a bit.
[QUOTE=CapsAdmin;14284412]How about having an option to disable EyeAngles and the like on servers with custom gamemodes? I don't see the use for it other than in sandbox. (smartsnap) I don't know, there's probably gonna be ways around that too by just making the client believe that it's off or something. But if there weren't a way around it, it'd probably help a bit.[/QUOTE] You can disable eyeangles.. but that doesn't stop the load of other ways of doing it. Doesn't break wallhacking either. You can re-implement the functions with modules, too.
Who cares? Why try and police a sandbox game? Every server should have atleast 1 admin on at all times anyway. If there isn't a admin on then the server deserves to be fucked with.
[QUOTE=C++;14285669]Who cares? Why try and police a sandbox game? Every server should have atleast 1 admin on at all times anyway. If there isn't a admin on then the server deserves to be fucked with.[/QUOTE] thats... not.... realy... true....XD im running 5 servers, and i got about 10-20 admins, but realy, what lifless guy is willing to play about 2-6 in the night? only seen russian people at that time, and none of my admins..... but stil... i always get the report at my crashed in the morning..XD wel, but my point is, as server whitout admins isnt suposed to be crashed, its just sad that admins are needed in an server.
[QUOTE=Kogitsune;14284101]Because banning a player for looking at something is a good idea.[/QUOTE] No i mean perfectly looking at the origin of the prop it for longer than a second.
[lua]local aimpos = victim:GetPos() + Vector(0, 0, 1)[/lua] There goes your anticheat.
[QUOTE=Kogitsune;14243101]You have several functions available ( unless the script was super anal hardcore rootkit ). *long way on how to detect if someone hacks*[/QUOTE] Yeah right. And when you found out that someone hacks, you need to send a concommand to tell the server he hacked in order to ban him. What about a "concommand fire-wall"? Block any suspicious concommands like "Player_Cheated_Do_Ban".
Not hard to name your cheat shit something inconspicuous.
The best anticheat is acutally on SEOW - RP It just removes all your 'cheat hooks' with every frame.
[QUOTE=The-Stone;14287108]The best anticheat is acutally on SEOW - RP It just removes all your 'cheat hooks' with every frame.[/QUOTE] No it doesn't, I override their gamemode functions :F
[QUOTE=The-Stone;14287108]The best anticheat is acutally on SEOW - RP It just removes all your 'cheat hooks' with every frame.[/QUOTE] Yes, because clearly you can ONLY use hooks to run functions right? As Cat said, you can just override the hooks being used by the gamemode itself, since you aren't going to remove those every frame. The best anti-cheat is having admins who pay attention and know how to detect cheating. Cheating is easier than detecting cheating, so it is theoretically impossible to write a script that accurately detects cheating, that cannoy be bypassed itself.
[QUOTE=Catdaemon;14287122]No it doesn't, I override their gamemode functions :F[/QUOTE] At least it would keep 99.9% from cheating D:
[QUOTE=The-Stone;14287286]At least it would keep 99.9% from cheating D:[/QUOTE] Blocking known cheats does not make anything cheat-safe. I coded my own hack. It's detectable of course. But it's unreleased so not yet detected.
[QUOTE=aVoN;14287384]Blocking known cheats does not make anything cheat-safe. I coded my own hack. It's detectable of course. But it's unreleased so not yet detected.[/QUOTE] It doesn't block known cheats, it blocks everything unless you overwrite the Gamemode itself, and 99.9% of the GMod users can't do this at their own.
I don't think a lot of people you guys understand the point of almost any anticheat in garrysmod. The point isn't to catch the 1% of people who could possibly get around it, it's to catch the 99% of people who use JetBot or SlobBot who don't know how to do anything more than bind commands.
Another decent way is to validate that no commands have been overwritten(hook.Remove,hook.GetTable) and let the server know that it is ok. If server never gets that ok, kick the player. Of course you could use SendLua and build the function to validate otherwise it could be captured. Not sure if a SendLua can be intercepted.
It can't as it's an engine usermessage.
Well there you go. I don't notice any problems with that other than a bunch of SendLua's for each joining player. Or just wait until scriptenforcer is fixed.
I remember someone talking how he got around SendLua, so that would be useless too
-snip- Firefox fuckup.
[QUOTE=hegrec;14287777]Another decent way is to validate that no commands have been overwritten(hook.Remove,hook.GetTable) and let the server know that it is ok. If server never gets that ok, kick the player.[/QUOTE] [lua] local OldRemove = hook.Remove function hook.Remove(Hook,Name) if (Name != "MyHook") then OldRemove(Hook,Name) end end [/lua] [quote] Of course you could use SendLua and build the function to validate otherwise it could be captured. Not sure if a SendLua can be intercepted. [/quote] As I recall, there was a way of doing this not too long ago, I will have to check it out later when I get in game. As for trying to block 99% of cheaters with scripts, it still quite futile, it only takes one person cheating to ruin the server.
Sorry, you need to Log In to post a reply to this thread.