ADVERTISEMENTREMOVE ADS
Blox SmallServer Hopper V3 Customizable GUI Auto Retry
48,974 views

Script Preview
Description
This script allows you to instantly join a low-populated server (1 player ) in Blox Fruits without having to scroll through the server list manually. Features:
GUI Button – Click to hop into a small server anytime
Auto Retry – Keeps checking until a small server is found
Customizable Max Players – Set your own target player count
Clean & Executor-Friendly – Uses only HttpGet and TeleportService. The script is also universal which means it works in more than one game.
ADVERTISEMENTREMOVE ADS
144 Lines • 4.47 KiB
--// Blox Fruits Server Hopper V3 - by Scripture
local HttpService = game:GetService("HttpService")
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local placeId = game.PlaceId
-- Default Settings
local maxPlayers = 1
local retryLimit = 5
local retryDelay = 3
local isTeleporting = false
-- Create GUI
local gui = Instance.new("ScreenGui", game:GetService("CoreGui"))
gui.Name = "ServerHopperV3"
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 300, 0, 200)
frame.Position = UDim2.new(0.5, -150, 0.5, -100)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
local title = Instance.new("TextLabel", frame)
title.Text = "🔁 Server Hopper V3"
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
-- Dropdowns / Inputs
local function createLabel(text, yPos)
local label = Instance.new("TextLabel", frame)
label.Text = text
label.Position = UDim2.new(0, 10, 0, yPos)
label.Size = UDim2.new(0, 140, 0, 20)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.Font = Enum.Font.Gotham
label.TextSize = 14
end
local function createBox(defaultText, yPos, callback)
local box = Instance.new("TextBox", frame)
box.Text = defaultText
box.Position = UDim2.new(0, 160, 0, yPos)
box.Size = UDim2.new(0, 120, 0, 20)
box.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.Font = Enum.Font.Gotham
box.TextSize = 14
box.FocusLost:Connect(function()
local num = tonumber(box.Text)
if num then callback(num) else box.Text = tostring(callback()) end
end)
end
createLabel("Max Players:", 40)
createBox("1", 40, function(v) maxPlayers = v return maxPlayers end)
createLabel("Retry Limit:", 70)
createBox("5", 70, function(v) retryLimit = v return retryLimit end)
createLabel("Retry Delay (s):", 100)
createBox("3", 100, function(v) retryDelay = v return retryDelay end)
-- Button
local button = Instance.new("TextButton", frame)
button.Size = UDim2.new(0, 260, 0, 40)
button.Position = UDim2.new(0.5, -130, 1, -50)
button.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.Font = Enum.Font.GothamBold
button.TextSize = 16
button.Text = "🌐 Join Small Server"
button.BorderSizePixel = 0
-- Get low-player servers
local function getLowPlayerServers()
local servers = {}
local cursor = nil
repeat
local url = ("https://games.roblox.com/v1/games/%d/servers/Public?sortOrder=Asc&limit=100"):format(placeId)
if cursor then url = url .. "&cursor=" .. cursor end
local success, response = pcall(function()
return game:HttpGet(url)
end)
if success then
local data = HttpService:JSONDecode(response)
for _, server in pairs(data.data) do
if server.playing <= maxPlayers and server.id ~= game.JobId then
table.insert(servers, server.id)
end
end
cursor = data.nextPageCursor
else
warn("⚠️ Failed to fetch servers: ", response)
break
end
until not cursor or #servers > 0
return servers
end
-- Teleport function
local function attemptTeleport()
if isTeleporting then return end
isTeleporting = true
button.Text = "🔍 Searching..."
local tries = 0
local servers = {}
repeat
servers = getLowPlayerServers()
tries += 1
if #servers == 0 then
print("No servers found, retrying...")
task.wait(retryDelay)
end
until #servers > 0 or tries >= retryLimit
if #servers > 0 then
local chosen = servers[math.random(1, #servers)]
print("🌐 Teleporting to:", chosen)
button.Text = "🔁 Teleporting..."
TeleportService:TeleportToPlaceInstance(placeId, chosen, Players.LocalPlayer)
else
warn("❌ Could not find a small server.")
button.Text = "❌ Failed. Try Again"
task.wait(2)
button.Text = "🌐 Join Small Server"
end
isTeleporting = false
end
button.MouseButton1Click:Connect(attemptTeleport)
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS


Comments
I made this script because people using auto farm always gets killed in a server with so many people.
Guys I updated the script so test it out, I'll try my best to fix problems if there any
Hey how do i use it coz i dont know how to is it
@TashreeqLosper just put the amount of people you want and the max amount you want