Make a server dyson sphere
Key RequiredUniversal

Make a server dyson sphere

Universal ScriptPenTestPenTest 798 views 212 executesUpdated Dec 22, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•89 lines (3127 chars)
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local lp = Players.LocalPlayer

-- Configuration
local radius = 25
local partCount = 40 
local spinSpeed = 0.5
local pulseSpeed = 2 -- How fast it breaths
local ringParts = {}
local isSpinning = false

local function getRemote()
    local tool = lp.Character and lp.Character:FindFirstChild("Building Tools")
    return tool and tool:FindFirstChild("SyncAPI") and tool.SyncAPI:FindFirstChild("ServerEndpoint")
end

-- 1. Build Function (Fibonacci Lattice)
local function buildPulsingSphere()
    local remote = getRemote()
    if not remote then return end
    local root = lp.Character.HumanoidRootPart
    local phi = math.pi * (3 - math.sqrt(5))

    for i = 1, partCount do
        local y = 1 - (i / (partCount - 1)) * 2
        local r = math.sqrt(1 - y * y)
        local theta = phi * i
        local vec = Vector3.new(math.cos(theta) * r, y, math.sin(theta) * r)
        
        local part = remote:InvokeServer("CreatePart1", "Normal", CFrame.new(root.Position + vec * radius), workspace)
        if part then
            remote:InvokeServer("SyncResize1", {{Part = part, CFrame = part.CFrame, Size = Vector3.new(4, 4, 4)}})
            remote:InvokeServer("CreateDecorations", {{Part = part, DecorationType = "Fire"}})
            table.insert(ringParts, {part = part, vec = vec})
        end
        if i % 8 == 0 then task.wait(0.1) end
    end
    isSpinning = true
end

-- 2. Pulse & Spin Loop
local timePassed = 0
RunService.Heartbeat:Connect(function(dt)
    if not isSpinning or #ringParts == 0 then return end
    local remote = getRemote()
    local root = lp.Character and lp.Character:FindFirstChild("HumanoidRootPart")
    if not remote or not root then return end
    
    timePassed = timePassed + dt
    local wave = (math.sin(timePassed * pulseSpeed) + 1) / 2 -- Normalizes sine to 0 - 1 range
    
    local moveData = {}
    local fireData = {}
    local colorData = {}
    
    local rotationCFrame = CFrame.Angles(0, timePassed * spinSpeed, timePassed * (spinSpeed/2))

    for _, data in ipairs(ringParts) do
        local p = data.part
        if p and p.Parent then
            -- Update Position
            local finalPos = root.Position + (rotationCFrame * data.vec * radius)
            table.insert(moveData, {Part = p, CFrame = CFrame.new(finalPos, root.Position)})
            
            -- Batch Color Pulse (Black to Blue)
            table.insert(colorData, {
                Part = p, 
                Color = Color3.new(0, wave * 0.5, wave), 
                UnionColoring = true
            })
            
            -- Batch Fire Pulse (Size 5 to 20)
            table.insert(fireData, {
                Part = p, 
                DecorationType = "Fire", 
                Size = 5 + (wave * 15), 
                Color = Color3.new(0, 0.5, 1)
            })
        end
    end
    
    -- Send Batch Updates
    remote:InvokeServer("SyncMove1", moveData)
    remote:InvokeServer("SyncColor1", colorData)
    remote:InvokeServer("SyncDecorate", fireData)
end)

buildPulsingSphere()

Features & Information

uhh this is AI so expect nothing but slop, what this script does is it creates parts around you like a dyson sphere and then uhhh i cant explain it but yeah you'll see when you execute the script this is for ( Make A Server ) creds to secretbacon for providing the functions
#mas

Community Comments (4)

Noah1337Noah1337Dec 22, 2025

AI SLOP!!!!!!!!!!!!!!!!!!!!!!!!!!

Replying to @Noah1337
PenTestPenTestDec 22, 2025

@Noah1337 it actually works tho i still got the functions working lmao

squhzsquhzMar 6, 2026

W script, this is awsome

DeshawnbernardDeshawnbernardMar 31, 2026

Fe?

More Scripts for Universal Scripts