Communication Protocols
From OpenSimulator
This page is still under construction. Need to slowly fill out the details on the protocols of each type -- Justincc 20:28, 25 July 2011 (UTC) |
Contents |
Introduction
There are a large number of communication protocols used by OpenSimulator. These can be divided into the four types.
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.
The Second Life wiki has an incomplete summary of current capabilities.
There are also separate pages for
- Inventory capabilities (FetchInventoryDescendents2, FetchInventory2, FetchLibDescendents2, FetchLib2).
- Texture capabilities (GetTexture).
- SimulatorLoginProtocol
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.
Simulator-Simulator protocols
There are some situations in which simulators need to communicate directly with one another. This covers Teleports and region crossing. This communication is carried out over HTTP.
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.).
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.
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.