Multiplayer Physics Door

I have a questions about multiplayer and physics doors.

Main question is in regards to rotation keeping somewhat in sync. What I am doing now is when the door is rotating on the server the door wakes up, starts ticking, and is set to simulate physics. The server is replicating the doors Yaw. On the server once the door has stopped rotating/has low angular velocity I stop ticking/simulating physics and set it back to dormant. For clients they receive an on rep for the yaw. If they are not ticking then it starts ticking and enables physics simulation. They are interpolating their version of the doors yaw to match the replicated yaw. The further off the rotation is the faster the interpolation. Once it gets close to the servers yaw I stop ticking/physics simulating on the client. So far this gives a decent result on clients but I believe as with everything, it can be better. Are there any other better solutions for tackling this problem?

Test with a 300ms to 500ms ping in client mode + 2 or more players.

You cannot sync movement and keep it smooth when latency/packet loss is involved.

The server sending any sequential rot data will make the door jitter and potentially move faster/slower depending on the clients framerate. You’re also flooding the network (saturation) and eating precious bandwidth.

You’ll be better served to have each client open/close (lerp) the door based receival of a multicast open/close state command from the server.

Tested with 200 ping. The idea in terms of handling bandwidth was its only sending it while the door is moving on the server, aside from that it goes back to being dormant. Given that most likely at most 2-3 doors would be active at a time (sitting dormant 90+% of their lives) that it shouldnt be a big deal. Main problem with having the clients interpolate the door based on a multicast is where the door may end up due to clients running into it. I dont care to much about the door staying in sync in “real time” as its moving but more so where it ends up. Thats where I kind of like the interpolation approach with speed based on difference in rotation like a rubber band but I’m sure theres better alternatives to it