Reference API Roblox

Engine API

Website

Related

Reference API Roblox

MessagingService

Allows servers of the same experience to communicate with each other.

This class is not replicated. Its interface does not cross the network boundary.
This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a service. It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service, NotReplicated]

Member index 2

HistoryMember
573PublishAsync(topic: string, message: Variant): null
462SubscribeAsync(topic: string, callback: Function): RBXScriptConnection
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

Description

MessagingService allows servers of the same experience to communicate with each other in real time (less than 1 second) using topics. Topics are developer‑defined strings (1–80 characters) that servers use to send and receive messages.

Delivery is best effort and not guaranteed. Make sure to architect your experience so delivery failures are not critical.

Cross-Server Messaging explores how to communicate between servers in greater detail.

If you want to publish ad-hoc messages to live game servers, you can use the Open Cloud APIs.

Limitations

Note that these limits are subject to change.

LimitMaximum
Size of message1kB
Messages sent per game server600 + 240 * (number of players in this game server) per minute
Messages received per topic(40 + 80 * number of servers) per minute
Messages received for entire game(400 + 200 * number of servers) per minute
Subscriptions allowed per game server20 + 8 * (number of players in this game server)
Subscribe requests per game server240 requests per minute

History 6

Members 2

PublishAsync

Parameters (2)
topicstring
messageVariant
Returns (1)
null

This function sends the provided message to all subscribers to the topic, triggering their registered callbacks to be invoked.

Yields until the message is received by the backend.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

SubscribeAsync

Parameters (2)
topicstring
callbackFunction
Returns (1)
RBXScriptConnection

This function registers a callback to begin listening to the given topic. The callback is invoked when a topic receives a message. It can be called multiple times for the same topic.

Callback

The callback is invoked with a single argument, a table with the following entries:

FieldSummary
DataDeveloper supplied payload
SentUnix time in seconds at which the message was sent

It yields until the subscription is properly registered and returns a connection object.

To unsubscribe, call Disconnect() on the returned object. Once called, the callback should never be invoked. Killing the script containing the connections also causes the underlying connect to be unsubscribed.

See also MessagingService:PublishAsync() which sends the provided message to all subscribers to the topic, triggering their registered callbacks to be invoked.

This function yields. It will block the calling thread until completion.

History 2

Tags: [Yields]

Settings