local Services = setmetatable({},{__index = function(t,i) return game:service(i) or nil end}) local Gui = Services.CoreGui local DefIp = "25.153.210.119" local DefPort = "53640" local Version = 1.0 function UD(a,b) return UDim2.new(a,0,b,0) end function Create(Need,Parent) return Instance.new(Need,Parent) end local Main = Create("ScreenGui",Gui) Main.Name = "PrivateServer" local Frame = Create("Frame",Main) Frame.Name = "MainFrame" Frame.Size = UD(0.3,0.1) Frame.Position = UD(0.5,0.1) Frame.BackgroundColor = BrickColor.new("Really black") Frame.BackgroundTransparency = 0.5 Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true local Ip = Create("TextBox",Frame) Ip.Size = UD(0.25,0.5) Ip.Position = UD(0,0.25) Ip.BackgroundColor = BrickColor.new("Really black") Ip.BackgroundTransparency = 0.2 Ip.BorderSizePixel = 0 Ip.TextColor = BrickColor.new("White") Ip.Text = DefIp local ShowIp = Create("TextLabel",Frame) ShowIp.Size = UD(0.25,0.2) ShowIp.Position = UD(0,0.8) ShowIp.BackgroundColor = BrickColor.new("Really black") ShowIp.BackgroundTransparency = 0.2 ShowIp.BorderSizePixel = 0 ShowIp.TextColor = BrickColor.new("White") ShowIp.Text = "Server Ip" local Port = Create("TextBox",Frame) Port.Size = UD(0.25,0.5) Port.Position = UD(0.25,0.25) Port.BackgroundColor = BrickColor.new("Really black") Port.BackgroundTransparency = 0.2 Port.BorderSizePixel = 0 Port.TextColor = BrickColor.new("White") Port.Text = DefPort local ShowPort = Create("TextLabel",Frame) ShowPort.Size = UD(0.25,0.2) ShowPort.Position = UD(0.25,0.8) ShowPort.BackgroundColor = BrickColor.new("Really black") ShowPort.BackgroundTransparency = 0.2 ShowPort.BorderSizePixel = 0 ShowPort.TextColor = BrickColor.new("White") ShowPort.Text = "Server Port" local Connect = Create("TextButton",Frame) Connect.Size = UD(0.5,0.5) Connect.Position = UD(0.5,0.25) Connect.BackgroundColor = BrickColor.new("Really black") Connect.BackgroundTransparency = 0.2 Connect.BorderSizePixel = 0 Connect.TextColor = BrickColor.new("Lime green") Connect.Text = "Connect!" local ShowConnect = Create("TextLabel",Frame) ShowConnect.Size = UD(0.5,0.2) ShowConnect.Position = UD(0.5,0.8) ShowConnect.BackgroundColor = BrickColor.new("Really black") ShowConnect.BackgroundTransparency = 0.2 ShowConnect.BorderSizePixel = 0 ShowConnect.TextColor = BrickColor.new("White") ShowConnect.Text = "Connect to Server" local ShowCredit = Create("TextLabel",Frame) ShowCredit.Size = UD(1,0.2) ShowCredit.Position = UD(0,1) ShowCredit.BackgroundColor = BrickColor.new("Really black") ShowCredit.BackgroundTransparency = 0.1 ShowCredit.BorderSizePixel = 0 ShowCredit.TextColor = BrickColor.new("White") ShowCredit.Text = "Private Server, Version "..Version..", By KirkyTurky12, and Frostftw" local ShowDrag = Create("TextLabel",Frame) ShowDrag.Size = UD(1,0.2) ShowDrag.Position = UD(0,0) ShowDrag.BackgroundColor = BrickColor.new("White") ShowDrag.BackgroundTransparency = 0.1 ShowDrag.BorderSizePixel = 0 ShowDrag.TextColor = BrickColor.new("Really black") ShowDrag.Text = "Click and drag to move!" ShowDrag.TextXAlignment = "Left" Connect.MouseButton1Down:connect(function() game:GetService("CoreGui"):ClearAllChildren() game:ClearContent(true) wait() Services.NetworkClient:PlayerConnect(0, Ip.Text, Port.Text) Frame.Visible = false repeat wait(0.25) until pcall(function() return game:GetService("Players").LocalPlayer end) JoinedServer = true end) repeat wait(0.1) until JoinedServer == true Services.RunService.Stepped:connect(function() pcall(function() Workspace.CurrentCamera:ClearAllChildren() if Workspace:FindFirstChild("PlayerPositions") == nil then Instance.new("Model",workspace).Name = "PlayerPositions" end if Workspace.PlayerPositions:FindFirstChild(Services.Players.LocalPlayer.Name) == nil then Val = Instance.new("CFrameValue",Workspace.PlayerPositions) Val.Name = Services.Players.LocalPlayer.Name end Workspace.PlayerPositions:FindFirstChild(Services.Players.LocalPlayer.Name).Value = Services.Players.LocalPlayer.Character.Torso.CFrame for i,v in pairs(game:GetService("Players"):GetPlayers()) do if v ~= Services.Players.LocalPlayer and Workspace.PlayerPositions:FindFirstChild(v.Name) ~= nil then v.Character.Archivable = true local C = v.Character:Clone() C.Parent = Workspace.CurrentCamera C.Torso.CFrame = Workspace.PlayerPositions[v.Name].Value C.Torso.Anchored = true C:MakeJoints() end end end) end)