-- Script de Informações Completas do Servidor - Roblox -- Executa em executors como Synapse X, Krnl, etc. local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Stats = game:GetService("Stats") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerStorage = game:GetService("ServerStorage") local HttpService = game:GetService("HttpService") local MarketplaceService = game:GetService("MarketplaceService") local LocalPlayer = Players.LocalPlayer -- Interface GUI local ScreenGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local TitleLabel = Instance.new("TextLabel") local InfoScrollFrame = Instance.new("ScrollingFrame") local UIListLayout = Instance.new("UIListLayout") local RefreshButton = Instance.new("TextButton") local ExportButton = Instance.new("TextButton") local CloseButton = Instance.new("TextButton") local TabFrame = Instance.new("Frame") -- Configuração da GUI ScreenGui.Name = "ServerInfoGUI" ScreenGui.Parent = game.CoreGui ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling -- Frame principal MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(20, 25, 35) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(0.05, 0, 0.05, 0) MainFrame.Size = UDim2.new(0, 600, 0, 500) MainFrame.Active = true MainFrame.Draggable = true local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 15) Corner.Parent = MainFrame -- Título TitleLabel.Name = "TitleLabel" TitleLabel.Parent = MainFrame TitleLabel.BackgroundTransparency = 1 TitleLabel.Position = UDim2.new(0, 20, 0, 10) TitleLabel.Size = UDim2.new(1, -140, 0, 40) TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.Text = "🖥️ Informações do Servidor" TitleLabel.TextColor3 = Color3.fromRGB(100, 200, 255) TitleLabel.TextSize = 22 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left -- Botão Refresh RefreshButton.Name = "RefreshButton" RefreshButton.Parent = MainFrame RefreshButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50) RefreshButton.Position = UDim2.new(1, -120, 0, 10) RefreshButton.Size = UDim2.new(0, 35, 0, 35) RefreshButton.Font = Enum.Font.SourceSansBold RefreshButton.Text = "🔄" RefreshButton.TextColor3 = Color3.fromRGB(255, 255, 255) RefreshButton.TextSize = 16 local RefreshCorner = Instance.new("UICorner") RefreshCorner.CornerRadius = UDim.new(0, 8) RefreshCorner.Parent = RefreshButton -- Botão Export ExportButton.Name = "ExportButton" ExportButton.Parent = MainFrame ExportButton.BackgroundColor3 = Color3.fromRGB(150, 100, 50) ExportButton.Position = UDim2.new(1, -80, 0, 10) ExportButton.Size = UDim2.new(0, 35, 0, 35) ExportButton.Font = Enum.Font.SourceSansBold ExportButton.Text = "📋" ExportButton.TextColor3 = Color3.fromRGB(255, 255, 255) ExportButton.TextSize = 16 local ExportCorner = Instance.new("UICorner") ExportCorner.CornerRadius = UDim.new(0, 8) ExportCorner.Parent = ExportButton -- Botão fechar CloseButton.Name = "CloseButton" CloseButton.Parent = MainFrame CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseButton.Position = UDim2.new(1, -40, 0, 10) CloseButton.Size = UDim2.new(0, 35, 0, 35) CloseButton.Font = Enum.Font.SourceSansBold CloseButton.Text = "✕" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextSize = 16 local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 8) CloseCorner.Parent = CloseButton -- ScrollFrame para informações InfoScrollFrame.Name = "InfoScrollFrame" InfoScrollFrame.Parent = MainFrame InfoScrollFrame.BackgroundColor3 = Color3.fromRGB(30, 35, 45) InfoScrollFrame.Position = UDim2.new(0, 20, 0, 60) InfoScrollFrame.Size = UDim2.new(1, -40, 1, -80) InfoScrollFrame.ScrollBarThickness = 12 InfoScrollFrame.BorderSizePixel = 0 local ScrollCorner = Instance.new("UICorner") ScrollCorner.CornerRadius = UDim.new(0, 10) ScrollCorner.Parent = InfoScrollFrame -- Layout UIListLayout.Parent = InfoScrollFrame UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 5) -- Variáveis para armazenar informações local serverInfo = {} -- Função para criar seção de informação local function createInfoSection(title, items, color) local SectionFrame = Instance.new("Frame") SectionFrame.Name = title .. "Section" SectionFrame.Parent = InfoScrollFrame SectionFrame.BackgroundColor3 = Color3.fromRGB(40, 45, 55) SectionFrame.Size = UDim2.new(1, -10, 0, 0) SectionFrame.AutomaticSize = Enum.AutomaticSize.Y local SectionCorner = Instance.new("UICorner") SectionCorner.CornerRadius = UDim.new(0, 8) SectionCorner.Parent = SectionFrame local SectionLayout = Instance.new("UIListLayout") SectionLayout.Parent = SectionFrame SectionLayout.SortOrder = Enum.SortOrder.LayoutOrder SectionLayout.Padding = UDim.new(0, 3) local Padding = Instance.new("UIPadding") Padding.Parent = SectionFrame Padding.PaddingTop = UDim.new(0, 10) Padding.PaddingBottom = UDim.new(0, 10) Padding.PaddingLeft = UDim.new(0, 15) Padding.PaddingRight = UDim.new(0, 15) -- Título da seção local TitleLabel = Instance.new("TextLabel") TitleLabel.Name = "SectionTitle" TitleLabel.Parent = SectionFrame TitleLabel.BackgroundTransparency = 1 TitleLabel.Size = UDim2.new(1, 0, 0, 25) TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.Text = title TitleLabel.TextColor3 = color or Color3.fromRGB(255, 200, 100) TitleLabel.TextSize = 16 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.LayoutOrder = 1 -- Itens da seção local itemOrder = 2 for key, value in pairs(items) do local ItemLabel = Instance.new("TextLabel") ItemLabel.Name = key .. "Item" ItemLabel.Parent = SectionFrame ItemLabel.BackgroundTransparency = 1 ItemLabel.Size = UDim2.new(1, 0, 0, 20) ItemLabel.Font = Enum.Font.SourceSans ItemLabel.Text = "• " .. key .. ": " .. tostring(value) ItemLabel.TextColor3 = Color3.fromRGB(220, 220, 220) ItemLabel.TextSize = 13 ItemLabel.TextXAlignment = Enum.TextXAlignment.Left ItemLabel.TextWrapped = true ItemLabel.LayoutOrder = itemOrder ItemOrder = itemOrder + 1 end end -- Função para obter informações do jogo local function getGameInfo() local gameInfo = {} pcall(function() gameInfo["Nome do Jogo"] = MarketplaceService:GetProductInfo(game.PlaceId).Name gameInfo["Descrição"] = MarketplaceService:GetProductInfo(game.PlaceId).Description or "Sem descrição" gameInfo["Criador"] = MarketplaceService:GetProductInfo(game.PlaceId).Creator.Name end) gameInfo["Place ID"] = game.PlaceId gameInfo["Game ID"] = game.GameId gameInfo["Job ID"] = game.JobId gameInfo["Versão"] = game.PlaceVersion or "Desconhecida" return gameInfo end -- Função para obter informações dos jogadores local function getPlayersInfo() local playersInfo = {} local playersList = {} playersInfo["Total de Jogadores"] = #Players:GetPlayers() playersInfo["Máximo de Jogadores"] = Players.MaxPlayers for i, player in pairs(Players:GetPlayers()) do table.insert(playersList, player.Name .. " (ID: " .. player.UserId .. ")") end playersInfo["Lista de Jogadores"] = table.concat(playersList, ", ") return playersInfo end -- Função para obter informações de performance local function getPerformanceInfo() local perfInfo = {} perfInfo["FPS Atual"] = math.floor(1 / RunService.Heartbeat:Wait()) perfInfo["Ping"] = math.floor(LocalPlayer:GetNetworkPing() * 1000) .. "ms" pcall(function() local memory = Stats:GetTotalMemoryUsageMb() perfInfo["Uso de Memória"] = math.floor(memory) .. "MB" end) pcall(function() perfInfo["Data Received"] = math.floor(Stats.Network.ServerStatsItem["Data Received"].Value) .. " bytes" perfInfo["Data Sent"] = math.floor(Stats.Network.ServerStatsItem["Data Sent"].Value) .. " bytes" end) return perfInfo end -- Função para obter informações do workspace local function getWorkspaceInfo() local workspaceInfo = {} workspaceInfo["Gravity"] = Workspace.Gravity workspaceInfo["FallenPartsDestroyHeight"] = Workspace.FallenPartsDestroyHeight workspaceInfo["StreamingEnabled"] = tostring(Workspace.StreamingEnabled) local partCount = 0 local function countParts(parent) for _, child in pairs(parent:GetChildren()) do if child:IsA("BasePart") then partCount = partCount + 1 end countParts(child) end end countParts(Workspace) workspaceInfo["Total de Parts"] = partCount return workspaceInfo end -- Função para obter informações de lighting local function getLightingInfo() local lightingInfo = {} lightingInfo["Brightness"] = Lighting.Brightness lightingInfo["Ambient"] = tostring(Lighting.Ambient) lightingInfo["ColorShift_Top"] = tostring(Lighting.ColorShift_Top) lightingInfo["ColorShift_Bottom"] = tostring(Lighting.ColorShift_Bottom) lightingInfo["OutdoorAmbient"] = tostring(Lighting.OutdoorAmbient) lightingInfo["ClockTime"] = Lighting.ClockTime lightingInfo["GeographicLatitude"] = Lighting.GeographicLatitude return lightingInfo end -- Função para obter informações de segurança local function getSecurityInfo() local securityInfo = {} pcall(function() securityInfo["FilteringEnabled"] = tostring(Workspace.FilteringEnabled) end) securityInfo["LocalPlayer Admin"] = tostring(LocalPlayer:GetRankInGroup(0) > 0) securityInfo["Chat Filtrado"] = "Ativo" -- Verificar serviços de segurança local hasServerStorage = game:GetService("ServerStorage") ~= nil securityInfo["ServerStorage Acessível"] = tostring(hasServerStorage) return securityInfo end -- Função principal para coletar todas as informações local function collectServerInfo() -- Limpar informações anteriores for _, child in pairs(InfoScrollFrame:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end -- Coletar e exibir informações createInfoSection("🎮 Informações do Jogo", getGameInfo(), Color3.fromRGB(100, 200, 255)) createInfoSection("👥 Jogadores", getPlayersInfo(), Color3.fromRGB(150, 255, 150)) createInfoSection("⚡ Performance", getPerformanceInfo(), Color3.fromRGB(255, 200, 100)) createInfoSection("🌍 Workspace", getWorkspaceInfo(), Color3.fromRGB(255, 150, 200)) createInfoSection("💡 Lighting", getLightingInfo(), Color3.fromRGB(255, 255, 150)) createInfoSection("🔒 Segurança", getSecurityInfo(), Color3.fromRGB(255, 100, 100)) -- Informações adicionais do sistema local systemInfo = { ["Data/Hora Atual"] = os.date("%d/%m/%Y %H:%M:%S"), ["Tempo de Jogo"] = math.floor(tick() - game.Players.LocalPlayer.AccountAge * 86400) .. "s", ["Plataforma"] = game.Players.LocalPlayer.OsPlatform or "Desconhecida" } createInfoSection("💻 Sistema", systemInfo, Color3.fromRGB(200, 150, 255)) print("📊 Informações do servidor atualizadas!") end -- Função para exportar informações local function exportInfo() local exportText = "=== INFORMAÇÕES DO SERVIDOR ROBLOX ===\n\n" exportText = exportText .. "Jogo: " .. (MarketplaceService:GetProductInfo(game.PlaceId).Name or "Desconhecido") .. "\n" exportText = exportText .. "Place ID: " .. game.PlaceId .. "\n" exportText = exportText .. "Jogadores: " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers .. "\n" exportText = exportText .. "Data: " .. os.date("%d/%m/%Y %H:%M:%S") .. "\n\n" for _, player in pairs(Players:GetPlayers()) do exportText = exportText .. "- " .. player.Name .. " (ID: " .. player.UserId .. ")\n" end -- Copiar para clipboard (se suportado) pcall(function() setclipboard(exportText) print("📋 Informações copiadas para a área de transferência!") end) print("📤 Informações exportadas:") print(exportText) end -- Eventos CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) RefreshButton.MouseButton1Click:Connect(function() collectServerInfo() RefreshButton.BackgroundColor3 = Color3.fromRGB(100, 255, 100) wait(0.3) RefreshButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50) end) ExportButton.MouseButton1Click:Connect(function() exportInfo() ExportButton.BackgroundColor3 = Color3.fromRGB(255, 200, 100) wait(0.3) ExportButton.BackgroundColor3 = Color3.fromRGB(150, 100, 50) end) -- Atualização automática a cada 30 segundos spawn(function() while ScreenGui.Parent do wait(30) if ScreenGui.Parent then collectServerInfo() end end end) -- Inicializar collectServerInfo() print("🖥️ Server Info Scanner carregado com sucesso!") print("📊 Informações coletadas e atualizadas automaticamente") print("🔄 Use o botão refresh para atualizar manualmente") print("📋 Use o botão export para copiar informações")