if not servers or #servers == 0 then statusLabel.Text = "No servers found." return end
-- UI Library (using vimmy/Custom UI or simple ScreenGui) local player = Players.LocalPlayer
serverList.CanvasSize = UDim2.new(0, 0, 0, yOffset) statusLabel.Text = #servers .. " servers loaded." end
local yOffset = 0 for _, server in ipairs(servers) do local playing = server.playing local maxPlayers = server.maxPlayers local jobId = server.id local ping = "N/A" local serverButton = Instance.new("TextButton") serverButton.Size = UDim2.new(1, -10, 0, 40) serverButton.Position = UDim2.new(0, 5, 0, yOffset) serverButton.Text = string.format("[%d/%d] JobId: %s", playing, maxPlayers, string.sub(jobId, 1, 12).."...") serverButton.BackgroundColor3 = Color3.fromRGB(50, 50, 60) serverButton.TextColor3 = Color3.fromRGB(255, 255, 255) serverButton.BorderSizePixel = 0 serverButton.Parent = serverList serverButton.MouseButton1Click:Connect(function() statusLabel.Text = "Joining server: " .. jobId TeleportService:TeleportToPlaceInstance(placeId, jobId, player) end) yOffset = yOffset + 45 end Roblox SERVER BROWSER SCRIPT
-- Clean old entries for _, child in ipairs(serverList:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
local decoded = HttpService:JSONDecode(data) local servers = decoded.data
-- Status Label statusLabel.Size = UDim2.new(1, 0, 0, 20) statusLabel.Position = UDim2.new(0, 0, 1, -25) statusLabel.Text = "Ready" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) statusLabel.BackgroundTransparency = 1 statusLabel.Parent = mainFrame if not servers or #servers == 0 then statusLabel
-- Toggle GUI with 'B' key UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.B then screenGui.Enabled = not screenGui.Enabled end end)
-- Fetch & display servers function refreshServers() statusLabel.Text = "Fetching servers..."
local success, data = pcall(function() return HttpService:GetAsync("https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?limit=100") end) placeId
-- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.Text = "Roblox Server Browser (JobId List)" title.BackgroundColor3 = Color3.fromRGB(20, 20, 30) title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Parent = mainFrame
screenGui.Name = "ServerBrowser" screenGui.Parent = player:WaitForChild("PlayerGui")
-- Server List Frame serverList.Size = UDim2.new(1, -10, 1, -70) serverList.Position = UDim2.new(0, 5, 0, 40) serverList.BackgroundColor3 = Color3.fromRGB(40, 40, 50) serverList.BorderSizePixel = 0 serverList.CanvasSize = UDim2.new(0, 0, 0, 0) serverList.ScrollBarThickness = 8 serverList.Parent = mainFrame