I honestly don’t know where else to put this, since I cannot post in Studio Bugs. When entering the game, I have a button that spawns the player in and teleports them to a baseplate (teleport handled on server). Although the players and other clients will see the exact same thing, if you were to go to the server’s view, they wouldn’t be teleported at all. What makes this even stranger is that if you were to print the player’s position on the client and the server, you’d get the same vector3, despite the server seeing an entirely different thing. Does anyone have an explanation to this?
What the client(s) see:

What the server sees: (It’s way below the baseplate)

Ok So i don’t know if its a script error but if you can show us the script if you have one
local function TeleportToRandomSpawnPoint(HRP)
local Tb = {}
for i, v in pairs(workspace.Map.SpawnPoints:GetChildren()) do
Tb[#Tb+1] = v.Position + Vector3.new(0,2,0)
end
HRP.Position = Tb[math.random(1,#Tb)]
Clear(Tb)
end
The player gets teleported on the server with this function. Each spawnpoint is anchored and has cancollide off, and are all on the baseplate. Clear() is just a function that deletes the table to clear up memory.
Use a global script rather than a local script.
So it works on server rather than the individual client.
That code above is in a script in ServerScriptService, not on a local script.
Try having it just do HRP.Position = Vector3.new(whatever coordinate)
If you still encounter the issue, the problem is not in the code you’ve sent.
Nope it still happens. The server seems to also detach the HumanoidRootPart from the model as well, but as always, the client sees everything is fine.
Try having it spawn a block with local Block = Instance.new(“Block”)
If the block doesn’t spawn in on both, you can be certain that the issue isn’t in the code you’ve sent. But probably if you used another scripts to fire the global, or if there’s a problem with your character model, it’s probably that.
The problem doesn’t seem to be replication issues, but more like the teleporting portion of it. Server seems to teleport just the HumanoidRootPart, but the other limbs stay behind, resulting in this weird separation between the HumanoidRootPart and the rest of the limbs on the server. Client still thinks the model is in one piece, of course.
Sigh, I solved the problem. Seems like I had to use Model:SetPrimaryPartCFrame().