Skip to content

Using Sinister Script

How to run, configure, and resolve with your licensed SSB-* build after getting your script.


First execution

  1. Join a Roblox experience (live game — not Studio unless your executor supports it).
  2. Paste the loader one-liner from /get-script into your executor.
  3. Wait for the UI to appear (may take a few seconds while boot stages download).

If loading fails, check:

  • Exact URL and t= token from the latest /get-script
  • Executor allows HTTPS to your Sinister host
  • Build status is Ready, not queued or revoked

In-game UI

Sinister Script opens a full interface inside Roblox:

FeatureDefault / notes
Toggle UIKeybind (often configurable)
ResolveKeybind (e.g. R) or UI button
Chat commandPrefix like .resolve (settings)
MobileMulti-tap gesture in a time window
ThemesPulled from server when available
HintsOptional on-screen keybind / mobile hints

Open settings from the UI to change keybinds, chat prefix, mobile tap count, theme, and confirmation dialogs. Settings sync to your account via the backend when online.


How resolves work in-game

Unlike the Lua bridge, Sinister Script calls Sinister backend APIs directly (authenticated with your SSB-* dist key and Discord identity embedded in the build).

Typical flow:

  1. You choose a resolve type in the UI (username, game search, VIP, reserved, etc.) — limited by your plan flags.
  2. Script sends POST /api/script-resolve with the target fields for that type.
  3. Backend runs the same resolve pipeline as Discord and SinisterClient.
  4. Result IP / port (or error) is shown in the UI.

Plan limits (daily caps, cooldowns, VPN rules) apply the same as other surfaces.


Pairing with SinisterClient (same PC)

When SinisterClient is running and signed in on the same machine:

  • Script can detect localhost ports 4771147721
  • It may read pending intercept data the desktop captured at join time
  • Useful for reserved and some VIP flows where the desktop already captured access codes

Recommended workflow for reserved servers:

  1. Start SinisterClient and sign in.
  2. Launch Roblox through the client proxy.
  3. Attempt the reserved join in Roblox (intercept captured).
  4. Execute Sinister Script and use resolve — script and client share context.

See SinisterClient overview and Resolve.


Session and heartbeat

Sinister Script periodically calls /api/script-heartbeat so the backend knows the script session is alive. Long idle periods or revoked keys may disconnect features.

Identity checks (/api/script-identity) tie the running script to your licensed build and executor fingerprint.


Schedule and game helpers

Endpoint (backend)Purpose
/api/script-scheduleList schedule entries for your account
/api/script-schedule-checkCheck if an IP is in schedule
/api/script-game-serversHelper data for in-game server lists

These require a valid script session and plan access.


Settings sync

UI preferences are stored server-side with /api/script-settings when you change them in-game. Reinstalling or reloading the script on a new session restores synced keybinds and theme where possible.


Telemetry

/api/script-telemetry records anonymized usage for support and abuse detection. It does not replace resolve logging on the server.


Security behavior

Your build may refuse to run when:

  • Running in Roblox Studio without a supported executor (VM detection tier)
  • Debugger probes detected (when enabled on your build)
  • Remote access or VPN detected (plan/build settings)

Matches the same toggle family as SinisterClient. Request changes with /request-security-change in Discord.


Troubleshooting

SymptomLikely fix
Loader HTTP errorFresh /get-script line; check host and token
-- pending / 404 on loaderBuild still packaging — wait and retry
UI never appearsExecutor blocked loadstring or HTTPS
Resolve deniedCheck /status plan flags and daily limits
Reserved/VIP emptyPair with SinisterClient; join through proxy first
Key revokedDo not share script; contact support

More: Troubleshooting · FAQ