Teleports

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
(60 intermediate revisions by one user not shown)
Line 3: Line 3:
 
=Introduction=
 
=Introduction=
  
'''Work in progress'''
+
A teleport is the transfer of a user's connection (represented in-world by their avatar) from one location to another.  These locations can be
  
Teleports in OpenSimulator involve a complex exchange of messages between the simulator hosting the source region, the simulator hosting the destination region (which may be the same simulator that is hosting the source region) and the viewer. This page documents that message exchange.
+
* Within the same region.
 +
* Between different regions on the same simulator.
 +
* Between different simulators on the same network within the same grid (e.g. a grid hosted on a single network).
 +
* Between different networks within the same grid (e.g. between simulators hosted on OSGrid).
 +
* Between different networks on different grids (i.e. Hypergrid teleport).
  
In terms of basic grid teleports (where all simulators are hosted on the same grid), there are five different scenarios.
+
In OpenSimulator 0.7.5 and for many releases previously, a teleport protocol called SIMULATION/0.1 was used.  In OpenSimulator 0.7.6 and after, a teleport protocol called SIMULATION/0.2 is used by default.  However, OpenSimulator can still use the SIMULATION/0.1 protocol required by older versions and will automatically inter-operate with them.
  
* Teleport within the same region (intra-region teleport).
+
If you want to know an eye-watering amount of nitty-gritty about how this works, then please see the [[Teleport Protocol]] page.
* Teleport to an out-of-sight region hosted on the same simulator (same simulator, out-of-sight teleport).
+
* Teleport to an in-sight region hosted on the same simulator (same simulator, in-sight teleport).
+
* Teleport to an out-of-sight region hosted on a different simulator (different simulator, out-of-sight teleport).
+
* Teleport to an in-sight region hosted on a different simulators (different simulator, in-sight teleport).
+
  
These are listed in terms of complexity and hence reliability.  Intra-region teleport is the simplest at all since the avatar just needs to be moved within the region - connections do not need to be torn down and established.
+
=Configuration=
  
Same simulator, out-of-sight teleport is the next simplestThough the avatar needs to be removed from one scene and placed in another, a second simulator is not involved.  As the regions are out of sight of one another for the client's draw distance, no management of root and child agents is required (see [[Glossary]] for more information on agents).
+
Normally, no configuration is requiredHowever, from OpenSimulator 0.7.6 onwards, one can force the simulator to always use the older SIMULATION/0.1 protocol to send an avatar to another simulator, receive an avatar from another simulator or both.
  
Same simulator, in-sight teleport is similar to out-of-sight teleport except that some management of agents (e.g. downgrade root agent to child on the source region) needs to be done.
+
==Using SIMULATION/0.1 to send an avatar to another region==
  
Different simulator, out-of-sight teleport is similar to same simulator, out-of-sight teleport except that the need to communicate between different simulator processes increases the complexity of the teleport and often introduces a network dependency (unless the simulators are hosted on the same machine).
+
The protocol version used for outgoing teleports is controlled by the MaxOutgoingTransferVersion attribute in the [EntityTransfer] section of OpenSim.ini. Specifying
  
Different simulator, in-sight teleport is the more complex normal grid teleport, since not only is there an interaction between source simulator, destination simulator and viewer, but upgrade and downgrades between child and root agents need to be managed as well.
+
[EntityTransfer]
 +
MaxOutgoingTransferVersion = "SIMULATION/0.1"
  
= Grid Teleport Procedure =
+
here will make the simulator use this earlier protocol for outgoing teleports even if the destination has SIMULATION/0.2 available (all such simulators should also have SIMULATION/0.1 available). See OpenSimDefaults.ini for more details.
  
[[Image:GridTeleports.jpg|500px]]
+
==Using SIMULATION/0.1 to receive an avatar from another region==
  
= Hypergrid Teleport Procedure =
+
In this case, one needs to use the ConnectorProtocolVersion in the [SimulationService] section of StandaloneCommon.ini or GridCommon.ini as appropriate.  For example
  
[[Image:HypergridTeleports.jpg|500px]]
+
[SimulationService]
 +
ConnectorProtocolVersion = "SIMULATION/0.1"
  
= Open Grid Protocol Teleport Procedure =
+
=References=
  
See [http://wiki.secondlife.com/wiki/OGP_Explained#Teleport OGP Explained "Teleport"]
+
* [[Teleport Protocol]] - an extremely in depth look at the teleport protocol.
 
+
= Related =
+
 
+
[[Image:Child-event-queue.png|500px]]
+
 
+
= Teleports in OpenSimulator as of 2009-02-06 =
+
 
+
[[Image:Teleport.jpg]]
+
 
+
= Teleport Study (2009-03-05) =
+
 
+
The following four pictures compare the current agent transfer scheme with 3 possible agent transfer schemes. The different schemes have slightly different requirements with respect to authentication.
+
 
+
[[Image:TPCurrent.JPG]]
+
 
+
[[Image:TPScenarioA.JPG]]
+
 
+
[[Image:TPScenarioB.JPG]]
+
 
+
[[Image:TPScenarioC.JPG]]
+

Latest revision as of 15:43, 22 October 2013

Contents

[edit] Introduction

A teleport is the transfer of a user's connection (represented in-world by their avatar) from one location to another. These locations can be

  • Within the same region.
  • Between different regions on the same simulator.
  • Between different simulators on the same network within the same grid (e.g. a grid hosted on a single network).
  • Between different networks within the same grid (e.g. between simulators hosted on OSGrid).
  • Between different networks on different grids (i.e. Hypergrid teleport).

In OpenSimulator 0.7.5 and for many releases previously, a teleport protocol called SIMULATION/0.1 was used. In OpenSimulator 0.7.6 and after, a teleport protocol called SIMULATION/0.2 is used by default. However, OpenSimulator can still use the SIMULATION/0.1 protocol required by older versions and will automatically inter-operate with them.

If you want to know an eye-watering amount of nitty-gritty about how this works, then please see the Teleport Protocol page.

[edit] Configuration

Normally, no configuration is required. However, from OpenSimulator 0.7.6 onwards, one can force the simulator to always use the older SIMULATION/0.1 protocol to send an avatar to another simulator, receive an avatar from another simulator or both.

[edit] Using SIMULATION/0.1 to send an avatar to another region

The protocol version used for outgoing teleports is controlled by the MaxOutgoingTransferVersion attribute in the [EntityTransfer] section of OpenSim.ini. Specifying

[EntityTransfer]
MaxOutgoingTransferVersion = "SIMULATION/0.1" 

here will make the simulator use this earlier protocol for outgoing teleports even if the destination has SIMULATION/0.2 available (all such simulators should also have SIMULATION/0.1 available). See OpenSimDefaults.ini for more details.

[edit] Using SIMULATION/0.1 to receive an avatar from another region

In this case, one needs to use the ConnectorProtocolVersion in the [SimulationService] section of StandaloneCommon.ini or GridCommon.ini as appropriate. For example

[SimulationService]
ConnectorProtocolVersion = "SIMULATION/0.1"

[edit] References

Personal tools
General
About This Wiki