So my idea is this, and it’s similar to Dungeon quest. When the player joins the game, they are in the main lobby where they can access the shop and more. Afterward, there is a button called “Battle”. When they click it, it teleports them to a reserved server. In the reserved server, it’s a round-based battle. Every 10 minutes a new map loads and players fight. 30-second intermission to vote for the next map. Here are my questions:
Does player data transfer when I use reserved servers? (Game Universe)
Let’s say there are players in reserved servers and I shut down the game for an update, does that server also shut down besides the main lobby?
How do I tell if the server is reserved or not? (Mainly to know for the round based system)
Tested all of these cases to see what would happen.
Yes! DataStores are shared across places under the same game. :ReserveServer essentially creates a VIP server under the same place, therefore it is also under the same game and therefore subject to the same datastore.
Because Private Servers are actually under the same place this means that the hub, as well as any running servers (private included) will be closed. If you need to do a lobby wide server closing, tell every server to await a MessagingService request to be closed, and if the given server is not a reserved server then close it. Thanks to @NickTimesTwo for helping me test this (needed someone to join a lobby whiel someone else was in a private server).
The Wiki says that you can compare the PrivateServerId and PrivateServerOwnerId to an empty string, and 0 respectively. Tested it for case #2 and it worked.