Uploaded main.py
parent
e277bbdb0d
commit
7b0a13faa6
67
main.py
67
main.py
|
@ -0,0 +1,67 @@
|
|||
import requests
|
||||
import json
|
||||
import time
|
||||
import random
|
||||
import os
|
||||
|
||||
|
||||
|
||||
def joinGame(gameID):
|
||||
with open('config.json', 'r') as f:
|
||||
ROBLOSECURITY = json.loads(f.read())['.ROBLOSECURITY']
|
||||
if ROBLOSECURITY == "":
|
||||
print("[!] Roblox Cookie not found.")
|
||||
return
|
||||
session = requests.Session()
|
||||
|
||||
session.cookies.set(".ROBLOSECURITY", ROBLOSECURITY)
|
||||
|
||||
r = session.post("https://auth.roblox.com/v2/signup")
|
||||
csrf = r.headers.get('x-csrf-token')
|
||||
|
||||
headers = {
|
||||
"Accept": "application/json, text/plain, */*",
|
||||
"Accept-Language": "en-GB,en;q=0.9",
|
||||
"Origin": "https://www.roblox.com/",
|
||||
"Referer": "https://www.roblox.com/",
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
|
||||
"X-Csrf-Token": csrf
|
||||
}
|
||||
|
||||
r = session.get('https://auth.roblox.com/v1/client-assertion', headers=headers)
|
||||
clientAssertion = json.loads(r.text)['clientAssertion']
|
||||
|
||||
r = session.get('https://roblox.com/home', headers=headers)
|
||||
browserTracker = r.cookies.get('RBXEventTrackerV2').split('browserid=')[1]
|
||||
|
||||
payload = {
|
||||
"clientAssertion": clientAssertion
|
||||
}
|
||||
r = session.post('https://auth.roblox.com/v1/authentication-ticket/', headers=headers, json=payload)
|
||||
authTicket = r.headers.get('Rbx-Authentication-Ticket')
|
||||
|
||||
r = session.get(f"https://games.roblox.com/v1/games/{gameID}/servers/Public?cursor=&sortOrder=Desc&excludeFullGames=false")
|
||||
data = json.loads(r.text)['data']
|
||||
|
||||
available_games = [game for game in data if (game['maxPlayers'] - game['playing']) >= 3]
|
||||
|
||||
if available_games:
|
||||
gameItem = random.choice(available_games)
|
||||
else:
|
||||
gameItem = {"id": None}
|
||||
|
||||
jobID = gameItem['id']
|
||||
currtime = int(time.time())
|
||||
|
||||
|
||||
if jobID == None:
|
||||
url = f"roblox-player:1+launchmode:play+gameinfo:{authTicket}+launchtime:{currtime}+placelauncherurl:https%3A%2F%2Fwww.roblox.com%2FGame%2FPlaceLauncher.ashx%3Frequest%3DRequestGameJob%26browserTrackerId%3D{browserTracker}%26placeId%3D{gameID}%26isPlayTogetherGame%3Dfalse%26joinAttemptOrigin%3DServerListJoin+browsertrackerid:{browserTracker}+robloxLocale:en_us+gameLocale:en_us+channel:"
|
||||
else:
|
||||
url = f"roblox-player:1+launchmode:play+gameinfo:{authTicket}+launchtime:{currtime}+placelauncherurl:https%3A%2F%2Fwww.roblox.com%2FGame%2FPlaceLauncher.ashx%3Frequest%3DRequestGameJob%26browserTrackerId%3D{browserTracker}%26placeId%3D{gameID}%26gameId%3D{jobID}%26isPlayTogetherGame%3Dfalse%26joinAttemptId%3D{jobID}%26joinAttemptOrigin%3DServerListJoin+browsertrackerid:{browserTracker}+robloxLocale:en_us+gameLocale:en_us+channel:"
|
||||
os.system(f'xdg-open "{url}"') # change xdg-open to whatever
|
||||
|
||||
gameId = int(input("Game ID: https://roblox.com/games/"))
|
||||
joinGame(gameId)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue