Services

From OpenSimulator

Revision as of 16:48, 18 April 2012 by Justincc (Talk | contribs)

Jump to: navigation, search

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. All service interfaces are in the package OpenSim.Services.Interfaces.

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.
Personal tools
General
About This Wiki