MessagingService Release

I made a module for helping others calculate the estimated size of their messages based on the estimated bit weight (Rounded up from the tenths place.) If you want to use it the module is posted below. Posting it here so those that are messing with MessagingService can see/use it to ensure their messages are within size constraints before passing them to MessagingService. (All data calculated with the assumption that MessagingService only allows strings with 1kB or less of data to be sent)

Valid UTF-8 characters are string.char(1) through string.char(127)

Example of use:

function Can_Send_Message(Message)
local Weight = WeightModule.Calculate_Byte_Weight(Message) -->“Hello world” = 11.287125
return (Weight<1000)
end
print(Can_Send_Message(“Hello world”)) → true

7 Likes

How long does it take for a server to receive the data from a server sending the data?

On average, it takes less than a second for other servers to receive data.

2 Likes

Been a few months since this was announced. Is there an ETA on when everyone will get access to this feature?

2 Likes

https://devforum.roblox.com/t/global-matchmaking/288436/5

2 Likes

Will the 10,000 per-universe subscription limitation be increased during actual release?

I’m currently only using the service for cross-server announcements from game administrators.

I don’t want to implement any of my other ideas because of fears of reaching limitations.

As someone else deep in this thread stated: it essentially ensures top games can’t use it.

3 Likes

I agree, the “per universe” limit is worrying. For potentially traffic heavy games, implementing game features with this API is a risky move as if a game spikes in popularity it almost ensures that the feature will be broken.

Perhaps this will be addressed with the “Universe Scripts” feature that’s on the roadmap.

3 Likes

Hi everyone,

I am happy to announce that this feature is now out of beta! All developers now have access.

Be sure to check out the MessagingService documentation for details on how to use it.

17 Likes

Does this mean we’ll also have API access enabled for studio?

7 Likes

It appears that documentation no longer exists for MessagingService itself, but PublishAsync & SubscribeAsync are fine.

1 Like

Wonderful addition! Cant wait to see what people will be doing with this! :slight_smile:

I’ve recently implemented MessagingService into my game to allow for a real time server browser.
However I seem to be getting throttled by sending 20 messages per minute (1 every 5 seconds), which should be well below the stated rate of 150 + 60 * num players per minute and I definitely haven’t reached the game universe limitation.


Just wondering what’s going on here?

1 Like

The MessagingService class page does not exist on the Developer site, even though the link is referenced in a few places in the Cross-Server Messaging article. The two methods (SubscribeAsync and PublishAsync) do exist though.

1 Like

Real excited to use this service but when will the page for MessagingService be fixed? Had to go scavenging through threads to find documentation for what it provides.

1 Like

A fair warning to everyone here, I don’t believe that the subscription limit functionality is working correctly (or there is an issue with documentation)

In Vesteria, we create a single subscription for each user when they join, and unsubscribe immediately when they leave. The limit of subscriptions is documented at 5 + 2/user, but with 1 subscription per user we are seeing big spikes in messagingService failures which don’t make sense with our constant usage of the feature. Here’s the errors from today:

The error we get is usually “The game server has reached the allowed limit of active subscriptions”, but it’s a really weird error to get considering we are strictly opening one subscription per player, and we track all subscriptions in a table, removing them only when they have been disconnected, to ensure we don’t have “subscription leak.” Whenever a player leaves, we go through all subscriptions and disconnect the ones that aren’t connected to a player who is currently in the server as an extra level of redundancy.

5 Likes

I seem to not be able to open the page for some reason.image

2 Likes

Had an issue as well with MessagingService throttling yesterday while under the original rate limits, hopefully there may be something like GetRequestBudgetForRequestType() for MessagingService as DataStore does.

2 Likes

The API Documentation seems to exist for me.


This seems to be a larger problem on the Developer Hub, since there are multiple pages not existing for some while they exist for others. As stated in here, it does not just affect that one page but multiple

Edit: It seems like the PublishAsync page does not exist for me.

2 Likes

There are a few strange issues going on with the API documentation website.

PublishAsync does work for me, however MessagingService does not (it worked a few days ago though).

RIP web devs. Looks like they’ve got a regional caching problem with CloudFront or something.

5 Likes