Just ran into this myself. My sound is under a part and it is playing globally when :Play() is called server side. I have RollOffMinDistance = 0 and RollOffMaxDistance = 20. I’m hoping that the Play() event packet isn’t even sent to clients that are outside this range, so that if I have a lot of sounds I’m not packing the network pipe with useless updates.
These aren’t chatty properties, so no reason not to replicate them? To hack around this I need setup a localscript and some remoteevents, which is annoying every time I want to play a local 3d attenuated sound.
Sounds have some funky replication choices. It would be cool to have someone look at all of them and decide if they make sense.
EDIT: Through experimentation, I found that RollOffMaxDistance is always broken when RollOffMinDistance = 0. Setting RollOffMinDistance to 10 makes my sounds play. Otherwise they are inaudible in-game.