So I was bored and I tried to make a quick implementation of Server Authoritative Movement without a custom character controller. It’s just a proof of concept however and is very buggy. I do not recommend you use this in production games. Also equipping tools crashes Roblox.
Cloning your character and regaining local control is not server authorative movement. It doesn’t even work, it errors right off the bat. I set it up as it was intended to, and it assumed the remote event existed in Replicated Storage even when it didn’t. WaitForChild fixes this.
Did you even set it up? Also, the client clone is a fake. It’s not what you see on the server, it’s just there to hide input lag (just like how chickynoid has a player model on the client but only a box on the server). Also, isn’t it obvious this is a proof of concept? Obviously a full complete project would do better than a proof of concept to prove if something is possible.
edit: there’s an error on line 59 but at least it doesn’t break it
edit 2: i dare you to try to get any movement cheat to work once you set it up properly
actually the dude is right, server authoritative systems do need a client character and a server character, the client character is only seen by the client and its there to instantly respond to inputs, while the server character is the “real” character used, and recieves the inputs from the client.
Server authorative movement is when the server validates the client’s input. There is no validation from the server, it’s just a copy of the character.
If you ignore the client character, it’s pretty much just the client sending inputs to the server, which then runs those inputs. It then sends its own position to the client so they stay in sync.