Appearance
Resolve from SinisterClient
How desktop resolves work: intercept capture, UI controls, and limits.
Overview: SinisterClient overview
Basic flow
- Sign in to SinisterClient with Discord ID,
SCB-*key, and linked cookie. - Launch Roblox through the client proxy (not a standalone Roblox shortcut).
- Join the experience or server you care about — attempt the join that defines your target (public, reserved, VIP, etc.).
- Wait until the client shows a pending intercept (username, job ID, access code, link data — same fields you expect for that resolve type).
- Adjust power, duration, and chains if your plan allows sliders.
- 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 style | Intercept typically includes |
|---|---|
| Username / snipe | Target username, place context from join |
| Game / job | Place ID, job UUID from join attempt |
| Reserved | Place ID + reserved access code |
| VIP / private | Link 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:
| Type | When to use |
|---|---|
| Username / snipe | Target is in a public server by name |
| Game / job ID | You already have place ID and job UUID |
| Reserved | You have a reserved access code from the join attempt |
| VIP / private | Link 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
| Control | Typical range | Effect |
|---|---|---|
| Power | 1–15 | Resolve intensity (plan may cap) |
| Duration | 5–30 seconds | How long the resolve runs |
| Chains | 1–10 | Chain 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 —
/statusmay 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.
Troubleshooting
| Symptom | Fix |
|---|---|
| Empty intercept | Rejoin through client proxy; start client before Roblox |
| Resolve instantly fails | Check /status, cookie, sub expiry |
| Wrong target | Re-capture intercept with a fresh join attempt |
| Bridge works but UI does not | Same intercept rules — both need a captured join |
More: Troubleshooting
