Installation
The RoControl Roblox SDK is server-only. Place it and your API key in server containers — never anywhere that replicates to clients.
Requirements
- HTTP requests enabled for your experience: Studio → Game Settings → Security → Allow HTTP Requests.
- An SDK API key — create one in your game’s RoControl dashboard (Game → Icon Automation → SDK API Keys). See API Keys.
- MemoryStore is optional but recommended for
reportEvent(it lets one server, not all of them, report each occurrence).
Option A — Wally (recommended)
# wally.toml
[dependencies]
RoControl = "gh-constant/rocontrol-roblox-sdk@0.2.1"wally installThis is a normal shared Wally package, so it installs into your usual
Packages folder (typically mapped to ReplicatedStorage.Packages) — the same
place as every other dependency. No special Rojo mapping is needed.
The SDK is inert on the client (init() errors there and the module exposes
only metadata), so even though the module replicates, your API key — which you
pass to init() from a server script and keep in ServerStorage — never reaches
clients.
Option B — Model file (.rbxm)
- Download
RoControl.rbxmfrom the latest release . - In Studio, right-click ReplicatedStorage → Insert from File and select it.
- Confirm the module lands where your server code can require it (e.g.
ReplicatedStorage.Packages.RoControl).
Option C — Source / Rojo
git clone https://github.com/Badacord/rocontrol-sdk
cd rocontrol-sdk
rokit install
wally install
rojo build default.project.json --output RoControl.rbxmWhere everything goes
| Item | Location |
|---|---|
| SDK module | ReplicatedStorage.Packages.RoControl (normal Wally package) |
| API key | ServerStorage/RoControlConfig/ApiKey (a StringValue) — server-only |
| Bootstrap script | ServerScriptService/RoControlBootstrap.server.luau |
| Client code | nothing in v1 (init() only ever runs on the server) |
The SDK module can live in
ReplicatedStorage.Packages(it’s inert on the client). What must stay server-only is your API key: keepRoControlConfig/ApiKeyinServerStorage, and only callinit()from a server script. The SDK refusesinit()on the client as a safeguard.
Updating
- Wally: bump the version in
wally.toml, runwally install. - Model file: delete the old
RoControlmodule, insert the new.rbxm.
Next: Quickstart.