Services
From OpenSimulator
(Created page with "==Introduction== OpenSimulator can be conceptually divided into the simulator itself (the part that handles objects and avatars in the scene, physics, terrain, etc.) and a set o...") |
Revision as of 16:47, 18 April 2012
Introduction
OpenSimulator can be conceptually divided into the simulator itself (the part that handles objects and avatars in the scene, physics, terrain, etc.) and a set of backend services (assets, inventory, etc.) that handle data for every simulator in the grid. In standalone configuration both simulator and services run in the same process (OpenSim.exe). In grid mode, each simulator runs in a separate process (OpenSim.exe) and they connect to one or more ROBUST shells (Robust.exe) or an alternative service implementation that host the services. See Configuration#Standalone_vs._Grid for a diagrammatic view.
Every service is stateless - in other words, individual requests have no relationship to each other so can be load-balanced to multiple copies of a particular service (e.g. inventory).
Services
Here is a table of each service in OpenSimulator and its function.
Service | ROBUST database tables | Description |
---|---|---|
Asset | assets | Stores asset data (textures, serialized objects, scripts, etc.) and provides this on request |
Authentication | auth, tokens | Handles login authentication. Core implementations are password and webkey. |
Authorization | none | Checks if the user is authorized to enter a given region |
Avatar | Avatars | Holds avatar appearance, height and attachment data. |
Freeswitch | n/a | Freeswitch voice service. Very low quality voice as the viewer falls back to a debug codec - not freeswitch's fault. |
Friends | Friends | User friends data storage |
Grid | regions | Holds region information for a grid. Simulators register here on startup. |
GridUser | GridUser | Records status information for a user on a grid, including home position and whether they are online or not. On a non-Hypergrid setup, each grid user will have a user account. |
HG* | n/a | Hypergrid services. These usually override 'normal' services (e.g. asset, inventory) with some Hypergrid specific functionality |
Inventory | inventoryitems, inventoryfolders | User inventory storage |
Login | n/a | Handles user login. OpenSimulator implements an LL login service. |
MapImage | stored on filesystem | Stores and provides main map image tiles. |
Presence | Presence | Records user sessions and the region location of a particular session. Used for instant message routing, amongst other things. |
UserAccount | UserAccounts | User account storage. |