Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/N3XT3R1337/RiftCE/llms.txt

Use this file to discover all available pages before exploring further.

Rift CE authenticates each account through the Roblox authentication API to obtain a short-lived auth ticket, then constructs a roblox-player:// deep-link URL and hands it to the OS to open Roblox. This works without storing any session cookies in the Roblox client itself — each launch is independent.

Basic launch flow

1

Select an account

Click an account row in the account list to select it.
2

Click Launch

Press the Launch button. With no place ID specified, Rift CE opens Roblox home for the account.
3

Auth ticket is fetched

Rift CE sends a POST to https://auth.roblox.com/v1/authentication-ticket with the account’s .ROBLOSECURITY cookie. The rbx-authentication-ticket response header value is extracted and embedded in the launch URL.
4

Roblox opens

The OS handles the roblox-player:// URL and starts the Roblox client. LastUsed is updated and saved to the vault.

Launch URL structure

The exact URL format used by RobloxLauncher varies by launch type.
Opens Roblox home without joining any game.
roblox-player:1+launchmode:app+gameinfo:{ticket}+launchtime:{timestamp}

Joining a specific game

To launch an account directly into a place, provide a Place ID in the launch dialog. You can optionally provide a Job ID to target a specific server instance.

VIP servers

To join a VIP server, prefix the Job ID field with VIP: followed by the VIP server access code:
VIP:abc123def456
Rift CE detects the VIP: prefix and routes the launch through the accessCode / linkCode query parameters instead of gameId:
if (jobId.StartsWith("VIP:", StringComparison.OrdinalIgnoreCase))
{
    var accessCode = jobId[4..];
    launchUrl += $"&accessCode={accessCode}&linkCode={accessCode}";
}

Multi-account launch

LaunchMultipleAsync iterates over a list of accounts and launches each one sequentially, waiting between each launch for the duration configured in Settings → Join Delay (in seconds).
public async Task LaunchMultipleAsync(
    IEnumerable<Account> accounts, long placeId, string jobId = "")
{
    var delay = App.Settings.JoinDelay;
    foreach (var account in accounts)
    {
        await LaunchAsync(account, placeId, jobId);
        if (delay > 0)
            await Task.Delay(delay * 1000);
    }
}
Select multiple accounts in the account list, then click Launch All to launch them into the same place. The join delay prevents Roblox’s servers from rate-limiting rapid join requests.

Follow user

The Follow feature looks up a target user’s current game presence via https://presence.roblox.com/v1/presence/users and joins the same server instance.
public async Task<bool> FollowUserAsync(Account account, long targetUserId)
If the target user is not currently in a game, the launch is aborted and the LaunchCompleted event fires with a failure message.

FPS unlock

When Settings → Unlock FPS is enabled, Rift CE patches the Roblox client settings file before each launch via ClientSettingsPatcher.PatchFpsUnlock(App.Settings.MaxFps). Set your desired frame rate cap in Settings → Max FPS.

Multi-Roblox

Running more than one Roblox client at a time requires removing the singleton mutex that Roblox creates to prevent multiple instances. Enable Settings → Multi-Roblox and Rift CE will call RobloxMutexHelper.KillSingletonMutex() before each launch.
Multi-Roblox works by killing the Roblox singleton mutex immediately before each new launch. Disable this setting if you only ever run one account at a time — it avoids unnecessary process enumeration on every launch.

Launch events

RobloxLauncher exposes two events you can subscribe to for status feedback:
EventSignatureFires when
LaunchStartedAction<Account, string>The launch sequence begins. The string is a short status message such as "Joining 12345...".
LaunchCompletedAction<Account, bool, string>The launch succeeds or fails. The bool indicates success; the string contains a result message.

Build docs developers (and LLMs) love