Skip to main content

A lightweight utility to programmatically authenticate and launch the Roblox client.

Project description

LaunchRoblox 🚀

A lightweight, robust, and zero-headache utility to programmatically authenticate and launch the Roblox client using Python.

Built with modern Python standards, LaunchRoblox natively handles the complex roblox-player: URI protocol, API ticket exchanges, and CSRF token generation so you don't have to.

Installation

Install the latest version directly from PyPI:

pip install LaunchRoblox

Features

  • Instant Launching: Bypass the browser and launch directly into a game.
  • Private Server Support: Automatically resolves VIP linkCode URLs into backend access codes.
  • Instance Targeting: Follow users into exact server UUIDs (jobId).
  • Deployment Channels: Test your game on specific Roblox bootstrapper channels (e.g., zCanary).
  • Process Lifecycle Tracking: Capture the running game instance thread to track execution status or block script endings.
  • Native Multi-Instance Support: Programmatically bypass Roblox's single-window mutation restriction on Windows to launch concurrent accounts.
  • Asynchronous Support: Full async/await compatibility using httpx for non-blocking integrations like Discord bots or web frameworks.
  • Built-in Logging: Fully integrated with Python's native logging module for easy debugging.

Usage Examples

1. Basic Launch (Public Server)

import os
from LaunchRoblox import launchRoblox

cookie = os.getenv("ROBLOX_COOKIE", "_|WARNING:-DO-NOT-SHARE-THIS...")
placeId = 2753915549

launchRoblox(placeId, cookie)

2. Private Server Launch

If you have a VIP server link (e.g., ?privateServerLinkCode=12345...), pass the code directly. The library will safely resolve it into a server access code via the Roblox API before launching.

launchRoblox(
    placeId=2753915549, 
    cookie=cookie, 
    linkCode="your_private_server_link_code"
)

3. Target a Specific Server (Job ID)

Perfect for multi-account testing or following someone into a specific server block.

launchRoblox(
    placeId=2753915549, 
    cookie=cookie, 
    jobId="01af84de-4bca-413c-8361-ec23bfda85b2"
)

4. Custom Deployment Channel

Launch into a specific Roblox testing branch. (Note: Using "LIVE" or leaving this blank will safely default to the public production client).

launchRoblox(
    placeId=2753915549, 
    cookie=cookie, 
    channel="zCanary"
)

5. Process Lifecycle Tracking

launchRoblox returns a RobloxProcess object. You can use this to monitor the client's state, acquire its Process ID (PID), or halt your Python script until the game closes.

from LaunchRoblox import launchRoblox

gameProcess = launchRoblox(2753915549, "YOUR_COOKIE")

if gameProcess:
    print(f"Roblox client running on PID: {gameProcess.pid}")
    
    # Wait until the user closes the game window
    gameProcess.wait()
    print("Roblox has been closed!")

6. Native Multi-Instance Support (Windows Only)

Set multiInstance=True to programmatically claim the system window handle mutex. This allows you to open separate, concurrent account sessions simultaneously without being blocked by the standard single-client limit.

import time
from LaunchRoblox import launchRoblox

# Launch Account 1
launchRoblox(2753915549, "COOKIE_ACCOUNT_1", multiInstance=True)

# Brief pause to let the first client window stabilize
time.sleep(3)

# Launch Account 2 concurrently
launchRoblox(2753915549, "COOKIE_ACCOUNT_2", multiInstance=True)

7. Asynchronous Launching

For async environments, import and await launchRobloxAsync. This avoids blocking your application's main thread during network API validation steps.

import asyncio
from LaunchRoblox import launchRobloxAsync

async def main():
    gameProcess = await launchRobloxAsync(2753915549, "YOUR_COOKIE")
    
    if gameProcess:
        print(f"Async launch successful. Tracking PID: {gameProcess.pid}")

if __name__ == "__main__":
    asyncio.run(main())

Advanced: Debug Logging

LaunchRoblox uses Python's standard logging module under the hood. If you are experiencing authentication errors or want to see the background API routing in real-time, simply configure your root logger before calling the launch function:

import logging
from LaunchRoblox import launchRoblox

# Enable info/debug logging to your console
logging.basicConfig(level=logging.INFO, format="[%(levelname)s] %(name)s: %(message)s")

launchRoblox(2753915549, "YOUR_COOKIE")

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

launchroblox-0.4.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

launchroblox-0.4.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file launchroblox-0.4.0.tar.gz.

File metadata

  • Download URL: launchroblox-0.4.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for launchroblox-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5b40ef0f15ad9af4d08e3767de66ca130d3f6476a9a90cd564ed2fdc6bf92de7
MD5 9ac8e9b91faf8fbe1bcabd6cf2ab8b01
BLAKE2b-256 326367540d91ae477a8e5bf650653b942e37e9a0f01c7d5a57309c36c630c15e

See more details on using hashes here.

Provenance

The following attestation bundles were made for launchroblox-0.4.0.tar.gz:

Publisher: publish.yml on noaclr/LaunchRoblox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file launchroblox-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: launchroblox-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for launchroblox-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4623cbcf69bd8b005def4a9dbd79a1151697c99420596b94760aac50d503c393
MD5 2dfb9efa1541670570d9a57c14bee374
BLAKE2b-256 fc4e55d1ab6277618bd9fe4a91d2389d92014f6579d10f552cfbcc0c7af5080b

See more details on using hashes here.

Provenance

The following attestation bundles were made for launchroblox-0.4.0-py3-none-any.whl:

Publisher: publish.yml on noaclr/LaunchRoblox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page