Class
TeleportOptions
Optional input arguments to the TeleportService:TeleportAsync()
function.
This class is an optional parameter to the
TeleportService:TeleportAsync() function that allows developers to
provide arguments for the teleport call.
Certain arguments in this class are not compatible with each other and cause
an error when passed to TeleportService:TeleportAsync():
- ReservedServerAccessCode + ServerInstanceId
- ShouldReserveServer + ServerInstanceId
- ShouldReserveServer + ReservedServerAccessCode
For more information on how to teleport players between servers, see Teleporting Between Places.
Properties 3#
ReservedServerAccessCodestring | The reserved server access code that indicates the reserved server that the teleport should be to.ReadSafe |
ServerInstanceIdstring | The DataModel.JobId of the server instance to teleport to.ReadSafe |
ShouldReserveServerboolean | A flag to indicate if a reserved server should be allocated and the players should then be teleported to this allocation.ReadSafe |
ReservedServerAccessCode: string#
ReadSafe
This property 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 more information on how to teleport players between servers, see Teleporting Between Places.
ServerInstanceId: string#
ReadSafe
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.
ShouldReserveServer: boolean#
ReadSafe
This property indicates whether the teleport call should create a new reserved server. When set to true, a reserved server will be created and the player(s) will be teleported to the new server.
If set to false, the player(s) will be teleported to the public server
with the specified TeleportOptions.ServerInstanceId if provided.
When TeleportOptions.ServerInstanceId is blank or no matching
server is found, a new public server will be created to teleport the
player(s) to.
For more information on how to teleport players between servers, see Teleporting Between Places.
Methods 2#
| GetTeleportData | Returns the teleport data stored in the TeleportOptions instance
by TeleportOptions:SetTeleportData(). |
| SetTeleportData | Setter function for data to be passed to the destination place. |
GetTeleportData(): 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.
Returns
Variant— The teleport data previously stored byTeleportOptions:SetTeleportData(), or nil if no data was set.
SetTeleportData(teleportData: Variant): ()#
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():
-- 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:
-- Client
local TeleportService = game:GetService("TeleportService")
local teleportData = TeleportService:GetLocalPlayerTeleportData()
if teleportData then
local placeId = teleportData.placeId
local jobId = teleportData.JobId
endIf 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, andstring - Value types such as
Vector3,CFrame,Color3,UDim2,NumberSequence,ColorSequence,Enumitems, 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):
Instanceand instance referencesConnections,RBXScriptSignal, and functionsSharedTable- Types that reference engine or
DataModelstate, such asInputObject,RaycastParams, andRaycastResult
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.
| Name | Type | Default | Description |
|---|---|---|---|
teleportData | Variant | Data to be passed to the destination place. |
Returns
()
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild