Trace documentationRoblox moderation & administration

Trace Lua API - Exceptions, Zones, and Integrations

Complete reference for the Trace Lua API. Authorize movement exceptions, manage zones, and register chat integrations from trusted server scripts.

The Trace Lua API is exposed as _G.Trace on the server after the Trace loader initializes. You can use it to authorize intentional player movement so the anticheat system does not flag it as cheating, register persistent movement zones, and add slash commands to Trace Chat. All calls must originate from trusted server scripts - client scripts have no access to this API.

Resolving the API

If your script runs after Trace has already initialized, access the API directly:

local Trace = _G.Trace
assert(Trace, "Trace must be initialized before using the API")

If your script may run concurrently with Trace initialization, wait for it to become available:

local Trace
repeat task.wait() until _G.Trace
Trace = _G.Trace

Security model

All API functions must be called from trusted server scripts only. Client scripts cannot call this API - any attempt by a client to grant itself a movement exception is treated as a violation by the anticheat system, not as a legitimate request.

API surface

The following functions are available on _G.Trace. Click the linked pages for full parameter documentation.

NameDescription
NotifySend a normal Trace notification to a specific player
NotifyImportantSend an important-level Trace notification
CriticalAlertSend a critical-level Trace alert
PunishApply a Trace warning or ban to a player through the moderation pipeline
BeginMovementExceptionStart a named movement exception for a player and receive a token
EndMovementExceptionEnd an active movement exception using the token from BeginMovementException
ClearMovementExceptionsClear all active movement exceptions for a player at once
IsMovementExemptCheck whether a player currently holds any (or a specific) movement exception
WithMovementExceptionRun a callback inside a scoped movement exception that is always cleaned up
AllowTeleportShorthand to open a brief teleport window before using PivotTo or similar
AllowMovementAlias of BeginMovementException
RevokeMovementExceptionAlias of EndMovementException
RegisterMovementZoneRegister a Workspace part or model as a persistent movement zone
UnregisterMovementZonePermanently remove a zone registration
SetMovementZoneEnabledEnable or disable a zone without removing it
GetMovementZonesReturn a list of all currently registered zone summaries
RegisterChatIntegrationAdd a slash command to Trace Chat
UnregisterChatIntegrationRemove a previously registered slash command