How to detect if a server is a Reserve Server or a Private Server

Hi there!

I am planning to make a “pro server” feature where experienced players can teleport to a seperate server of the same game where they wont be bothered by new players. I plan on doing this via TeleportService:ReserveServer().

In reading the documentation however, I noticed that ReserveServer() also returns a privateServerID. In my game there are a few badges that cannot be earned on private servers, and I use privateServerID to check if it is a private server, but this would now conflict with ReserveServer()

So what I am asking simply is, is there a way to detect the difference between a ReserveServer and a PrivateServer?

You could use TeleportAsync, and just use checks on the server to detect if they are actually high enough level to be in the server instead of reserving (you can kick them if they arent)

I would prefer not to do that, I just don’t like the idea of kicking players especially if it was their first time joining the game and they just happened to be picked for that specific server.

I really prefer using ReserveServer()

I didn’t think of that, why don’t you just use ReserveServer and check it then?

ReserveServer() returns a privateServerId, and a normal private server also has a privateServerId, I want to know how I can detect what type of server a server is so that I can enable or disable certain features like badges

You could send info with the parameter TeleportData?

1 Like

You’ll have to check if game.PrivateServerOwnerId is equal to 0, if its a reserved server I think?

that might also work

I think that would work, I will test it once I can figure out where the Find/All code button is in the new studio ui :sob:

After reading through more of the docs I believe this is correct thanks for your help!