#my anti cheat doesnt work against actual hackers

1 messages · Page 1 of 1 (latest)

sand ice
bold inlet
#

is this a localscript?

sand ice
silent elbow
#

lol

#

what a contrived over-engineered piece of garbage hehe

#
    if humanoid.WalkSpeed > 50 then
        humanoid.WalkSpeed = math.clamp(humanoid.WalkSpeed, 0, 12)
        correctPosition(lastPosition)
        flag("WalkSpeed exceeded server max")
        lastPosition = root.Position
        return
    end``` this does literally nothing
#
    if humanoid.Health > 300 then
        humanoid.Health = 0
        flag("Possible Godmode / Health hack")
        lastPosition = root.Position
        return
    end``` this does literally nothing
#
    if not legitStates[state] and math.abs(velocity.Y) > MAX_VERTICAL_VEL then
        root.AssemblyLinearVelocity = Vector3.zero
        flag("Vertical exploit")
    end
``` this is pretty much never going to trigger
#
    local ray = workspace:Raycast(currentPos, Vector3.new(0, -4, 0), rayParams)
    local grounded = ray ~= nil``` this is improper (use humanoid.floormaterial)
silent elbow
#
    local speed = delta.Magnitude / dt
    if speed > maxAllowedSpeed then
        correctPosition(lastPosition)
        flag("Speed exploit")
        lastPosition = root.Position
        return
    end``` this is just plain flat out wrong
#

speed is pretty much over the max allowed 100% of the time

#

which suggests this script contains an error

#

and somehow im not surprised of that

sand ice
#

so uh

#

how would i fix it

silent elbow
#

so just testing this

#
    if not isSprinting and sprintCooldown <= 0 then
        if horizontalVel > (WALK_LIMIT + WALK_TOLERANCE) then
            correctPosition(lastPosition)
            flag("Exceeded walk speed limit")
            lastPosition = root.Position
            return
        end
    end``` this is the only one firing
#
    local speed = delta.Magnitude / dt
    if speed > maxAllowedSpeed then
        correctPosition(lastPosition)
        flag("Speed exploit")
        lastPosition = root.Position
        return
    end``` also got one of these as expected since it pretty much guarantees firing 100% of the time
#

even if you aren't cheating

sand ice
silent elbow
sand ice
#

i mean

#

i never did

silent elbow
#

yeah maybe thats why its not working for you

#

coz it is triggering for me

#

its just

#

very bad 😂

#
    local speed = delta.Magnitude / dt
    if speed > maxAllowedSpeed then
        correctPosition(lastPosition)
        flag("Speed exploit")
        lastPosition = root.Position
        return
    end
``` this triggers basically just always
#

specially when falling

#

step off the baseplate and get kicked 😂

#

and yea if this is a localscript its not going to do anything since exploiters can just disable it

#

specially if you named it AntiCheat

#

and there is one extra interesting factor to this

#

because you should be getting false-positives

#

its definitely kicked me a few times for no reason 😂

sand ice
#

yeah that happens 😔

silent elbow
#

so leads me to believe you've either made this a localscript, or you're accidentally giving EVERYONE the IgnoreAntiCheat or Ragdoll flag, which ignores the anticheat, OR they have some kind of counter to this but i highly doubt that

#

its not practical to decouple the rootpart from the character just to fly around, and it'd get detected on landing

sand ice
silent elbow
#

so it's either a localscript, or you're giving everyone the ignore flag

#

that's after ignoring all the checks here that don't do anything

silent elbow
#

test your shit better next time Thumbs

sand ice
silent elbow
#

you can manually emulate what a cheater is doing straight out of roblox studio, by setting your humanoid's speed on the client. this causes a desync making your humanoid very fast on the client, but the server doesnt know anything until you start moving

silent elbow
#
    if humanoid.WalkSpeed > 50 then
        humanoid.WalkSpeed = math.clamp(humanoid.WalkSpeed, 0, 12)
        correctPosition(lastPosition)
        flag("WalkSpeed exceeded server max")
        lastPosition = root.Position
        return
    end``` if you can't trigger it manually, exploiters will never trigger it.
sand ice
silent elbow
#

'did you try ever once setting your walkspeed above 50 on the client? no? well go do that'

sand ice
#

thats why i said the anti cheat doesnt work

#

against actual hackers

#

it works against me tho when i fly and set speed

silent elbow
#

and i know for a fact you never did that because if you did, you would know that condition doesn't do anything

silent elbow
#

everything else seemed fine tho

silent elbow
sand ice
#

is there a better way to detect speed exploits tho?

silent elbow
#

distance comparisons is about the only thing you can do on the server

#

just be mindful you can never ban for this due to false positives

sand ice
#

i dont

#

it's just kicks atm

#

like the only problem im trying to figure out is why does it not trigger for actual hackers

#

hold on

silent elbow
#

you'd have better results putting random remoteevents in your game and connect them to an instant ban tbh

#

"AdminCommand" -> only thing it does is ban

#

"FreeMoney" -> ban

#

these are guaranteed cheaters

#

so you can ban for it

#

🙂

#

since exploiters tend to be dumb skids who cant write their own cheats, they'll just fire random remotes to mess with your game

#

here is an actual fly hack i found from googling for 3 seconds i wonder if they have any countermeasures

silent elbow
#

damn obfuscated garbage

silent elbow
#

-- arceus x FLY script v2
-- this script is easy to deobflucate right?
-- yea you can deobflucate this but plese give me a credits
--BY me_ozoneYT

#

here's the actual code by this little piece of shit

#

for starters

#

add this to your detections

#
local main = Instance.new("ScreenGui")
main.Name = "main"
main.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")```
#

you'll need clientside of anticheat for that

#

haha

#

yep

#

this is interesting speaker.Character.Humanoid:ChangeState(Enum.HumanoidStateType.RunningNoPhysics)

#

so they do change the state to something random

#

that'll stop you detecting anything based on humanoid state

#

well

#

aside from detecting this fact

silent elbow
# silent elbow

fortunately there's a few ways to detect this one, but you can be assured that this is not the only one

silent elbow
# sand ice ill check this out 👦

so ya point is, just bear in mind these cheaters are dumb kids with no scripting skills, they don't make their own cheats they just use other people's

#

and often, these shitty cheats are made by other kids who barely have a clue or ai generated it, so there should be tonnes of easy ways to guarantee detections

#

detecting difference in position is a start but it has false positives, you can do so much better without risking false positives and actually start issueing bans if you actually care about anticheats 👍

sand ice
#

dang bro..

#

yeah i understand what their doing now

#

your a big help ❤️

sand ice
silent elbow
#

but if it were me, and i were building an actual anticheat

#

i'd be looking for existing cheats to find ways to detect them

#
  • check loadstring enabled + check httpservice enabled, particularly if your game doesnt use either
#
  • listen for random shit added to playergui or workspace
#

instances that shouldn't exist on the client

#

etc

#

lots of ways to detect on the client, and they don't always have countermeasures

#

even if they did, there are ways to counter the counters

#

such as cloning the detection script into their playergui

#

with random name

#

or having parts of your game that are required for function also perform some detections so they can't just blindly disable it otherwise it breaks the game

#

lots of ways to do it

#

anticheats are not strictly limited to just detecting difference in position, which again, has false positives

#

none of these other methods can produce false positives

#

if loadstring is enabled, guaranteed cheater

#

etc

#

naturally you need to be an experience scripter to capitalize on any of this so, good luck

sand ice
#

👍

supple musk
#

we snapshot the data, then give it to some neural networks

#

wouldnt it be more accurate if we train the AI on py

#

write to data stores

#

in which our game will read that data

#

and perform some cals

silent elbow
silent elbow
silent elbow
supple musk
#

then we could create neural net on our scripts

#

using the data

#

i tried it before

silent elbow
#

i dont think you understand any of this

silent elbow
# supple musk would AI anticheat work on this?

anyway no this is not possible, and not relevant to this thread. there will never be such thing as an ai cheat detector, since it will always have false positives due to ai hallucination.

#

confirming a cheat requires a detection method with 0% chance of false positive. those are not something ai can help with

#

since you would need to know in advance who is and is not a cheater in order to train it, thus eliminating the point of the ai in the first place.