CPanel
A centralized Roblox control panel

One panel for
every connected user.

CPanel is a client-side control panel for developers who want to interact with users connected to their scripts through a centralized WebSocket server. Run participants, player actions, audio, visuals and camera effects from a single window.

✓ Connected users appear in the participant list the moment your script runs.
CPanel dashboard screenshot
THE PANEL

Everything, sorted into eight tabs.

The client splits the whole panel into tabs. Pick one to see what's inside.

Participants

Live list with search and refresh. Select one to unlock the action tabs, join their game server or hop to a new one.

Live

Session

Current place, universe ID and the selected participant's profile at a glance.

Connection

WebSocket status, endpoint and developer authentication through access.json.

Effect Management

Stop all effects, clear temporary ones, restore defaults or refresh what's currently running.

Freeze

Immobilize the participant.

Unfreeze

Restore normal movement.

Kill / Reset

Set their HP to 0 instantly.

Bring

Move the participant to you.

Goto

Move yourself to the participant.

Send notification

Deliver a message that pops up on their screen.

View

Spectate the selected participant.

Unview

Put the camera back on your character.

Play Sound

Play any Roblox audio asset by ID (rbxassetid:// works too), with volume from 0.10 to 10.00 and an optional loop.

Sound Controls

Play, stop, stop all sounds, adjust volume, disable loop or restore the default volume.

Playback Status

Refresh to see what is currently playing on their end.

Screen Flash

Brief full-screen flash.

Color Effect

Temporary color grading with R/G/B.

Blur

Temporary screen blur.

FOV Control

Increase, decrease or reset the field of view.

Grayscale

Temporary desaturation.

Invert Colors

Temporary color inversion.

Screen Tint

Full-screen tint with R/G/B.

Duration

Every effect takes 0.2 to 120 seconds, leave it empty to use the default.

Restore Effects

Remove all CPanel visual effects at once.

Fling

Launch them, with force from the slider. 1 pops them up, 10 throws them across the map.

Character Highlight

Temporary highlight on their character, with R/G/B.

Character Outline

Outline-only highlight.

Nameplate Decoration

Overhead nameplate for a while.

Overhead Notification

Pulsing overhead message.

Screen Vignette

Dark vignette around the screen edges.

Camera Shake

Lightweight camera shake.

Camera Zoom

Zoom the camera in and lock it.

Lighting Effect

Temporary lighting mood with R/G/B.

Particle Effect

Character sparkles with R/G/B.

Visual Distortion

Pulsing color distortion.

Confetti

Falling confetti on their screen.

Restore All Effects

Stop every active CPanel effect.

Chat Logs

Live chat feed from the server, with an option to show only connected users.

Send as selected user

Send a message as the participant you have selected.

Appearance

UI theme, interface transparency and animations.

Notifications

Toast notifications and interface sounds.

Connection

WebSocket status, endpoint, auto-reconnect, participant list refresh interval and a manual reconnect button.

Reset

Reset UI settings back to defaults in one click.

LOADER

Add it to your script.

Once loaded, the client connects to your WebSocket server and registers as a participant.

Lua · Participant loader
task.spawn(function()
    getgenv().CPanelWebsocket = "wss://your-websocket.onrender.com"
    loadstring(game:HttpGet("https://getcpanel.pages.dev/raw"))()
end)
↗
Inspect the source before you run it

getcpanel.pages.dev/raw always serves the latest client as plain text.

!
Developer loader

Developers set getgenv().CPanelDevToken before loading. Participants don't need a token, the loader above is enough.

HOW IT WORKS

Five steps, start to finish.

  1. Add the loaderDrop the CPanel loader into your Roblox script.
  2. A user executes the scriptThe CPanel client starts with it.
  3. The client connectsIt opens a connection to your configured WebSocket server and persists the endpoint.
  4. The server registers the connectionIt checks developer authorization before granting access.
  5. The dashboard takes overAuthorized developers open the dashboard and act on connected participants.
DeveloperParticipant
Accesses the CPanel dashboard.Connects when executing an integrated script.
Views connected participants.Appears in the participant list.
Selects participants.Receives actions and effects.
Uses dashboard controls.Runs the CPanel client.
WEBSOCKET BACKEND

Bring your own server.

CPanel needs its own hosted WebSocket backend, it won't connect on its own.

CPanelWebsocket

Deploy it as a Web Service on Render, repo: JustSomeGuest/CPanelWebsocket

  1. Clone the CPanelWebsocket repository and push it to your GitHub account.
  2. Create a new Web Service on Render and connect the repository.
  3. Set the build command to npm install and the start command to npm start.
  4. Add CPANEL_DEV_TOKEN in Environment and authorize your Roblox UserIds in access.json.
wss://your-websocket.onrender.com
!
Keep the token private

A token placed in a client-side script can be extracted by anyone who receives that script. Treat it as a shared credential, not as a secure way to prove identity.

IMPORTANT

Know the limits.

!
CPanel cannot control players who have not loaded a script containing its client.

It does not automatically connect to every player in a Roblox server. Participants register when their client connects, and actions are processed by the receiving client's CPanel instance.