Reference API Roblox

Engine API

Website

Related

Reference API Roblox

TeleportOptions

Optional input arguments to the TeleportService:TeleportAsync() function.

Member index 7

HistoryMember
746ReservedServerAccessCode: string
740ReservedServerId: string
486ServerInstanceId: string
746ShouldReserveServer: bool
740VipServerId: string
462GetTeleportData(): Variant
573SetTeleportData(teleportData: Variant): null
inherited from Instance
731Archivable: bool
731Capabilities: SecurityCapabilities
731IsInSandbox: bool
731Name: string
731Parent: Instance
731PredictionMode: PredictionMode
731Sandboxed: bool
731UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
731children(): Instances
731clone(): Instance
731destroy(): null
731findFirstChild(name: string, recursive: bool = false): Instance
731getChildren(): Instances
731isDescendantOf(ancestor: Instance): bool
731remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
731childAdded(child: Instance)
inherited from Object
731ClassName: string
731className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
731isA(className: string): bool
647Changed(property: string)

Description

This class is an optional parameter to the TeleportService:TeleportAsync() function that allows developers to provide arguments for the teleport call.

Only one of the following private server routing fields may be set at a time. Setting more than one causes an error:

For more information on how to teleport players between servers, see Teleporting Between Places.

History 24

Members 7

GetTeleportData

Parameters (0)
No parameters.
Returns (1)
Variant

This function returns the teleport data stored in the TeleportOptions instance by TeleportOptions:SetTeleportData().

Once a player has teleported, teleport data can be retrieved using the Player:GetJoinData() and TeleportService:GetLocalPlayerTeleportData() functions.

For more information on how to teleport players between servers, see Teleporting Between Places.

History 2

ReservedServerAccessCode

TypeDefault
string

This property is deprecated and no longer supported. It remains available for backward compatibility but should not be used for new work.

It indicates the reserved server access code for the reserved server that the user(s) should be teleported to. The access code is obtained either from TeleportService:ReserveServerAsync() or from TeleportAsyncResult.ReservedServerAccessCode.

For new work, use TeleportOptions.ReservedServerId with a developer-generated GUID instead. See Teleporting Between Places.

This property is deprecated. It exists only for backward compatibility, and should not be used for new work. ReservedServerId should be used instead.

History 5

Tags: [Deprecated]

ReservedServerId

TypeDefault
string

This property specifies a developer-supplied identifier for a reserved server. Set it to any random GUID to target a new, random reserved server. A random GUID can be generated with HttpService:GenerateGUID(false). Pass the TeleportOptions instance to TeleportService:TeleportAsync().

The first teleport using some new ID creates the reserved server. Reusing the same ID routes subsequent teleports to that same reserved server.

For more information on how to teleport players between servers, see Teleporting Between Places.

History 1

ServerInstanceId

TypeDefault
string

This property indicates the DataModel.JobId of the server instance the user(s) should be teleported to.

For more information on how to teleport players between servers, see Teleporting Between Places.

History 3

SetTeleportData

Parameters (1)
teleportDataVariant
Returns (1)
null

This is a setter function for data to be passed to the destination place. On the destination place, this data can be retrieved using Player:GetJoinData() or TeleportService:GetLocalPlayerTeleportData().

For example, the following snippet would send the DataModel.PlaceId and DataModel.JobId in a dictionary passing the teleport data in a TeleportOptions instance using TeleportOptions:SetTeleportData():

1
2
3
4
5
6
7
8
-- Server
local teleportOptions = Instance.new("TeleportOptions")
local teleportData = {
    placeId = game.PlaceId,
    jobId = game.JobId
}
teleportOptions:SetTeleportData(teleportData)
TeleportService:TeleportAsync(game.PlaceId, {player}, teleportOptions)

This data could then be retrieved upon arrival using the GetLocalPlayerTeleportData() function as follows:

1
2
3
4
5
6
7
8
-- Client
local TeleportService = game:GetService("TeleportService")

local teleportData = TeleportService:GetLocalPlayerTeleportData()
if teleportData then
    local placeId = teleportData.placeId
    local jobId = teleportData.JobId
end

If no teleportData was set in the teleportation function this GetLocalPlayerTeleportData() will return nil.

Allowed data types

Teleport data may only contain value types. It cannot contain Instances or other types that reference engine state, as these cannot safely cross the boundary between servers.

Allowed:

  • Primitives: bool, number, and string
  • Value types such as Vector3, CFrame, Color3, UDim2, NumberSequence, ColorSequence, Enum items, and similar
  • Tables and arrays (without mixed keys) containing only the allowed types above, nested up to a reasonable depth and size

Not allowed (these will be removed from the data before the teleport completes):

If teleport data contains a disallowed type, that value is removed and an error is written to the developer console. Convert instance references to plain values (for example, a numeric ID or a string path).

For more information on how to send and receive user data along with teleports, see, see Teleporting Between Places.

History 3

ShouldReserveServer

TypeDefault
boolfalse

When set to true, a reserved server is created and the player(s) are teleported to the new server.

This property is deprecated and no longer supported. For new work, generate a GUID with HttpService:GenerateGUID(false), set TeleportOptions.ReservedServerId, and call TeleportService:TeleportAsync().

For more information on how to teleport players between servers, see Teleporting Between Places.

This property is deprecated. It exists only for backward compatibility, and should not be used for new work. ReservedServerId should be used instead.

History 8

Tags: [Deprecated]

VipServerId

TypeDefault
string

This property specifies the identifier for a VIP server (known as private servers to players). Set it to the DataModel.PrivateServerId of the target VIP server and pass the TeleportOptions instance to TeleportService:TeleportAsync().

This property is distinct from TeleportOptions.ReservedServerId, which targets reserved servers.

A VIP server ID is scoped to the experience that owns the VIP server. You may use it with the place ID of any place in that experience, not just the root place, but using it with a place ID from a different experience is rejected.

When no private-server routing field is set, the engine chooses the destination server: the join can be public, or a VIP server the player has recent context for.

For more information on how to teleport players between servers, see Teleporting Between Places.

History 1

Settings