I'm trying to make a round role based game where a person gets anchored when someone else sees them. The problem is, that person is fast so when they get anchored.. they are a few studs away from where they actually are on the server.
Usually this would visually be ok, it doesn't really matter but the problem is when once the person looking at them looks away, the server realizes the client is in a different position than serverside so it just immediately gets rid of the real position in the server and replaces it with the fake one where the anchored player is, which makes a teleport which is not a good bug to have.
I have tried many solutions on fixing this such as, moving the player position smaller than a stud which fixed the position but it was a temporary fix because it later on broke code that was required. Sending positions using remote events but that was just really buggy and unreliable to work with.
Here's my code for anchoring the player, it's VERY small. All it does is anchor the fast player which is the problem.
local function StopWA()
for i, parts in pairs(script.Parent:GetChildren()) do
if parts:IsA("MeshPart") and parts.Name ~= "Hitbox" or parts:IsA("Part") and parts.Name ~= "Hitbox" then
parts.Anchored = true
end
end
end

3 comments
I think I understand what you want. The best possible way to do this would be to capture the position locally, and send it to the server via a RemoteEvent. The server will handle the process of teleporting it to where it originally was.
Nevermind, that isn't what you were asking for.
I forgot to mention this BUT changing the position serverside at ALL will break my code. It must be locally or just preventing this issue serverside somehow.