Roblox SDK
The RoControl Roblox SDK is a server-only Luau package that sends game-side event schedules and live event reports to RoControl. In v1 it powers Icon Automation — driving your game icon from in-game events — and it’s built as the foundation for future RoControl integrations.
- Server-only and safe by default — your API key never reaches the client.
- Fully typed Luau with a small, predictable API.
- Production-grade — typed errors, structured logging with secret redaction, exponential backoff with jitter, a circuit breaker, a bounded queue, and a cross-server single-flight lease so many game servers don’t stampede RoControl.
Start here
- Installation — Wally, model file, or Rojo.
- Quickstart — minimal server-only setup.
- API Reference — config, methods, errors.
- Icon Automation Events — how schedules and reports become icon candidates.
- API Keys — scoped, server-only keys.
- Troubleshooting.
Server-only placement
| Item | Location |
|---|---|
| SDK module | ReplicatedStorage.Packages.RoControl (inert on the client) |
| API key | ServerStorage/RoControlConfig/ApiKey (server-only) |
| Bootstrap script | ServerScriptService/RoControlBootstrap.server.luau |
The SDK module installs as a normal package under
ReplicatedStorage.Packages and is inert on the client. Keep your API key
(RoControlConfig / ApiKey) in ServerStorage, and only call init() from a
server script — that’s what must never replicate to clients.
Endpoints
The SDK calls these RoControl routes (you never call them directly):
| Route | Purpose |
|---|---|
POST /api/sdk/v1/schedules | Register deterministic event schedules |
POST /api/sdk/v1/events | Report live/manual events |
GET /api/sdk/v1/health | Verify key, universe, and protocol connectivity |
RoControl derives the universe from the API key. Universe values in the request payload are not trusted.
Source
The SDK is open source at github.com/Badacord/rocontrol-sdk (Apache-2.0).