I mean you could check every second whether the Player’s position on the server is the same as on the client and set it to that (but this is extremely risky because any client can spoof the system).
You could use a sanity check to determine if the amount of studs the client has moved is reasonable. But honestly I’m too tired to do the math… sorry
I can tell you’re testing right now (and the game isn’t public) so you could probably get away with this:
local rF = game.ReplicatedStorage.remoteFunction
task.spawn(function()
while task.wait(2.5) do
local cCFrame = rF:FireClient(serverCFrame)
-- cCFrame returns the Client’s CFrame
if cCFrame ~= serverCFrame then
plr.Character.HumanoidRootPart.CFrame = cCFrame
end
end
end)
I may be asleep by the time you respond. I’ve been responding to a lot of DevForum posts within the last few hours. Sorry in advance
I’m not sure, never ran across this type of problem because well, I’ve never done anything related to this before. I don’t really have any suggestions but to well, maybe wait it out or test it in the actual game (like not in Studio).
You should put the vaulting script on the client, as movement for your player is done on the client.
There is also something called “lag”, where the it takes time for the client to tell the server where you are, so on the server you are a few steps behind than on the client. This gets bigger with higher ping.
Client calculates the character’s physics and because of this server has to wait client’s calculated position. You can get client’s position with InvokeClient or make vaulting script on the client.
There’s no point trying to secure it that way, the best thing to do is to verify that the client moved the correct distance after vaulting, not to do the vaulting itself as that would be really laggy for the players with high ping.
Not in this case. Handling movement on the server without a whole lot of other complicated tricks on the client will just make moving around feel slow and choppy.
I was referring to a different reply, but it’s always good to inform those that don’t know anyway
There is no point is what I am trying to say. Doing it on the client can reduce memory leaks and just calculate the operations on the CPU. It may reduce FPS, but it is better than the whole server shutting down.