
KeylessUniversal

if not game:IsLoaded() then
game.Loaded:Wait()
end
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
-- Create GUI Elements
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ServerJoinerGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 450, 0, 150)
frame.Position = UDim2.new(0.5, -225, 0.5, -75)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
frame.BorderSizePixel = 0
frame.Active = true -- Required for dragging
frame.Parent = screenGui
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "Deep Link Server Joiner"
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.SourceSansBold
title.TextSize = 18
title.BackgroundTransparency = 1
title.Parent = frame
local textBox = Instance.new("TextBox")
textBox.Size = UDim2.new(0.9, 0, 0, 40)
textBox.Position = UDim2.new(0.05, 0, 0.3, 0)
textBox.PlaceholderText = "Paste roblox://... link here"
textBox.Text = ""
textBox.ClearTextOnFocus = false
textBox.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
textBox.TextColor3 = Color3.new(1, 1, 1)
textBox.TextScaled = true
textBox.Parent = frame
local joinButton = Instance.new("TextButton")
joinButton.Size = UDim2.new(0.5, 0, 0, 40)
joinButton.Position = UDim2.new(0.25, 0, 0.65, 0)
joinButton.Text = "Extract & Join"
joinButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
joinButton.TextColor3 = Color3.new(1, 1, 1)
joinButton.Font = Enum.Font.SourceSansBold
joinButton.TextSize = 18
joinButton.Parent = frame
-- Dragging Logic
local dragging
local dragInput
local dragStart
local startPos
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.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
update(input)
end
end)
-- Button Click Logic
joinButton.MouseButton1Click:Connect(function()
local inputString = textBox.Text
-- Extract PlaceId (numbers) and JobId (alphanumeric + hyphens)
local placeIdStr = string.match(inputString, "placeId=(%d+)")
local jobId = string.match(inputString, "gameInstanceId=([%w%-]+)")
if placeIdStr and jobId then
local placeId = tonumber(placeIdStr)
joinButton.Text = "Joining..."
-- Attempt to teleport to the specific server
local success, err = pcall(function()
TeleportService:TeleportToPlaceInstance(placeId, jobId, player)
end)
if not success then
warn("Teleport failed: " .. tostring(err))
joinButton.Text = "Failed (Check F9)"
task.wait(2)
joinButton.Text = "Extract & Join"
end
else
joinButton.Text = "Invalid Link"
joinButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
task.wait(2)
joinButton.Text = "Extract & Join"
joinButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
end
end)No comments yet for this script.



