Server-side only
Keep your GameKey in Roblox Secrets, restricted to panel.omnomgames.co.uk. Keep the SDK and config in ServerScriptService. Never put the key in scripts, ReplicatedStorage, remotes or public models.
The panel is currently in maintenance. Sign-in and game connections are temporarily unavailable; you can read the guide here while we finish setup.
Add the server SDK to your experience, store its key in Roblox Secrets and check the connection.
You'll need access to ONG Panel and a Roblox experience you can edit in Studio. Keep your GameKey private throughout setup.
Public sign-up and subscriptions are not open yet. Audit history, API diagnostics and data cleanup are currently unavailable.
Open Projects and create a project with your experience’s Universe ID. A Place ID identifies one place inside that experience and is optional here.
Open projectsIn SDK setup, select Show SDK secret when you are ready to save your GameKey in Roblox Secrets. Keep it private and out of scripts.
Set up in StudioCheck your connection, then open your project to see the activity your game sends to the panel.
Get connection helpThe panel's project-specific install guide generates the details for your game. Follow it while you work in Roblox Studio.
In Roblox Studio, open File → Experience Settings → Security and enable Allow HTTP Requests.
When panel access is available, use the download and instructions in your project's install guide. Install the connector in ServerScriptService and keep it out of client scripts and public models.
In Roblox Creator Dashboard, add your GameKey to the experience's Secrets as ONG_GAME_KEY, with domain panel.omnomgames.co.uk. For local Studio playtests, add the same named value under Local Secrets. Never paste it into a script. Follow the panel's install guide to add the config and bootstrap to ServerScriptService.
Use the project's setup and Studio test pages. Confirm the BaseUrl is public HTTPS, then start a server in Studio and check the project for heartbeat activity.
Open a project, then choose its install guide for project-specific values and scripts.
Your GameKey lets a server authenticate as your project. Treat it like a password, even when you're just testing.
Keep your GameKey in Roblox Secrets, restricted to panel.omnomgames.co.uk. Keep the SDK and config in ServerScriptService. Never put the key in scripts, ReplicatedStorage, remotes or public models.
Ask the workspace owner or an admin to regenerate it from SDK setup. The old credentials stop working once the change completes. Update the public key in your config and the GameKey in Roblox Secrets.
Can manage projects and moderation. Only the owner can change retention settings, change enforcement settings or manage billing. Data cleanup is temporarily unavailable.
Can create and delete projects, change workspace and project settings, regenerate GameKeys and manage moderation cases in their workspace.
Can create and close moderation cases in their workspace.
Can view their workspace data. Ask the owner or an admin if you need a change.
A self-service team invitation and role-management flow is not available yet.
Check that HTTP requests are enabled in Studio and the BaseUrl shown in your project's setup is a public HTTPS address. Check the project's install guide and Studio test for the next steps.
It is shown once. A workspace owner or designated admin can regenerate it in SDK setup. Update the public key in the server config and the GameKey in Roblox Secrets; the previous credentials stop working.
The SDK keeps pending events in server memory. If the queue is full, tracking returns an error and leaves the earlier events in place. Check the result of each tracking call. Events still in memory can be lost when the game server stops.
In trusted server code, use ONG.GetQueueStatus() to see whether the queue is paused. If a single event was rejected, ONG.InspectBlockedEvent() returns a copy for private review. Do not put event data or GameKeys in public logs, client scripts or remotes.
Fix the underlying problem, then call ONG.RetryQueuedEvents(). After a new key is saved in Roblox Secrets, trusted server code can call ONG.UpdateCredentials(publicKey, game:GetService("HttpService"):GetSecret("ONG_GAME_KEY")) before retrying. If the status identifies a single event and you decide it must be removed, ONG.DiscardBlockedEvent(eventId) permanently removes that event; use the exact ID from the queue status. An authentication failure does not identify an event to discard.
The player is allowed to join. The SDK reports a failed check in server output and counts it in diagnostics. You can connect the server-only OnEnforcementUnavailable callback to an alert for trusted staff. Avoid logging player information or GameKeys.
Audit history and API diagnostics are not available yet. Use the connection checks in your project’s SDK setup for now.
Public registration and new subscriptions aren't available yet. Return to the panel when those features are announced.