Keep Roblox native services. Add an external backend only where they stop fitting.
Crux gives Roblox server scripts a shared backend for verified player records, persistent data,
leaderboards, economy, live config and server discovery. The shipped Luau SDK uses
HttpService behind a server-only token, so backend authority stays out of LocalScripts.
Dev BaaS includes 10,000 MAU and every backend feature. No credit card. Roblox integration runs from server-side Scripts with a Crux server token.
local Crux = require(game.ServerScriptService.Crux)
local crux = Crux.init(
PROJECT_ID,
SERVER_TOKEN,
ENVIRONMENT_ID
)
game.Players.PlayerAdded:Connect(function(player)
local record = crux:VerifyPlayer(player.UserId)
local saves = crux:GetDataStore("progression")
local value = saves:GetAsync(player.UserId)
end) Inspect the Roblox integration before you trust it.
The Luau module is public and MIT licensed. The hosted API contract is inspectable, the current service state is live, and the exit commitment is written down.
Live API status
A live check of the hosted API right now. No made-up uptime percentage and no hidden demo environment.
Check current statusPublic API contract
The hosted HTTP surface is documented as OpenAPI. Inspect the wire format before choosing an SDK or writing an adapter.
Open the specMIT client SDKs
The JavaScript, Godot, Unity, and Roblox client SDK source is public. The hosted backend itself remains a managed proprietary service.
Inspect the SDK sourceDocumented exit path
Read what is exportable today and the written commitment for advance notice plus an export window if the hosted service winds down.
Read the exit guaranteeRoblox SDK source
Read the exact Luau module that performs HttpService calls, retries transient failures, verifies Roblox users, and exposes data, leaderboard, economy, config and server-registry methods. It also documents the current server-token matchmaking boundary in code.
Inspect Crux.luaDo not replace Roblox infrastructure just to say you have a backend.
Roblox already ships durable data stores and fast memory stores. Use them. Add an external system only when the job crosses the boundary of one Roblox game or needs operator/backend behavior you want outside Roblox.
Keep native Roblox services for
- Durable state that belongs entirely inside one Roblox game
- Fast ephemeral queues and shared state with MemoryStoreService
- Reserved-server and place handoff with TeleportService
- Simple Roblox-native configuration and platform workflows
Roblox documents DataStoreService for persistent data and MemoryStoreService for frequent, ephemeral data such as matchmaking queues.
Add Crux when you need
- One player record shared with another Roblox experience or external service
- Server-owned leaderboards, inventory and currency behind one backend contract
- Support/admin access to player state without writing bespoke operator tools first
- A backend also consumed by web, mobile, PC or dedicated-server code
- Server registry, live config and durable backend data outside a single Roblox runtime
The secret belongs on the Roblox server.
The Crux Roblox module is designed for server Scripts. The server token authenticates the Roblox server to Crux. Do not copy it into a LocalScript, replicated value, client UI, or any place a player can read.
VerifyPlayer(player.UserId) maps the Roblox user into a Crux player record from server-side code. From there the same server can use Crux data stores, leaderboards, economy, live config and server-registry APIs. Crux's current matchmaking queue is player-token scoped, so the Roblox server-token SDK intentionally does not present it as a runnable server-side path.
Shortest useful evaluation
- Create the free project and prove its live API responds.
- Open the authenticated Roblox setup and create a server token.
- Copy
Crux.luaintoServerScriptService. - Enable Roblox HTTP requests and initialize the SDK with project, token and environment IDs.
- Call
VerifyPlayerfromPlayerAdded; Crux will mark the project externally connected when that server token is actually used.
| Your problem | Start here |
|---|---|
| External HttpService integration | HttpService guide |
| DataStore vs external storage | DataStore decision guide |
| Compare backend vendors | Roblox backend alternatives |
| Shared progression / multiple experiences | Progression architecture |
| MemoryStore matchmaking boundaries | Matchmaking guide |
| Working Crux server script | Roblox + Crux quickstart |
Do not migrate your DataStores first.
Create a free project, wire one server-side feature, and watch Crux confirm the external connection. Keep the rest of your Roblox stack unchanged until the external backend earns its place.
Roblox-native architecture references: DataStoreService, MemoryStoreService, and HttpService.