Duplicate reserved servers created for XBox users with cross platform disabled

I am using a static reserved server access code with TeleportService:TeleportToPrivateServer to teleport players to a private server.

Expected behavior: All players will arrive in the same server. If the player is not able to access the reserved server because it is full or any other reason, the teleport fails. No more than one instance of the server is ever created in any condition.

Actual behavior: Users on xbox one who have cross platform disabled arrive in a different server from cross platform users.

Repro place: https://www.roblox.com/games/2981611974/ReservedServer-Repro

In my game and other games with economies, this is exploitable to duplicate items that are intended to be sourced from singleton locations.

If this behavior is intended:

  • I strongly think this is the incorrect product decision. The premise of a reserved server access code is that only one server can be created per code. This is promised in the documentation on the devhub: “No more than one game server instance can exist at any time for each access code”
  • 99% of reserved server use cases (for matchmaking) use the access code once for players already in the server and then throw it away. If the server is already platform restricted, there will be no problem.
  • For the cases where codes are saved and used continuously, most developers would accept a teleport failure in cases in which players do not have permission to join the server. This is consistent with behavior when teleporting to other invalid locations, and this is consistent with the expectation that only one server will be created with one access code.
  • Developers need access to an API to know if a server is restricted so they can handle these cases manually. This current automatic solution does not produce the result the developer intends, and if they had more information about the restrictions of the server they would be able to properly handle these cases.
4 Likes

Just was able to confirm this behavior in the repro place with the user who reported it. Interestingly, game.PrivateServerId matched for both users, despite being in different servers.

xbox: image

pc: image

3 Likes

Hi @Defaultio,

We’ll take a look and get back to you.

Vlad

2 Likes

Hi @Defaultio.

Unfortunately this is a known limitation, and we don’t have a timeline on a fix.

As a workaround, can you use uniqueue reservedServerAccessCodes for XBox games?

Vlad

Is it agreed that this behavior is incorrect, or is intended and not considered a problem?

My project is a cross platform persistent world game. I cannot separate all Xbox players into a separate worlds without damaging the experience for these users.

I would like to be able to separate the Xbox users that have the cross platform setting disabled, but there is not currently a way to detect if a server is platform restricted.

2 Likes

Although I can’t do or say anything regarding this issue (and I wish I could), I have corrected the DevHub page to describe this behavior. I’ll watch this thread closely if any information comes up that ought to be in our API docs.