Very Basic Anti-Cheat

Hi, I’m sort’ve sick of script kiddies in darkrp’s and stuff and I also really don’t know why AC’s are more widespread, even the simplest of ones.

Therefore, I created VBAC! (acronym for the title)

http://puu.sh/7qH4P.png

Just like the name says, it is very basic, but it will catch some idiots. (hey, some is better than none, ya?) All it does so far is detect known cheat convars that differ from the servers. Though, from my statistics I’ve kept myself, bans from QAC (my pay-for AC) around %35 of all bans are convars. Therefore, what do you have to lose? It will ban via ULX if it is available, if not, it will use garry’s default ban system. The time can be changed in sv_vbac.lua in addons/vbac/lua/autorun/server/

My goal was to create an AC that is not intrusive, doesnt lag, and can work with any game mode you can think of.

If you want them to be automatically perma’d, it’s literally drag and drop into addons. If you have any questions, critique about my (possibly?) awful coding, just say so and I’ll do my best to fix/add/do whatever you like.

Click here to download!

Version 1.0 (03/10/2014)
Initial Release
Version 1.1 (03/10/2014)
Added logging.
Version 1.2 (03/11/2014)
Fixed false ban. Woops :>

Nice, even if it won’t catch most competent cheaters it will definitely own a bunch of mpgh skids.

johnny guitar seal of approval

Of course! I know for a fact tons of people will get around this (mostly lua coders) but little kids who dl’d a cheat off of hackforums most likely wont.

It’s a small step until HeX releases his AC publicly.

Let’s hope he doesn’t because that will be like giving a butch of sugar to kids…

well it’ll just kill lua cheats entirely and c++ cheats will rise.

I’m still wondering why bypasses for simple convar renaming dont have their source code released.

I mean if their goal was to bypass anti cheats then allowing others to change the cvar to what ever they want would only help achieve that goal.

Dear God thats partly what I don’t want because I rather not have a butch of skiddies come into C++ now, I just recently started learning C++ and I have my own C++ hacks so I rather not have a butch of 9 year olds ruin it :confused:

-snip not relevant, whoops-

Dunno but plz no

Dont want dat

was going to release mine, looks pretty good i guess

edit: wow this is easy to bypass…

Well hence the “very basic”

Well considering you’d need to either a. Have load priority or b. custom bypasser (which isnt public)

I do not think so lol

[editline]12th March 2014[/editline]

Though assuming you arent stupid yeah sorta is

Instead of looping through each cvar in the table to send them, why not just send the table?

Also another thing is that I can just net.Receivers[“ConVarSend”] = nil or change it to do something else.

What stops you from doing something like this
[lua]
net.Receivers[“timedcheck”] = function() print(“nope”) end
net.Receivers[“ConVarSend”] = function() print(“nope”) end
[/lua]
You don’t need load priority for this and it overrides your function

You know that stuff in the client folder isn’t run on the server right? Because you have a useless if statement around your clientside code for some reason (same with the serverside code).

didnt think about that, first thing that came to my mind was a net.Receive detour



	local ccc = CreateConVar
	local tc = timer.Create

These also aren’t even used?

originally it was shared, but i moved it, it doesnt hurt, more or less lazy to pull out

[editline]13th March 2014[/editline]

The entire client-side is localized how do you plan to over-write net.Receive?

[editline]13th March 2014[/editline]

nr("ConVarSend", function()

you cant just over-ride nr

[editline]13th March 2014[/editline]

After looking into it a bit more.

is net.receivers an actual table? I have never in my life seen this. My bad.

Will fix later

[editline]13th March 2014[/editline]

On the plus side, I’ve learned something today

I highly doubt this will take out cheaters with private cheats and know how to code, but things like this will help get rid of the vast majority of cheaters: little kiddies who download whatever looks the shiniest.

I have to admit I didn’t know about it before looking at the net library code for ways to bypass your anticheat.

Let me know when you have fixed it and I will give it another shot