Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
2

Person exploiting on my FE game. How to prevent this?

Asked by 4 years ago

Some person was in my game, *he looked like this. I understand he used a third party exploit to become 'that' and mess with other players. I couldn't ban him with admin. Does anyone know the scripts to prevent this? I think it's a back door.

  • https://imgur.com/a/siyU9lu
0
This occurs from a vulnerability in your code. There's not really a way to help without seeing your code. hiimgoodpack 2009 — 4y
0
You could check for abnormalities inside of the player or their character, and if something doesn't seem quite right, you can kick/ban them. killerbrenden 1537 — 4y

2 answers

Log in to vote
2
Answered by 4 years ago

I'll be completely honest here, there's no simple solution to this question.

Here's how exploits work: A player injects code into a local script. Essentially, they create a local script that can have the most abusive properties possible within your game. Now, you know how you can call remote events and functions from local scripts? Well, they can do the exact same. To prevent exploits, one essentially has to treat the client as if it's evil, essentially making the game "untrusting" of client scripts.

Here's an example that most people should know: Apocalypse Rising. Many players know how exploiters can kill players simply by clicking a button on that game? Want to know why? They have a remote event called "Damage", which does exactly as you expect it to. Now, imagine a local script, running this Damage event on every player hundreds of times. That's exactly how an exploit works. How one fixes this is by doing server-sided checks, maybe making it so that the game checks that a bullet has to hit, or even that the bullet must come from the nozzle of the gun of the player.

Now, there is a second issue, and this is a bit more tricky: Player CFrame. Client scripts have the ability to change the position of a player, and this replicated to the server due to performance reasons. To solve this, typically one does a combination of max displacement checks, as well as checking whether their velocity matches the change of position that occurs.

To sum it up, never trust a local script by making them very weak.

Ad
Log in to vote
-4
Answered by 4 years ago
Edited 4 years ago

If you really want to ban him/her then you can write a code that may look like this

game.Players.PlayerAdded:Connect(function(plr)
    if plr.Name == "PlayerName" then
        plr:Kick("You have been BANNED!") --You can change the message to whatever you want
    end
end)

This will kick him/her every time he/she joins

0
Could you say this question has been answered if this is what you were looking for? kingblaze_1000 359 — 4y
0
You shouldn't use names to ban people, instead you should use their player ID. Also, you can just make a table containing the ID's so you don't have to do this everytime for a new ID. NotedAPI 810 — 4y
2
I'm certain that this isn't the answer he's looking for, He stated "Prevent" User#17685 0 — 4y

Answer this question