The game-place universe structure is pretty complicated, so pardon my bad explanation.
So recently, for simplicity’s sake, I decided to merge two games together: the current version of my game and the old version of it from before a big update this past summer.
I didn’t monetize the old version since I was lazy and it was just something for the oldheads to play if they didn’t like the new version, but the game ended up garnering 500,000 place visits since July/August, and would get upwards of 2-3k plays a day. I saw this as wasted potential income since if the game was monetized (game passes worked, but developer products would not be prompted correctly), I could be earning an extra 100k robux a month if it matched with the new version’s player-to-robux ratios.
So I decided to create a new place under the new version’s host game, creating a universe.
Since then a couple of things have happened/been noticed:
The old version’s play count plummeted. Went from 2k plays a day a week ago to just over 100.
Every time I clicked the button that would transport me to the place with the old version under the same game, the servers were always empty.
I cannot be followed directly into my server. My friends are prompted to the start place (the new version) and if they click the teleport button, they will also be teleported to a new server on their own.
I merged the games into one so badges and developer products would work, and I wouldn’t have to change anything, and that player counts would increase in the new game. It did not work well and I feel like I should’ve held my nose and done the tedious task of creating new developer products on the old game instead of taking it down.
Is there any way that I can view the developer statistics for separate places under the same game universe? Is there a way I can make it so that the place with the old version doesn’t create a new server every time someone tries to play it? And is there any way that friends can directly join someone’s server without going through the start place? And is there any way I can route players from the old game directly to the place with the old version without going through the start place?
If the answer to all of these is no, ROBLOX should add a disclaimer for it to their page on this topic, which, in my opinion, is extremely barebones, especially on this side of the topic…
In fact, yes, you can. When a player joins a friend, the friend’s UserId is in the FollowUserId property of the player. With this UserId, you can use GetPlayerPlaceInstanceAsync to get the gameInstance that the friend is in, and then you can use TeleportToPlaceInstance to teleport to that server.
The developer hub even has an example for you! Scroll down on the TeleportToPlaceInstance page, and there’s an example of how to implement this.
Not sure what you mean by this, so I’m assuming you want the old game to redirect to the new place under your new game. You could just use Teleport and pass in a value inside teleportData. Then, you can use GetLocalPlayerTeleportData and see if that value is there. If yes, you can then teleport the client to the old game.
That doesn’t answer my question about why my place would always make me (and other players) join an empty server when they just simply wanted to play the old version… I know you can edit this instance via the place’s settings (where it is currently set to "ROBLOX optimizes servers), but I have a feeling that wouldn’t really change anything. Also doesn’t answer my question on if I can view the developer statistics separately of the two places instead of the whole game, which I’m going to assume is a no.
Actually, I looked into the developer statistics page for games. Apparently, the page shows stats limited to the place; the only thing that is synced between the pages for different places underneath the same game is the player count.
For your servers creating empty servers, I’m not sure why that’s happening. Teleport usually puts you in servers with other players, and I’ve seen this work in numerous different games. It could be how you are teleporting users to the game, or something else, I’m not sure.
---in local script
game:GetService("ReplicatedStorage").Remote.SendPlayer:FireServer(gameidhere)
---in server script
game:GetService("ReplicatedStorage").Remote.SendPlayer.OnServerEvent:Connect(function(Player,num)
game:GetService("TeleportService"):Teleport(num, Player)
end)
It works fine for teleporting players to different games, but it appears doesn’t do so well with teleporting players to different places within the same game.