Preventing humanoid states on the server

I have a couple of parts where it crucial that they cannot be climbed. I am aware of SetStateEnabled and ChangeState but it appears they don’t work on the server. I would prefer not to handle this on the client as it would be easily exploited. Does anyone have any suggestions on how I might overcome this?

Hey RequiredModule!

I think you’re over thinking this, you can simply put an invisible part blocking the parts you don’t want climbed and alter that block on the server. As for exploit security, there are ways to detect players deleting local parts and kick them accordingly.

Hope this helped!

I appreciate your suggestion but that solution would be applicable to the situation.

This is the issue, when the tiles fall you can position yourself so that you climb the part beside it.

I see your issue now. I would say forget about humanoid states and just make the platforms fall on a touched event. Or rather give a touched event to the player and test if it is one of those platform parts.

Touched is quite unreliable, I doubt that would be a reliable solution.

Usually I would agree with you, but Touched will fire on a physics updated part, which your player is.
I’m certain it would work much better and smoother than whatever system you’re using right now. It would also remove the need to this kind of debugging.

I have tried using touched prior to my current method. It did not work reliably unfortunately.

I have tried this, SetStateEnabled seems to only work on the client.

Hey wait just a moment! Why are you so concerned with exploiting anyway? Literally no exploiter EVER is going to try to make a climb exploit script when they can just fly. You’re being overly cautious. I would say if you really want to go with humanoid state prevention then just do it locally, no one in the history of exploiting has ever preferred climbing to flying or other better methods of cheating.

Well yes, that is true. I prefer to handle these things on the server but it seems handling this on the client is the only viable option…

1 Like

Trust me, you’re being wayyy too cautious here. I’m sure local humanoid state prevention will be fine and there’s such a niche use in exploiting it that even if someone does decide to do it they’ll only gain a slight advantage that can easily be taken away by any other player that runs by them.

Actually I have thought of a more complex solution, I will cast a ray from the humanoidrootpart to detect it!

I will go back and mark this as the solution if this works

You’re already doing a ray cast to check for the part under a player I’m assuming, and you want to do more? You’re trading efficiency for security in an unreasonable fashion. This is over kill, friend.

Eek that is true. I am already casting one from each foot so I guess that would be a bit overkill, I guess I will do it on the client.