local SCRIPT = [[ queueonteleport('loadstring(readfile("serverhop.lua"))()') if not game:IsLoaded() then game.Loaded:Wait() end task.wait(2) local TeleportService = game:GetService("TeleportService") local HttpService = game:GetService("HttpService") local RS = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local Player = Players.LocalPlayer local PlayerGui = Player:WaitForChild("PlayerGui") if PlayerGui:FindFirstChild("ShGui") then PlayerGui.ShGui:Destroy() end local sg = Instance.new("ScreenGui", PlayerGui) sg.Name = "ShGui" sg.ResetOnSpawn = false local lbl = Instance.new("TextLabel", sg) lbl.Size = UDim2.new(0, 280, 0, 36) lbl.Position = UDim2.new(0.5, -140, 0.9, 0) lbl.BackgroundColor3 = Color3.fromRGB(10,10,10) lbl.TextColor3 = Color3.new(1,1,1) lbl.Font = Enum.Font.GothamBold lbl.TextSize = 13 lbl.Text = "Starting..." Instance.new("UICorner", lbl) Instance.new("UIStroke", lbl).Color = Color3.fromRGB(60,60,60) local function status(txt, r, g, b) lbl.Text = txt lbl.BackgroundColor3 = Color3.fromRGB(r or 10, g or 10, b or 10) end local remotes = {} local function collectRemotes() for _, v in pairs(RS:GetDescendants()) do if v:IsA("RemoteEvent") and (v.Name:find("Kick") or v.Name:find("Admin") or v.Name == "RemoteEvent" or v.Name:find("Troll")) then table.insert(remotes, v) end end end local function kick(p) for _, r in pairs(remotes) do pcall(function() r:FireServer(p) r:FireServer("ExecuteCommand", "kick " .. p.Name) r:FireServer("kick", p.Name) end) end end local function getBiggestServer() local ok, res = pcall(function() return HttpService:JSONDecode(game:HttpGet( "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Desc&limit=100" )) end) if not ok or not res or not res.data then return nil end local best = nil for _, s in pairs(res.data) do if s.id ~= game.JobId and s.playing and s.maxPlayers then if not best or s.playing > best.playing then best = s end end end return best end task.spawn(function() collectRemotes() while #Players:GetPlayers() >= 3 do status("Kicking... " .. #Players:GetPlayers() .. " left", 130, 0, 0) for _, p in pairs(Players:GetPlayers()) do if p ~= Player then kick(p) end end task.wait(1) end status("Finding server...", 0, 70, 160) local server = getBiggestServer() if server then status("Hopping to " .. server.playing .. " players", 0, 100, 40) task.wait(0.3) local ok = pcall(function() TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, Player) end) if not ok then task.wait(1) pcall(function() TeleportService:Teleport(game.PlaceId, Player) end) end else status("No server found, random hop", 80, 0, 80) task.wait(0.3) pcall(function() TeleportService:Teleport(game.PlaceId, Player) end) end end) ]] writefile("serverhop.lua", SCRIPT) queueonteleport('loadstring(readfile("serverhop.lua"))()') loadstring(SCRIPT)()