MessagingService Release

For some clarification, does the “Messages per game server per minute” only limit the messages published, or does it limit messages received as well?

5 Likes

Nice. This is going to be great!! Cant wait to make so much awesome stuff with this :smile:

2 Likes

Wow this is something I need for my future developments!

3 Likes

Yes! I’ve missed this feature for years, some games seemed to have used this but it randomly vanished one day, and I could never figure out where it went.
I’ve came up with so many dream ideas with this service.

2 Likes

I can hardly express how fantastic and awaited a feature this is!

1 Like

Will this service work in studio? If so, I can think of some interesting applications which would effectively turn Studio into a easy make server. Simply launch studio and have it act as the match making server. TBH this would be a great alternative to UniverseScripts until they’re released

2 Likes

If you look in the API for MessagingService here, it says

“When released as a beta feature, this was available in live servers but not in Studio”

Hope that answers your question.

1 Like

I am not quite sure how to use this feature to achieve the inended usecases, or listed examples. Could someone provide pseudo code for cross server trading, global leaderboards, or cross server friend chat?

2 Likes

My friend @Reset5403285 made this game to showcase this service with cross-server chat. It’s un-copy locked so you can view the code behind it.

All credit goes to Reset. I just thought to spread it as it was originally intended for developers to learn how to use the new MessagingService.

4 Likes

Does anyone think this could be used to create a custom server-list so that players can teleport to specific servers in a universe game?
I’m currently trying to use DataStores to accomplish the same thing but it’s impractical and broken because if a server crashes, it isn’t removed from the list due do BindToClose() not firing and removing the server from the DataStore.

I assume it’s possible by just sending the JobId and PlaceId back to the starterplace but i’m not really sure how it’d be able to tell if a server still existed or not (A regular ping to each server, I suppose?).

Any thoughts on the practicality and reliability of something like this? It’d benefit my game greatly due to ROBLOX often putting people in empty servers, which isn’t good because it’s a game that survives on servers having a decent population for people to interact with so it’d be excellent to give people the freedom to pick which server they join.

1 Like

I was thinking of making the same thing and already wrote up a PoC version of a lobby system, however I’m waiting to be accepted into the Beta Program so I can get to work on it. So yes I think it would be very possible.

3 Likes

I’ve already done that! :smiley:

Basically I send a bunch of server info every second to my lobby place over the message topic “server-list” such as JobId, VipServerId, PlaceId, list of Players, server stats like FPS, etc. Secondly I use the JobId as an identifier for each server since it’s unique for every server (VipServerId is not) and display any info about the server on a list with a join button which uses TeleportService to teleport you to that JobId.

Secondly I use BindToClose to send the server info with a ServerDead flag. Thirdly if the player count is 0 I assume the server is dead and remove it from the list.

Sadly if there is a bit of lag between messages players can still join an empty server for a brief amount of time but that’s not a problem since they’ll just be disconnected.

Edit:
There’s also a time for the server to die without a response. Basically if the server isn’t seen for over 3 seconds I assume it’s dead.

4 Likes

This is a great feature! Thanks for adding this since I need for my upcoming game as I am required to do cross-server matchmaking. This makes that so much easier.

There is a single problem I am having with it. I applied for the beta to use this so I can work on my game but the problem I am facing is that beta features are not able to be used on groups, where my game is, even if the owner of the group has the beta features. (I had someone test this last night.) I think this is something that should be looked into as it disallows everyone that has games on groups (such as a handful of popular games) not being able to use beta features in their games. Before you say I should make a place on my account: I don’t want to create a new place on my account since you can’t actually permanently remove them and I also have it shared via team create on the group (since I don’t want to add everyone as friends.)

2 Likes

This is utterly amazing!
Live modcalls, Live serverlists, This is so cool!!

2 Likes

I am the owner of a group using MessagingService so I’m not sure why you’re having issues. Are you sure the owner of the group has beta access?

Now this is gonna be fun! :smirk:

1 Like

It’s not intended for production yet

I am very happy this exists, I am making a multi game game where users can invite each other to places and the like and this makes it very easy to get the chat and invite system working!

Someone tested it for me last night, it didn’t work for them at all. Are you sure your testing on a group game?

I’m fully aware, the game isn’t released nor is it going to be within next month I think. I need to use MessagingService so I can make the game (without it, I can’t easily since I need to handle cross-server matchmaking – and I already use HttpService requests for my data storing/loading so I don’t want to use that for matchmaking with MessagingService already in beta)

I myself am able to use MessagingService and things of that nature in my game, which is under my group.

There really shouldn’t be any problems using it, unless the group owner doesn’t have beta access.