Communication Protocols

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Client protocols)
m (Client-Server protocols: fixed link so it points to English language page rather than French)
 
(29 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Languages|Communication Protocols}}
 
{{Warning|This page is still under construction.  Need to slowly fill out the details on the protocols of each type -- [[User:Justincc|Justincc]] 20:28, 25 July 2011 (UTC)}}
 
{{Warning|This page is still under construction.  Need to slowly fill out the details on the protocols of each type -- [[User:Justincc|Justincc]] 20:28, 25 July 2011 (UTC)}}
  
Line 5: Line 6:
 
There are a large number of communication protocols used by OpenSimulator. These can be divided into the four types.
 
There are a large number of communication protocols used by OpenSimulator. These can be divided into the four types.
  
== Client protocols ==
+
== Client-Server protocols ==
  
These are communication protocols between the server and a client/viewer. The primary protocol here is the Linden Lab viewer protocol. This protocol is divided into UDP messages (such as object updates, avatar position updates, etc.) and HTTP based messages via [http://wiki.secondlife.com/wiki/Capabilities capabilities].
+
These are communication protocols between OpenSimulator and a client/viewer. This is mainly beween the viewer and the simulator, though some traffic also flows directly between the viewer and a grid service (chiefly the login service and the map service for viewers derived from Linden Lab's version 3 and later viewer.
  
The Second Life wiki has an [http://wiki.secondlife.com/wiki/Current_Sim_Capabilities incomplete summary of current capabilities].
+
The primary protocol here is the Linden Lab viewer protocol. This protocol is divided into UDP messages (such as object updates, avatar position updates, etc.) and HTTP based messages via [[capabilities]] and the [[event queue]].
  
There are also separate pages for  
+
This wiki doesn't yet have much information about the UDP messages except for that contained in the pages below.  Please see the Second Life wiki protocol page - http://wiki.secondlife.com/wiki/Protocol - for more information on these.
  
* [http://wiki.secondlife.com/wiki/Inventory_API#Viewer_Capabilities Inventory capabilities] (FetchInventoryDescendents2, FetchInventory2, FetchLibDescendents2, FetchLib2).
 
* [http://wiki.secondlife.com/wiki/HTTP_Texture#HTTP_API Texture capabilities] (GetTexture).
 
 
* [[SimulatorLoginProtocol]]
 
* [[SimulatorLoginProtocol]]
 +
* [[Logout]] - information about the logout sequence of events.
 +
* [[OpenSimulatorToViewerInventoryProtocol]]
 +
* [[GenericMessageUDP]]
 +
* [[Varregion/Protocol]]
 +
* [[Teleports]] and [[region crossings]]. This communication is carried out over HTTP.  This is also listed as a simulator to simulator protocol as it has both client-simulator and simulator-simulator components.
  
 
== Grid service protocols ==
 
== Grid service protocols ==
Line 21: Line 25:
 
On a standalone OpenSimulator installation, all communications occurs within process. However, with a grid installation the simulators need to communicate with backend services (asset, inventory, etc.). This is done over HTTP.
 
On a standalone OpenSimulator installation, all communications occurs within process. However, with a grid installation the simulators need to communicate with backend services (asset, inventory, etc.). This is done over HTTP.
  
== Simulator to simulator protocols ==
+
See [[Services]] for more information.
  
There are some situations in which simulators need to communicate directly with one another. One of these is on teleport or region crossing. This communication is carried out through HTTP.
+
== Simulator-Simulator protocols ==
  
This section should also include archive formats (e.g. OARs and IARs)This encompasses a very large number of object and asset formats (e.g. animations, textures).
+
There are some situations in which simulators need to communicate directly with one another.   
  
== Simulator to external protocols ==
+
* [[Teleports]] and region crossing. This communication is carried out over HTTP.  This is also listed as a simulator to simulator protocol as it has both client-simulator and simulator-simulator components.
 +
* Instant messaging protocol between users on different simulators.  This also covers item giving since this is communicating using the IM infrastructure.
 +
* [[Varregion/Protocol]] will detail the varregion related sections in the simulator to simulator protocol.
 +
 
 +
== Simulator-External protocols ==
  
 
There are some ways in which the simulator can be examined or controlled externally. One example of control is the [[RemoteAdmin]] interface. There are also facilities for [[Monitoring]] the current state of the simulator.
 
There are some ways in which the simulator can be examined or controlled externally. One example of control is the [[RemoteAdmin]] interface. There are also facilities for [[Monitoring]] the current state of the simulator.
 +
 +
== Archiving protocols ==
 +
 +
People also pass archives containing whole regions ([[OpenSim Archives]] - OARs) or inventory ([[Inventory Archives]] - IARs) between OpenSimulator installations.  Some documentation of these formats are referenced from [[OpenSim Archives#OAR_Format]] and [[Inventory Archives#IAR_Format]] respectively, though these only document the container format rather than the format of all the different types of asset (texture, notecard, serialized object, etc.).
 +
 +
== References ==
 +
 +
There's a list of various OpenSimulator entry points at the page [[Known Web Interfaces within OpenSim]] but this is probably pretty out of date.  The data contained in the links in the sections above will be more recent and accurate.

Latest revision as of 12:38, 10 October 2020

Contents

[edit] Introduction

There are a large number of communication protocols used by OpenSimulator. These can be divided into the four types.

[edit] Client-Server protocols

These are communication protocols between OpenSimulator and a client/viewer. This is mainly beween the viewer and the simulator, though some traffic also flows directly between the viewer and a grid service (chiefly the login service and the map service for viewers derived from Linden Lab's version 3 and later viewer.

The primary protocol here is the Linden Lab viewer protocol. This protocol is divided into UDP messages (such as object updates, avatar position updates, etc.) and HTTP based messages via capabilities and the event queue.

This wiki doesn't yet have much information about the UDP messages except for that contained in the pages below. Please see the Second Life wiki protocol page - http://wiki.secondlife.com/wiki/Protocol - for more information on these.

[edit] Grid service protocols

On a standalone OpenSimulator installation, all communications occurs within process. However, with a grid installation the simulators need to communicate with backend services (asset, inventory, etc.). This is done over HTTP.

See Services for more information.

[edit] Simulator-Simulator protocols

There are some situations in which simulators need to communicate directly with one another.

  • Teleports and region crossing. This communication is carried out over HTTP. This is also listed as a simulator to simulator protocol as it has both client-simulator and simulator-simulator components.
  • Instant messaging protocol between users on different simulators. This also covers item giving since this is communicating using the IM infrastructure.
  • Varregion/Protocol will detail the varregion related sections in the simulator to simulator protocol.

[edit] Simulator-External protocols

There are some ways in which the simulator can be examined or controlled externally. One example of control is the RemoteAdmin interface. There are also facilities for Monitoring the current state of the simulator.

[edit] Archiving protocols

People also pass archives containing whole regions (OpenSim Archives - OARs) or inventory (Inventory Archives - IARs) between OpenSimulator installations. Some documentation of these formats are referenced from OpenSim Archives#OAR_Format and Inventory Archives#IAR_Format respectively, though these only document the container format rather than the format of all the different types of asset (texture, notecard, serialized object, etc.).

[edit] References

There's a list of various OpenSimulator entry points at the page Known Web Interfaces within OpenSim but this is probably pretty out of date. The data contained in the links in the sections above will be more recent and accurate.

Personal tools
General
About This Wiki