My game has custom replication set up (clients send their positions to server constantly and server tells every other client their position and replicates it)
On every other client its simply setting the hrp.CFrame for every entity. This seems to break my ragdoll while also giving it a very weird behaviour.
The HRP/Torso is replicating just fine, and the replication is in full effect. For some odd reason, the limbs magically just lock in place and do not follow the torso. Weirdly enough, if i just comment out the part of my replication setting the CFrame of the HRP, aka disable the replication, the ragdoll works perfectly fine.
Whats even weirder, like I show in the clip, if I walk near the limbs, they will start weirdly flying towards the torso/hrp. Debugging in studio reveals that the network owner is RED aka in buffer mode while the limbs are flying back to the torso.
My ragdoll is a normal ragdoll using ballsocketconstraints, disabling motor6d and collider parts.
It’s probably because the client owns their character, so there’s discrepancies in trying to change how it’s positioned (if I could guess.)
Do you need a custom replicator though? I thought for ragdolls and such, this should behavior should replicate automatically due to the player owning their character.
ok so all the parts on a humanoid that arent directly attached to the HRP get positioned relative to the HRP on each client. When you disable the motor6ds connecting them to the HRP there is no code updating the assembly, that is until you step over the HRP or any of the parts, which sends a request to the server to get the properly aligned position of those parts, as per the network owners client.
So to fix the issue we basically need to find why the client doesnt request CFrame updates from the server if the motor6ds are disconnected, and if theres even any way to do that.
My current solution is to just construct the ragdoll assembly on the server, which makes interacting with the ragdoll on clients other than the networkowner laggy. But its all i can think of
Could you try setting the streamingmode to persistent on the model for me and see if that fixes our issue? im away from my computer for a couple days and have a hunch that might be it. Just a hunch though.
Setting it to persistent made the ragdoll work, but at the same time it effectively disabled the replication for some reason.
I only enabled it on 1 player model, for the other player viewing it the replication latency was way higher than for the other player looking at him. But the ragdoll worked