# OpenSimulator

OpenSimulator, souvent appelé OpenSim, est un serveur open source utilisé pour héberger des mondes virtuels. Même s'il est surtout connu pour sa compatibilité avec le client de Second Life, il peut également héberger des mondes alternatifs ayant un ensemble de fonctionnalités variées et de multiples protocoles. OpenSimulator est conçu pour être facilement complété grâce à l'utilisation de plugin ou modules. Ainsi, il existe plusieurs distributions modifiées d'Opensimulator. Plusieurs serveurs peuvent être intégrés dans une même grille ce qui permet la simulation de zones étendues plus complexes. OpenSimulator est écrit en C#, et peut tourner sous les environnements Mono ou Microsoft .NET.

## Architecture

OpenSimulator peut fonctionner en deux modes : en mode autonome ou en mode grille. En mode autonome, un seul processus gère l'ensemble de la simulation. En mode grille, les différents aspects de la simulation sont séparés entre plusieurs processus, qui peuvent exister sur des machines différentes. Le mode autonome est plus facile à configurer, mais il ne peut accueillir qu'un petit nombre d'utilisateurs. En revanche une grille peut grandir avec le nombre de ses usagers.
En mode grille, les responsabilités sont réparties entre les six serveurs: le serveur des utilisateurs, le serveur réseau, le serveur des biens, le serveur d'inventaire, le serveur de messagerie et le serveur de région.
OpenSimulator utilise des modules séparées pour la plupart de ses fonctionnalités. Ces modules peuvent être développées de manière indépendante pour ajouter des fonctionnalités au serveur.
L'objectif d'OpenSimulator est de réaliser une collection de modules indépendants OpenSimulator GForge.

## Protocoles

Actuellement OpenSimulator utilise le protocole de communication client-serveur Second Life, et il est compatible avec le navigateur Second Life de Linden Lab. Le protocole de Second Life utilise UDP et XML-RPC. Dans le futur, d'autres protocoles pourraient être implémentés. Un de ces protocoles souvent proposé est Metaverse Exchange Protocol (MXP), qui est un client de deuxième génération présenté comme protocole de communication avec le serveur. En interne, les composants du serveur OpenSimulator communiquent avec XML-RPC et REST (JSON/HTTP et XML/HTTP).

## Communauté

La communauté d'OpenSimulator peut être contactée sur le réseau IRC via Libera.Chatsur les canaux #opensim, #opensim-fr et #opensim-dev. Cette communauté comprend de simples utilisateurs, des contributeurs au contenu, des propriétaires de région, des propriétaires de grille, des testeurs et les développeurs.

## Connexion

La connexion à OpenSimulator nécessite l'installation de l'un des navigateurs disponibles. La connexion au monde virtuel se fait directement depuis le navigateur 3D (viewer / visionneuse).
Toutefois, avec un gestionnaire de protocole du navigateur, il est possible de lancer la visionneuse en cliquant sur un lien dans une page web. Après avoir installé un navigateur 3D et à l'aide de ce gestionnaire de protocole, il est très facile de se connecter à l'une des grilles publiques.

## Grilles publiques

Il existe plusieurs grilles publiques accessibles qui habituellement nécessitent une inscription. Les grilles contribuent généralement au projet par le biais de tests et d'une participation au sein de la communauté. Cet écosystème varié composé d'utilisateurs normaux génère du contenu ce qui permet de répondre aux attentes et aux questions des contributeurs.