As a Roblox developer, it is currently too hard (or impossible, based on my current knowledge) to build a custom private server system for all platforms, including consoles, because of crossplay issues. The Roblox APIs provide no information about whether a server or a player has crossplay enabled and only sends Crossplay-disabled players onto different servers, which can cause loads of issues for more complex systems.
Our private server system is bound to a datastore entry based on the private server id and broadcasts data to our live server list. I understand the limitations of crossplay and why 2 reserved servers are started, but these 2 reserved servers would override each other’s data and listing, which does not work for us.
The solution that I suggest, which is the most simple one that I can imagine, is adding a Player:HasCrossplayEnabled() method to check if a player has crossplay enabled. If they have, we can allow them to access our private server system. If not, we can lock them out to prevent multiple reserved servers from starting up and causing the described issues.
Right now, we need to disable the private server system that we are launching for all of our console players, which impacts about 20% of our player base / 50.000 DAU.