I’m guessing that the client set the BodyForce to 0. That change does not replicate, regardless of network ownership.
I guess it’s also worth saying that NetworkOwnership only tells who gets to determine the CFrame of each part (and maybe a bunch of other physics-related stuff, like Velocity/AngularVelocity). That’s it. It doesn’t mean that ALL changes made by whoever owns that part get to be replicated.
Does the server even need to know about the BodyForce? Create and manipulate it locally. It will still work assuming that it’s parented to something that the player owns.
Really, having the client create the BodyForce isn’t even necessary in the first place. Even if it was the server that created the BodyForce, local changes to the BodyForce (assuming that the player owns the part that it’s parented to) will still apply.
Same for the two front wheels. When it slides off the ramp, the two front wheels no longer have a surface to detect so it cuts the force. the front eventually drops, but it just drops really slow, I don’t know why.
Can you confirm that local changes to the wheel are actually being applied to the part? Whether or not your suspension equation works is a different question.
I don’t know what’s causing the problem. Do you apply just enough force so that it cancels out gravity? I think the force is being applied to the root part of the assembly, not the parent of the BodyForce, instead.
Yeah, but those wheels are presumably connected to the chassis, and the force is (possibly?) being applied to the chassis instead of each wheel since the chassis is the root part.
Since you’re applying just enough force to cancel out gravity, this causes the entire car to float.
Instead of using a BodyForce, try using a VectorForce (a new-ish constraint) instead, with the force applied relative to the world. This will be applied to where the constraint is instead of the assembly’s primary part.
EDIT: I’m fairly sure this would help with your problem. On the left is a VectorForce, on the right is a BodyForce. Each force is applied to the tinier part.
Notice that the assembly on the left looks like it’s being pulled “upwards” by the tinier part, whereas on the assembly on the right it looks like the force is being applied uniformly throughout.
EDIT2: Oh, and make sure that ApplyAtCenterOfMass is ticked, too. Otherwise the force will be applied where the attachment is. Nevermind this is bad advice. Make sure that the attachment is centered on the wheel instead.