The most important thing here is that servers do not own objects. Servers have authority over objects. Actors own objects. If you set PlayerControllerB to the owner, then PlayerControllerB owns that object - not the server, and PlayerControllerA and PlayerControllerC can not call RPCs and can not send the information that would otherwise be required to sync.
As such, if it wont work without ownership, then it’s a little pointless.
Maybe it’s a bug in the current version but it actually doesn’t sync at all, regardless. I made a new blueprint, added a cube, set the cube to simulate physics, set the blueprint to ‘Replicates’. Just doesn’t do it.
Look at this video - the character is being corrected when hitting the box on either the client or server, because it’s not synced.
https:///v39ye