Cross Server/Places teleporting list / browser GUI

I am having trouble of scripting out a GUI that would show all the current public servers of the main game + connecting places. It would include the place name, amount of players currently and a join button.

I have already tried memorystore and messaging services or looked through other forums but I am either confused or just too complicated for me.

Any type of tutorials or examples would be very helpful thank you very much

4 Likes

There is no other “simpler” way to make refreshing servers list than using MessagingService.

MessagingService works across places/server inside the game or “experiences”

On the “menu” place, you’d make a script and use SubscribeAsync. Inside the parameters of SubscribeAsync are the topic which is the “key” followed by callback (Callback makes it confusing, instead call it a function) which allows you to connect the function to the subscription. So for every it receives a message through it, the function will be executed. Kind of like Subscription[topic]:Connect(function). You should make it so that in the function whatever details are sent in the table are deserialized (table ==> instance) into values (each value represents a server received) and put it in a folder on ReplicatedStorage so clients can access it. Make the gui and make it constantly refresh through the folder.

On the “place” place, you’d make a script.
Wrap it into a while … do. The recommended delay time is around 5-10 second to prevent it from having issues. Put PublishAsync into it. The parameter, topic is also the “key” which will send messages to all servers in the game and any ”menu” place that has that script that receives from the key would deserialize it, and the message which can be any value (which I recommend using the table to store game.JobId, player count, etc).

1 Like