All guides

How to send a message to every Roblox server at once

Broadcast an announcement, start an event, or trigger an action on every running server - live or on a schedule.

Roblox gives you a cross-server messaging service, but on its own it only delivers a payload; you still need somewhere to send it from, a schedule, and a record of what was sent. That is the gap RoSignal fills.

1. Decide what the message does

A message is a topic plus data. Your game subscribes to the topics you care about and decides what each one means - an announcement, a double-XP window, a soft shutdown warning, anything.

local RoSignal = require(game.ServerScriptService.RoSignal)

RoSignal.OnMessage("Announcement", function(data)
	for _, player in ipairs(game.Players:GetPlayers()) do
		player:FindFirstChild("PlayerGui"):FindFirstChild("Toast").Text = data.text
	end
end)

RoSignal.OnMessage("DoubleXp", function(data)
	setDoubleXp(data.enabled == true)
end)

2. Send it

From the dashboard, pick the topic, fill in the data and send. It reaches every running server of that experience in seconds. Each send is logged with the account that did it, so a team of five still has one clear history.

3. Or schedule it

Schedule the same message for a time in the future - a weekend event that starts itself at 10:00, a shop rotation, a reminder before a shutdown. You do not need to be online for it to fire.

4. Or let a rule send it

Automations turn a condition into a message. When concurrent players cross a threshold, when an event spikes, when a schedule comes round, or when an external service calls a webhook - the rule fires and the message goes out without you touching anything.