Communication Protocols

From OpenSimulator

Revision as of 13:32, 19 September 2012 by Justincc (Talk | contribs)

Jump to: navigation, search

Contents

Introduction

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

Client 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 capabilities.

The Second Life wiki has an incomplete summary of current capabilities.

There are also separate pages for

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 to simulator protocols

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.

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 to 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.

General
About This Wiki