Delete this Delete this Delete this

Delete this Delete this Delete this

1 Like

Could you reference the post?

I really don’t understand how that could be the case, RemoteEvent events already handle additional threads/coroutines each time they’re fired, so even if it throws an error it won’t stop the listener bound to the event from continuing to get called.

2 Likes

pcalls aren’t used for anti exploiting. They are used to check for error reporting if a Roblox Service or some function failed to happen, like DataStores for example being the most prominent one.

You can read more about pcall here: Pcalls - When and how to use them

4 Likes

I lost the post, but it was on someone’s else post about exploiting, the guy who said that post has the ‘astronaut’ accessory

2 Likes

I know, but the guy who said that in his post, gave me a little feeling of “hope”, I think he said something like that :“Check if the player fires something,if its mothing - he is exploiting”

1 Like

I think he said something like that :“Check if the player fires something,if its nothing - he is exploiting”

1 Like

I can take a guess at what that author was getting at. If you have a remote event receiver and no parameter was passed, then either an exploiter called that remote (or you called it wrong in your local script!)

function remoteEventReceiverFunction(player, someParameter)
  if someParameter == nil then
    print(player.Name .. “ could be exploiting!”
  end
end

You could use a pcall, but honestly just checking if your parameters are nil would be much easier. (There are cases where you should be checking for invalid/improper values in your remote events anyways!)

The nice thing about pcall is that, regardless of the value they pass in, when your remote event handler errors, you can recover it to find the potential exploiter’s player object.

Frankly, if your remotes are properly secured/set up, it doesn’t matter if exploiters are probing your game’s remotes or not.

The benefit of doing this makes it more difficult for exploiters to develop exploits for your game since they would get kicked for passing in nil or other invalid values.

The risk of doing this is that if there is any error in one of your local script’s calls, a player could get improperly kicked/labeled as an exploiter!

I prefer to not do this to avoid improperly kicking players from my games, but as the developer of your own game, you are empowered to make your own decision on the matter.

1 Like

If you want remote events to be secure, you should instead make the remote events smart and do multiple checks on who fired it and what arguments were passed. Along with doing checks on the arguments passed to see if they are right or anything. And if you really wanted too I guess, you could have a remote event logger that prints something in the console whenever a remote event is fired.

1 Like