Client-Server side part position different

So, I’m trying to fix a boat, that appears normal in all clients, but it’s bugged in studio’s server-side, when I move it using surface vectors, those will result wrong, so that’s why I don’t like that, here’s photos:
Client-Side:
https://gyazo.com/2f86807020df972d943a586c41122d92
Server-Side:
https://gyazo.com/a4929dc9517a0fd480685e228389d00e
The boat is spawned trough a server-side script.

When you say it “appears normal in all clients”, do you mean other players see the replicated change when they join or is it just you and anyone currently in the server?

What I mean is:
Player1: Appears normal.
Player2: Appears normal.
Server: Different position.
Every player sees it like that.

How is the boat welded and controlled?

I’m guessing probably through some local script.

The boat is welded with normal welds(not weld constraints), and has got in the main part:
BodyPosition,
BodyGyro,
BodyAngularVelocity.
Actually there’s no local script, there’s just one for building it, but that scripts fires an event to build it in server-side.

“theres just one for building it” - so one exists?

My three current guesses are either going to be:

  • Network Ownership, sometimes causes physics which you may not expect.
  • Network Replication, caused by Local Scripts usually as clients will see things based on their perspective.
  • Just how those things work.

I assume your aware that if a local script is controlling the BodyPosition etc then it wont replicate over properly. Its difficult for me to say if this is a problem or not - I’d check to see if physics are updated for clients who join after movement.

So, it may be caused by a bug with Body Gyro, checking better only the seat and the rotation is affected, the position is the same. EDIT: This is enough strange, I added body gyro just to limit movement, I’m not using it.

Its not really a bug, its likely the clients handling the object themselves instead of the server doing it.

But its difficult to tell how your boat moves and what does / doesn’t exist in the Server copy.

The welds for example, could have broken in the Server.