Trace.Notify - Send Notifications to Players from a Server Script
Send informational, important, and critical notifications to a specific player from a trusted server script using Trace.Notify and its variants.
Trace.Notify delivers a Trace-styled notification card to a single player. Trusted server scripts can use it to surface information, escalate an important message, or deliver a critical alert that plays a sound and never dismisses silently. Notifications are subject to the recipient's Do Not Disturb preference - critical alerts always deliver.
Signature
Trace.Notify(player, title, description, duration, alertType)
Trace.NotifyImportant(player, title, description, duration)
Trace.CriticalAlert(player, title, description, duration)
Parameters
playerPlayerrequiredThe recipient of the notification. Must be a Player instance currently in the server.
titlestringrequiredThe bold heading shown at the top of the notification card. Keep it short - the panel truncates long titles.
descriptionstringrequiredThe body text of the notification. Multi-line strings are supported.
durationnumberHow long the card stays visible, in seconds. Defaults to 5 for normal notifications, 7 for important, and 10 for critical.
alertTypestringPassed only to Trace.Notify. Accepts "Normal" (default), "Important", or "Critical". Use the dedicated helpers NotifyImportant and CriticalAlert for readability.
Alert types
| Alert type | Sound | Do Not Disturb | Use case |
|---|---|---|---|
Normal | Silent when the player has disabled notification sounds; a gentle chime otherwise. | Suppressed. | Confirmations, tips, non-urgent status. |
Important | Same chime as normal, but with a highlighted card. | Suppressed. | Player-visible warnings, moderator alerts. |
Critical | Loud critical alert sound; card is highlighted red. | Always delivered. | Security incidents, forced-review situations. |
Examples
Inform a player after a purchase
local Trace = _G.Trace
MarketplaceService.ProcessReceipt = function(receipt)
local player = Players:GetPlayerByUserId(receipt.PlayerId)
if player then
Trace.Notify(player, "Purchase confirmed",
"Your VIP pass is now active. Enjoy the perks!", 6)
end
return Enum.ProductPurchaseDecision.PurchaseGranted
end
Surface an important account message
local Trace = _G.Trace
Trace.NotifyImportant(player,
"Session recovered",
"Your progress was restored after a temporary DataStore issue.", 8)
Deliver a critical security alert
local Trace = _G.Trace
Trace.CriticalAlert(player,
"Suspicious sign-in",
"A moderator needs to speak with you. Please stay in the lobby.", 12)
Return value
Notification helpers do not return a value. If the target player leaves before the notification is delivered, the call is a safe no-op.