Roblox-first observability

Know what your Roblox game does in production.

Flux is a drop-in logging service for Roblox. Watch structured logs from live sessions stream into the dashboard in real-time.

  • Free tier — no credit card
  • Setup in under a minute
  • Works in Studio & live games
~3s
Tail latency
Server + Client
Both environments
600/min
Pro ingest rate
$0
Free tier

Why Flux

Everything you need for a Roblox observability loop.

Built for the way Roblox games actually run — Studio, live places, RemoteEvent boundaries, and all.

Structured logs

Levels, labels, payloads, and call-site info — a readable timeline instead of print() noise.

Realtime tail

Watch info, warn, and error lines stream in seconds after they fire in your game.

Server + Client

Client logs route through a RemoteEvent and ship from the server only — keys stay safe.

Player context

Attach userId, placeId, and per-player metadata to every line so debugging is one filter away.

Fast filters

Slice by level, label, or session to find the one bad receipt in a thousand good ones.

Built for Studio

Three files, one API key. Tested with HTTP-allowed places — zero infra to run yourself.

Quick start

Wire it in under a minute.

No agent to run, no schema to design. Drop in three Lua files, paste a key, and you are logging.

  1. 01. Drop in the SDK

    Download the ZIP from the docs and paste FluxShared, FluxClient, and FluxServer into Studio.

  2. 02. Add your API key

    Create a project in the dashboard, copy the flux_… key, and pass it once to FluxServer.Init on the server.

  3. 03. Ship structured logs

    Call FluxServer.Info / Warn / Error with a message, label, and payload — Flux batches and ships them.

FluxServer · server-sideLua
-- ServerScriptService/StartFlux (Script)
local ServerScriptService = game:GetService("ServerScriptService")
local FluxServer = require(ServerScriptService:WaitForChild("FluxServer"))

FluxServer.Init("flux_•••••••••••••")

game.Players.PlayerAdded:Connect(function(player)
  FluxServer.Info("Player joined", "Matchmaking", {
    userId  = player.UserId,
    placeId = game.PlaceId,
  })
end)

That is the entire setup. Add FluxServer.Warn and FluxServer.Error wherever you need them.

Pricing

Start free. Upgrade when you outgrow it.

See full pricing →
Free
$0

Ship logging to production today.

  • 2 projects
  • 60 logs / min / project
  • 2,000 logs retained per project
  • Realtime dashboard & filters
Get started free
Coming soon
Pro
$1.99 / mo

Higher limits for live games.

  • 25 projects
  • 600 logs / min / project
  • 20,000 logs retained per project
  • Everything in Free
View Pro details

Ready to see your first live log?

Create a project, paste your API key into the server SDK, and press Play. You will see logs in the dashboard within seconds.