Skip to content

Resolve from SinisterClient

How desktop resolves work: intercept capture, UI controls, and limits.

Overview: SinisterClient overview


Basic flow

  1. Sign in to SinisterClient with Discord ID, SCB-* key, and linked cookie.
  2. Launch Roblox through the client proxy (not a standalone Roblox shortcut).
  3. Join the experience or server you care about — attempt the join that defines your target (public, reserved, VIP, etc.).
  4. Wait until the client shows a pending intercept (username, job ID, access code, link data — same fields you expect for that resolve type).
  5. Adjust power, duration, and chains if your plan allows sliders.
  6. Press Resolve.

The client sends the request to Sinister servers. On success you should see IP and port (or follow-up join instructions in the UI).

If the intercept panel is empty, you did not join through the proxy or the join did not produce capturable data. Quit Roblox and repeat from step 2.


What the intercept contains

The pending intercept is not something you type manually for most flows. SinisterClient captured it when Roblox attempted the connection:

Resolve styleIntercept typically includes
Username / snipeTarget username, place context from join
Game / jobPlace ID, job UUID from join attempt
ReservedPlace ID + reserved access code
VIP / privateLink ID, link code, or access code from join flow

Discord slash commands and the Lua bridge use the same backend pipeline; the bridge only triggers the intercept the desktop already holds.


Resolve types

Available types depend on your plan flags. Common examples:

TypeWhen to use
Username / snipeTarget is in a public server by name
Game / job IDYou already have place ID and job UUID
ReservedYou have a reserved access code from the join attempt
VIP / privateLink ID, link code, or access code flows

If a type is missing from the UI, your tier may not include it. Check Plans comparison or /status.

Discord commands (/resolve, /game-search, /vip, /reserved, etc.) mirror many of these types when your plan allows.


Slider overrides

ControlTypical rangeEffect
Power1–15Resolve intensity (plan may cap)
Duration5–30 secondsHow long the resolve runs
Chains1–10Chain count for supported types

In-game luaBridge.resolve({ power = … }) temporarily overrides these for one call without changing saved UI defaults.


Limits and lockdown

  • Daily resolve counts and cooldowns apply per plan.
  • Global lockdown (rare) blocks user commands until support lifts it — /status may mention it.
  • VPN / geo rules may block resolves when detection is enabled on your tier.

The UI should show a clear error when rate limited rather than failing silently.


OOB verification

Some resolves open a browser captcha before completing. See OOB verification.


Lua bridge note

luaBridge.resolve() in-game does not pick the target. It fires whatever intercept the desktop app already captured — equivalent to pressing Resolve in the UI.

Full bridge docs: Lua bridge overview


Sinister Script note

Subscribers using Sinister Script (/get-script) resolve from inside Roblox via backend APIs. They may still run SinisterClient on the same PC so script and desktop share intercept context for reserved/VIP flows.

Using Sinister Script


Troubleshooting

SymptomFix
Empty interceptRejoin through client proxy; start client before Roblox
Resolve instantly failsCheck /status, cookie, sub expiry
Wrong targetRe-capture intercept with a fresh join attempt
Bridge works but UI does notSame intercept rules — both need a captured join

More: Troubleshooting