-- Refresh Button refreshBtn.Size = UDim2.new(0, 100, 0, 30) refreshBtn.Position = UDim2.new(1, -110, 0, 35) refreshBtn.Text = "Refresh" refreshBtn.Parent = mainFrame refreshBtn.MouseButton1Click:Connect(function() refreshServers() end)
screenGui.Name = "ServerBrowser" screenGui.Parent = player:WaitForChild("PlayerGui")
-- UI Library (using vimmy/Custom UI or simple ScreenGui) local player = Players.LocalPlayer Roblox SERVER BROWSER SCRIPT
local success, data = pcall(function() return HttpService:GetAsync("https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?limit=100") end)
-- 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 -- Refresh Button refreshBtn
serverList.CanvasSize = UDim2.new(0, 0, 0, yOffset) statusLabel.Text = #servers .. " servers loaded." end
-- Fetch & display servers function refreshServers() statusLabel.Text = "Fetching servers..." " servers loaded
local decoded = HttpService:JSONDecode(data) local servers = decoded.data
-- 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)