How can I allow VIP Servers in a game that spans multiple places?

In my game, there are 3 massive worlds. They are too big to put in a single place, so I’ve split them into 3 places and a hub. Unfortunately in doing this, I’ve broken the functionality of VIP servers. How can I fix this? I’m familiar with the ReserveServer API, and I know a lot about the Teleport Service, but how can this be done? Thanks!

3 Likes

Use ReserverServer to get a code to an instance. Store that code in a datastore if you want other players to be able to join it.

After you use reserveserver, teleport the player from the VIP server in the hub to the reserved instance.

Don’t worry - you haven’t broken the functionality of VIP servers

4 Likes

The main issue for me is, how would I recognize players with access to the VIP server?

If you want to be able to determine whether a player belongs to a VIP “network” (i.e. has come from a VIP hub), then simply send the VIP hub instance data to the place you send them via teleport service (or use a datastore if you’re paranoid about clients editing such data).

Because ReserveServer will not allow random people to join the instance, you only have to worry about people that are teleporting in with the code, which you can (in most cases) avoid the problem by just handling everything on the server. If you are worried randoms will slip in (and yes - technically they can if they really wanted to), definitely put sanity checks on both sides.

3 Likes

Sweet, thank you for the help!