How would I hide the positions of specific players from clients?

Hi! Is there a way to hide the positions of certain players from the client without ever replicating their location? I want to hide the positions of things outside of a player’s location, which can easily be done for everything except player characters. How would I prevent the replication of their position (or potentially even other states)? Thanks!

Unfortunately, I’m fairly certain this is not possible, as long as default character controls are used. My second thought was streaming, but that still doesn’t prevent exploiters from indexing character via player instance.

For years have individual ideas about selective replication been floating about. I am not aware of such methods coming true to-date.

Can we at least make finding position slightly harder locally? Maybe. Script executors can hook metatables to trick local scripts, but (sadly and luckily) we can’t unlock existing ones in studio. Maybe there’s another way? Most certainly, none are full-proof, seeing they are local.

1 Like

Humanoidrootpart.Position = CFrame.new(1,1, += 1)
something like that idk lol

1 Like

Damn that sucks. In the event that I make use of a custom character, I’m guessing that such a custom character control system would avoid the use of Player.Character? Or would transmitting character CFrame through remotes be enough to customize character position replication?

Yes, I believe that would be a solution, though definitely not an easy one. An example would be this amazing character controller called Chickynoid, which, focusing on security and implements client predictive and server authoritative movement.

[ A side note: I haven’t dived into the code to confirm the exact process, but the idea is that client has their own version of their character, and server the global one (think Minecraft). So in Chickynoid client player.Character exists (locally), but it is nil on server, which means for everyone else. ]

If we wanted to hide Position and CFrame properties of character, we would need to 1) hide the player in workspace and 2) hide access to character via player. If we can’t regulate replication, client definitely has full (read) access to what we send. I suppose a custom module/Chickynoid could be rigged to not transmit hidden players’ location to others.

2 Likes

To add to this, chickynoid supports per player replication, so you can hide players from other players.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.