Ragdoll only works on client, breaks when done on server (R6)

I’m trying to make a slap ragdoll system in my R6 game. On the client, the ragdoll works perfectly. the player falls over and it looks smooth.

But when I try to do it on the server (so everyone can see it), it gets all messed up. Limbs clip through each other, physics are weird, and sometimes it doesn’t even fully ragdoll.

I’ve tried:

  • Breaking Motor6Ds and replacing with BallSocketConstraints
  • Transferring network ownership
  • Doing it in a ModuleScript
  • Using RemoteEvents to tell clients to ragdoll
  • Everything I could find

Client version works, but only the slapped player sees it
Server version works kind of, but it looks broken.

Client version :

Server Version :