[spoiler]Basically, in Rollernauts for example, if I have a Menu place as the starting place, and then a separate game server place, I’d like players in VIP Servers to be teleported to a corresponding VIP server in the game place. I kind of hoped for this to work out of the box but I guess it doesn’t, as players from the VIP enabled menu place get teleported to a public game server.
I think you can hack this behavior together with ReserveServer() but I ran into a particular situation (with no heads up…) where I’d have liked to get VIP servers working quickly. Well, not to mention I don’t have a great way of testing VIP servers online without making the testing place public.[/spoiler]
new feature request!
A potential problem is that the group that joined a VIP server together would be split up if they go back to the starter place because there is no way to teleport to a specific VIP server.
Note: I wasn’t sure what section to post this thread in but ¯\_(ツ)_/¯
It actually sounds like you could hack one together pretty quickly. When a user joins a Lobby with a VIPServerID you could check the database with VIPServerID as key, if it doesn’t exist then create a ReservedServer and store the value in the database, then you could teleport the player immediately to the Game Server (or have them press a button or something, its really up to the developer).
local db = game:GetService("DataStoreService"):GetDataStore("VIPDB")
local TS = game:GetService("TeleportService")
local reservePlaceId = 0 -- id to game place
game.Players.PlayerAdded:connect(function(player)
if game.VIPServerId ~= "" then
local reserveId
while not pcall(function()
reserveId = db:GetAsync(game.VIPServerId)
end) do
wait(5)
end
if not reserveId then
reserveId = TS:ReserveServer(reservePlaceId)
db:SetAsync(game.VIPServerId,reserveId)
end
TS:TeleportToPrivateServer(reservePlaceId,reserveId,{player},"",{reserveId,game.VIPServerId,game.VIPServerOwnerId},nil)
end
end)
@Baumz is right, using ReservedServers here seems like a good solution that is quick to implement. A potential problem is that the group that joined a VIP server together would be split up if they go back to the starter place because there is no way to teleport to a specific VIP server. If you need to implement this fast though, just reserving a server that can be teleported to from the starter place probably fits your use case.
A potential problem is that the group that joined a VIP server together would be split up if they go back to the starter place because there is no way to teleport to a specific VIP server.
now THAT sounds like the real feature request here ;0
A big issue basically is that you can’t teleport to VIP/reserved servers (except by using TeleportToPrivateServer for the latter, but that needs the reserveCode, not (just) the jobId)