用途:在 Roblox 体验中把玩家从一个地点或服务器移动到另一个地点、指定服务器或保留服务器,并处理匹配、加载界面与传送失败。
主要能力:现代统一入口为服务端方法 TeleportService:TeleportAsync(placeId, players, teleportOptions?),可传送到不同地点、指定服务器或保留服务器;旧的 Teleport、TeleportPartyAsync、TeleportToPlaceInstance、TeleportToPrivateServer、TeleportToSpawnByName 已弃用。TeleportOptions 支持 ServerInstanceId、ReservedServerAccessCode、ShouldReserveServer 与 SetTeleportData;传入选项时返回 TeleportAsyncResult。ReserveServerAsync 可创建保留服务器并返回访问码。TeleportInitFailed 事件用于失败重试。
用法要点:客户端发起的传送应通过 RemoteEvent 通知服务端,由服务端调用 TeleportAsync,客户端不能直接调用。传送数据用 SetTeleportData 传递、目的地用 GetLocalPlayerTeleportData 读取,但可被伪造,敏感数据应走 DataStoreService。自定义加载界面用 SetTeleportGui 与 GetArrivingTeleportGui。
限制:单次 TeleportAsync 最多 50 名玩家,且组队传送仅限同一 universe;跨体验传送默认受限。ReservedServerAccessCode、ServerInstanceId、ShouldReserveServer 之间存在互斥组合。TeleportService 在 Studio 测试中不可用,需发布后在 Roblox 应用中验证。玩家角色状态不会跨传送保留,需通过 DataStore 保存与加载。Xbox/PlayStation 关闭跨平台时可能产生同一 PrivateServerId 的多个服务器。