--[[ --HOW TO JOIN YOURSELF WITH ANOTHER ACCOUNT ON THE SERVER: --Put this setclipboard at the end of the script below this one!! setclipboard(accessCode) --After you do that, run the script, it will copy the accessCode to clipboard, then use this small script below to join yourself ( add your accessCode first at local accessCode = "" ) --TELEPORT TO URSELF SCRIPT local accesscode = "" -- paste your access code local placeid = game.PlaceId game.RobloxReplicatedStorage.ContactListIrisInviteTeleport:FireServer(placeid, "", accesscode) ]] --PRIVATE SERVER CREATOR local md5 = {} local hmac = {} local base64 = {} do do local T = { 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8, 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665, 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391, } local function add(a, b) local lsw = bit32.band(a, 0xFFFF) + bit32.band(b, 0xFFFF) local msw = bit32.rshift(a, 16) + bit32.rshift(b, 16) + bit32.rshift(lsw, 16) return bit32.bor(bit32.lshift(msw, 16), bit32.band(lsw, 0xFFFF)) end local function rol(x, n) return bit32.bor(bit32.lshift(x, n), bit32.rshift(x, 32 - n)) end local function F(x, y, z) return bit32.bor(bit32.band(x, y), bit32.band(bit32.bnot(x), z)) end local function G(x, y, z) return bit32.bor(bit32.band(x, z), bit32.band(y, bit32.bnot(z))) end local function H(x, y, z) return bit32.bxor(x, bit32.bxor(y, z)) end local function I(x, y, z) return bit32.bxor(y, bit32.bor(x, bit32.bnot(z))) end function md5.sum(message) local a, b, c, d = 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 local message_len = #message local padded_message = message .. "\128" while #padded_message % 64 ~= 56 do padded_message = padded_message .. "\0" end local len_bytes = "" local len_bits = message_len * 8 for i = 0, 7 do len_bytes = len_bytes .. string.char(bit32.band(bit32.rshift(len_bits, i * 8), 0xFF)) end padded_message = padded_message .. len_bytes for i = 1, #padded_message, 64 do local chunk = padded_message:sub(i, i + 63) local X = {} for j = 0, 15 do local b1, b2, b3, b4 = chunk:byte(j * 4 + 1, j * 4 + 4) X[j] = bit32.bor(b1, bit32.lshift(b2, 8), bit32.lshift(b3, 16), bit32.lshift(b4, 24)) end local aa, bb, cc, dd = a, b, c, d local s = { 7, 12, 17, 22, 5, 9, 14, 20, 4, 11, 16, 23, 6, 10, 15, 21 } for j = 0, 63 do local f, k, shift_index if j < 16 then f = F(b, c, d) k = j shift_index = j % 4 elseif j < 32 then f = G(b, c, d) k = (1 + 5 * j) % 16 shift_index = 4 + (j % 4) elseif j < 48 then f = H(b, c, d) k = (5 + 3 * j) % 16 shift_index = 8 + (j % 4) else f = I(b, c, d) k = (7 * j) % 16 shift_index = 12 + (j % 4) end local temp = add(a, f) temp = add(temp, X[k]) temp = add(temp, T[j + 1]) temp = rol(temp, s[shift_index + 1]) local new_b = add(b, temp) a, b, c, d = d, new_b, b, c end a = add(a, aa) b = add(b, bb) c = add(c, cc) d = add(d, dd) end local function to_le_hex(n) local s = "" for i = 0, 3 do s = s .. string.char(bit32.band(bit32.rshift(n, i * 8), 0xFF)) end return s end return to_le_hex(a) .. to_le_hex(b) .. to_le_hex(c) .. to_le_hex(d) end end do function hmac.new(key, msg, hash_func) if #key > 64 then key = hash_func(key) end local o_key_pad = "" local i_key_pad = "" for i = 1, 64 do local byte = (i <= #key and string.byte(key, i)) or 0 o_key_pad = o_key_pad .. string.char(bit32.bxor(byte, 0x5C)) i_key_pad = i_key_pad .. string.char(bit32.bxor(byte, 0x36)) end return hash_func(o_key_pad .. hash_func(i_key_pad .. msg)) end end do local b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" function base64.encode(data) return ( (data:gsub(".", function(x) local r, b_val = "", x:byte() for i = 8, 1, -1 do r = r .. (b_val % 2 ^ i - b_val % 2 ^ (i - 1) > 0 and "1" or "0") end return r end) .. "0000"):gsub("%d%d%d?%d?%d?%d?", function(x) if #x < 6 then return "" end local c = 0 for i = 1, 6 do c = c + (x:sub(i, i) == "1" and 2 ^ (6 - i) or 0) end return b:sub(c + 1, c + 1) end) .. ({ "", "==", "=" })[#data % 3 + 1] ) end end end local function GenerateReservedServerCode(placeId) local uuid = {} for i = 1, 16 do uuid[i] = math.random(0, 255) end uuid[7] = bit32.bor(bit32.band(uuid[7], 0x0F), 0x40) -- v4 uuid[9] = bit32.bor(bit32.band(uuid[9], 0x3F), 0x80) -- RFC 4122 local firstBytes = "" for i = 1, 16 do firstBytes = firstBytes .. string.char(uuid[i]) end local gameCode = string.format("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", table.unpack(uuid)) local placeIdBytes = "" local pIdRec = placeId for _ = 1, 8 do placeIdBytes = placeIdBytes .. string.char(pIdRec % 256) pIdRec = math.floor(pIdRec / 256) end local content = firstBytes .. placeIdBytes local SUPERDUPERSECRETROBLOXKEYTHATTHEYDIDNTCHANGEEVERSINCEFOREVER = "e4Yn8ckbCJtw2sv7qmbg" -- legacy leaked key from ages ago that still works due to roblox being roblox. local signature = hmac.new(SUPERDUPERSECRETROBLOXKEYTHATTHEYDIDNTCHANGEEVERSINCEFOREVER, content, md5.sum) local accessCodeBytes = signature .. content local accessCode = base64.encode(accessCodeBytes) accessCode = accessCode:gsub("+", "-"):gsub("/", "_") local pdding = 0 accessCode, _ = accessCode:gsub("=", function() pdding = pdding + 1 return "" end) accessCode = accessCode .. tostring(pdding) return accessCode, gameCode end local accessCode, _ = GenerateReservedServerCode(game.PlaceId) game.RobloxReplicatedStorage.ContactListIrisInviteTeleport:FireServer(game.PlaceId, "", accessCode) --add setclipboard(accessCode) here