local httprequest = (syn and syn.request) or (http and http.request) or http_request or (fluxus and fluxus.request) or request local function serverHop() local function notify(title, message) game:GetService("StarterGui"):SetCore("SendNotification", { Title = title, Text = message, Duration = 5 }) end if httprequest then notify("Serverhop", "Searching for a new server...") local HttpService = game:GetService("HttpService") local PlaceId = game.PlaceId local JobId = game.JobId local TeleportService = game:GetService("TeleportService") local LocalPlayer = game:GetService("Players").LocalPlayer local req = httprequest({ Url = string.format("https://games.roblox.com/v1/games/%d/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true", PlaceId) }) local success, body = pcall(function() return HttpService:JSONDecode(req.Body) end) if success and body and body.data then local servers = {} for _, server in pairs(body.data) do if server.playing < server.maxPlayers and server.id ~= JobId then table.insert(servers, server) end end if #servers > 0 then local selectedServer = servers[math.random(1, #servers)] local playingValue = selectedServer.playing or 0 local maxPlayersValue = selectedServer.maxPlayers or 0 local capacityPercentage = 0 if maxPlayersValue > 0 then capacityPercentage = math.floor((playingValue / maxPlayersValue) * 100) end local shortServerId = "Unknown" if selectedServer.id then shortServerId = string.sub(selectedServer.id, -6) end local pingValue = selectedServer.ping or 0 local fps = selectedServer.fps or "N/A" notify("Server Info", string.format( "Players: %d/%d (%d%%)\nPing: %dms\nServer ID: %s", playingValue, maxPlayersValue, capacityPercentage, pingValue, shortServerId )) wait(2) notify("Serverhop", "Teleporting to server...") TeleportService:TeleportToPlaceInstance(PlaceId, selectedServer.id, LocalPlayer) else notify("Serverhop", "Couldn't find a server") end else notify("Serverhop", "Failed to get server list") end else notify("Error", "Fail") end end serverHop()