Roblox SDK · Version 0.1.0

SDK quickstart

Run a Studio playtest with the local sink, then verify server-health delivery from a private staging place.

Run locally in Studio

  1. Copy the complete PrismaSDK ModuleScript tree from the SDK package into ServerScriptService. Keep its bundled modules and keep ClientReporter disabled in the source tree.
  2. Use the bundled server bootstrap or add the example below as a server Script. Use one bootstrap per server.
  3. Start a playtest and check the server output for accepted events after about 20 seconds. Offline mode uses an in-memory sink and needs no credentials or HTTP Requests setting.
local ServerScriptService = game:GetService("ServerScriptService")
local Prisma = require(ServerScriptService.PrismaSDK)

local client = Prisma.Start({
    Mode = "offline",
    Environment = "local",
})

task.delay(20, function()
    local diagnostics = client:GetDiagnostics()
    print("Accepted events:", diagnostics.AcceptedEvents)
    print("Dropped events:", diagnostics.DroppedEvents)
end)

game:BindToClose(function(reason)
    client:Shutdown(5, reason.Name)
end)

Connect an authorized staging source

  1. Give the Prisma operator your universe ID and the place IDs you want to test. The operator provisions a staging source, its credential, and the exact HTTPS ingestion origin.
  2. Add PRISMA_INGESTION_KEY to the experience’s Roblox Secrets Store, restricted to the provided hostname. Enable Allow HTTP Requests for the staging place.
  3. On the bundled bootstrap, set EnableStaging to true and StagingBaseUrl to the operator-provided origin. The format is https://ingest.example.com, with the example hostname replaced and no path or trailing slash.
  4. Run the private published staging place. Check GetDiagnostics() for accepted events, queue depth, and drops. Ask the operator to confirm that the lifecycle reports arrived in the serving store.

Check delivery

Look for a startup event, a snapshot roughly every 15 seconds, and an end event when shutdown is observed. A successful flush drains the queue. Use AcceptedEvents and DroppedEvents to tell whether events were delivered or discarded.

On enrollment failure, confirm the credential’s hostname restriction and verify that the universe, place, and environment match the registered source. For HTTP response semantics, see the API overview.