They can’t just simply add sounds lol.
Well they can because it’s happening in my friends game?
If SoundService.RespectFilteringEnabled
is set to true then any sounds added by an exploiter wouldn’t be heard by anyone else anyway.
They are abusing a remote in that case. Thats on your friend not knowing how to protect remotes with simple sanity checks.
But he has no remote events that add things into workspace?
They can manipulate it. Is there any remote that does Instance.new or Clone?
Is there any event that changes the SoundId?
It’s simply impossible to do it any other way.
Yeah it is but they’re in cars n stuff and wouldn’t be global?
Like how can a remote event change the volume or range of something in the workspace if it only changes ids?
They fire a random sound with the id they want and then abuse other remotes to put it into workspace or instance new.
I’ll get them to go through and check the events.
Remote abuse is extremely common in bad remote games like apocalypse rising. For example, a remote that should add clothing can be used to add items.
fireserver(“AddClothing”,StringValueName,StringValueParent)
With that you can add that into anything, even though its meant to be added into the shirt value of the player, they can change the parent and name to anything.
When an exploiter/hacker adds sounds into the workspace, they do so on the client only. Meaning the whole game shouldn’t be effected, only that specific player. To answer your question, the only way to detect if a sound was added, would be with client side scripts. (Assuming you didn’t add a severe backdoor that lets players fire a remote event for sound :P)
I don’t believe they’re using that property, as I have literally never heard of it and I don’t think it even shows up in the properties of SoundService.
It does but I think its probably for other things?
If exploiters can make sounds play by firing remote events then you should add sanity checks to make sure the events can only be fired in the right context. Otherwise you can get the player who fired the remote event from the first parameter and kick them.
Well, you could easily just use game.Workspace.ChildAdded:Connect(function().
Finding the person who inserted it is a lot harder, though.
The RespectFilteringEnabled property determines whether
Sound
playback is replicated from the client to the server, and therefore from server . In other words, when aLocalScript
callsSound:Play
and this property is true , the sound will only play on the respective client. If the property is false, other clients will also hear the sound.
Why not use Filtering Enabled, because anything that’s added from the Client, won’t replicate to the server.
And use RespectFilteringEnabled