Options d'installation d'un simulateur
Cette page va vous aider à choisir l'architecture de votre simulateur en fonction de vos besoins. Toutes les solutions proposées ci-dessous ne seront pas développées dans ce wiki. Seuls les éléments composant l'architecture stipulée dans le premier chapitre Points d'architecture décrits dans OSWiki pourront être détaillés.
Grille, Simulateur connecté et simulateur standalone
OpenSimulator permet l'installation de grille, de simulateurs connectés à une grille ou de simulateurs autonomes (standalone). Les images ci-dessous représentent une schématisation de tous les types d'installations possibles et de leurs connexions.
-
Simulateur standalone
-
Simulateurs connectés à une grille
Points d'architecture décrits dans OSWiki
OSWiki ne décrit pas les éléments grisés.
Réseau | Local | Étendu | |||
---|---|---|---|---|---|
Machine | Ordinateur | Serveur | Machine virtuelle | Conteneur (LXC, Docker 1) | |
Système d'exploitation | GNU/Linux | Windows | MacOS | ||
Plateforme de développement
En fonction de la version d'OpenSim |
.NET (dotnet) | .NET Framework | |||
Base de données | SQLite | MySQL | MariaDB | MSSQL | PostgreSQL |
OpenSimulator | Simulateur | Petite grille | Grande grille | ||
Mode d'installation des simulateurs | Standalone | Standalone hypergrid | Grille | Grille hypergrid | |
Serveur Web | Apache | Nginx | |||
Site Web | Un site web | Pas de site |
Ressources nécessaires
Ressources pour lancer un simulateur
La performance d'OpenSimulator est un sujet très complexe. Les performances peuvent être influencées par un grand nombre de facteurs, notamment le nombre de prims dans une région, le nombre de régions, le nombre d'avatars, la qualité du réseau entre le serveur et le viewer, la qualité du réseau entre le simulateur et les services de grille, etc.
CPU | Une règle approximative de base consiste à dire qu'il faudrait avoir un core par région normalement utilisée avec un total minimum de 2 cores. Mais on peut utiliser moins de CPU, si toutes les régions ne sont pas occupées simultanément par des avatars, ou par exemple, s'il y a moins de scripts ou d'objets.
Voir [1] |
Mémoire | En règle générale, une région avec beaucoup d'avatars, 15000 ou plus de primitives et 2000 scripts peut utiliser 1 Go de mémoire. Donc un simulateur avec 4 régions de ce type peut avoir besoin de 4 Go. Mais on peut utiliser moins de mémoire, si toutes les régions ne sont pas occupées simultanément par des avatars, ou par exemple, s'il y a moins de scripts. |
Disque dur | Un disques durs de bureau ( 7200 trs/min, 3.5") devraient suffire.
Voir [2] |
Réseau
(simulateur connecté) |
Une règle de base très approximative est d'avoir 500 kbit de débit montant et 80 kbit de débit descendant par avatar enregistré simultanément sur une région pour un simulateur connecté.
Voir [3] |
Ressources minimales pour utiliser un viewer
- Machine : il est parfois nécessaire d'installer un navigateur 3D (viewer) sur le même ordinateur que le simulateur, si par exemple, vous avez installé un simulateur standalone non connecté, ou connecté à une grille. En revanche on n'installera pas de viewer sur un serveur dédié.
Ressource | Minimum | Recommandé |
---|---|---|
Système d'exploitation |
Windows 10, 64-bit Linux 64-bit kernel 6.5 Mac OS 12 (Monterey) |
Windows 11, 64-bit Linux 64-bit kernel 6.5 ou plus récent Mac OS 12 (Monterey) |
Connexion internet
(Simulateur connecté) |
750 Kbps descendant, 100 Kbps montant Les connexions sans fil peuvent fonctionner, mais ne sont pas officiellement soutenues. |
10 Mbps descendant, 1 Mbps montant |
Écran | 1024×768 pixels | 1920×1080 pixels |
Mémoire | 8Go | 16Go |
Espace disque | 1 GB application, 1 GB cache | 1 GB application, 20 GB cache |
Processeur | Dual Core @ 2.70 GHz | Quad Core @ 3.30 GHz |
Carte Graphique | Nvidia GTX 750Ti | NVidia GeForce GTX 980
AMD Radeon R9 290X |
- Exemples de viewers :
- viewer Firestorm (Linux, Mac, Microsoft)
- Cool VL
- viewer Dayturn(Mac et Microsoft)
- Ressources:
Quelle machine choisir pour votre simulateur ?
Pour installer un simulateur autonome
Un simulateur en mode standalone ou simulateur autonome est un serveur de monde virtuel OpenSim isolé, ne dépendant pas d'une grille de mondes virtuels. Il est conseillé de créer une région par simulateur, mais le dispositif permet d'en créer plusieurs, toujours sur la même machine. Toutefois, le nombre de régions devrait être réduit.
Machine | Remarque | Nombre de simulateurs | Connexion | Réseau | Utilisateurs |
---|---|---|---|---|---|
|
Type d'installation idéale pour tester l'installation d'un simulateur OpenSimulator. Aucune configuration n'est nécessaire. Ce type d'installation permet de comprendre les bases du fonctionnement d'un simulateur sans se compliquer la vie. | Un simulateur avec une à quelques régions. | Selon les besoins. | Aucun réseau.Les ports ne doivent ni être ouverts ni redirigés. | Utilisateurs de l'ordinateur. |
|
Vous devez disposer de plusieurs ordinateurs connectés dans un réseau local. Sur un des ordinateurs vous installerez votre simulateur OpenSim. Les régions de votre simulateur seront accessibles via l'adresse IP de l'ordinateur du simulateur dans le réseau local depuis toutes les machines connectées à votre réseau local et disposant d'un viewer. | Un simulateur avec une à quelques régions. | Une connexion 24 heures sur 24 n'est pas nécessaire. | Réseau local | Ils font partie d'un groupe restreint et localisé (famille, amis, collaborateurs, classe, petit établissement scolaire). |
|
Cette solution permet d'avoir une petite installation adaptée aux capacités d'un ordinateur de bureau, accessible de l'extérieur sans dépendre d'une grille. Isolée, votre installation sera protégée des visiteurs indésirables et vous pourrez sélectionner vos utilisateurs. Vous pouvez aussi utiliser le mode Hypergrid pour vous déplacer vers des mondes virtuels amis. Cependant,si vous ne souhaitez pas restreindre l'Hypergrid, il serait préférable de connecter votre simulateur à une grille OpenSim (voir ci-dessous) qui vous déchargera d'une partie technique importante et qui vous donnera une plus grande visibilité. À vous de peser les pour et les contre en fonction de vos besoins. | Un simulateur avec une à quelques régions. | Une connexion 24 heures sur 24 n'est pas nécessaire. | Internet (Réseau étendu) | Ils font partie d'un groupe plus ou moins restreint non localisé. |
|
Cette solution évite le problème lié au NAT Loopback 1,2 | Un seul simulateur avec une à quelques régions.
Ou Plusieurs simulateurs avec chacun une à quelques régions. Vous ne pourrez passer d'une région d'un simulateur à une région d'un autre simulateur qu'en utilisant l'hypergrid. Cette configuration semble un petit peu tordue. Peut-être existe t-il un intérêt caché pour l'utiliser à la place d'une grille (séparer les assets, les inventaires, les utilisateurs )? |
Connexion continue. | Internet (Réseau étendu) | Connexion publique ou privée.
Vous aurez besoin d'un site web d'accueil pour permettre la création de comptes, surtout si vous optez pour une connexion publique. Vous pouvez également créer des comptes à la demande. |
|
Cette solution évite le problème lié au NAT Loopback 1,2 | Comme pour un simple serveur dédié. | Connexion continue. | Internet (Réseau étendu) | Connexion publique ou privée.
Vous aurez besoin d'un site web d'accueil pour permettre la création de comptes, surtout si vous optez pour une connexion publique. Vous pouvez également créer des comptes à la demande. |
Pour installer un simulateur connecté à une grille
Un simulateur en mode grille est un serveur de monde virtuel OpenSim connecté à une grille OpenSimulator. Les services de données ne font pas partie du processus serveur de région mais sont fournis par la grille. Il est conseillé de créer une région par simulateur, mais le dispositif permet d'en créer plusieurs, toujours sur la même machine. Toutefois, le nombre de régions devrait être réduit.
Machine | Remarque | Nombre de simulateurs | Connexion | Réseau | Utilisateurs |
---|---|---|---|---|---|
|
Cette solution permet d'avoir une petite installation adaptée aux capacités d'un ordinateur de bureau, accessible de l'extérieur en profitant des services d'une grille ce qui vous décharge d'une partie technique importante et qui donne à vos régions une certaine visibilité.
Renseignez-vous sur les conditions de connexion d'un simulateur à la grille de votre choix sur son site d'accueil. |
Un à plusieurs simulateurs avec chacun une à plusieurs régions (en fonction des capacités de votre ordinateur et de vos besoins.) | Une connexion 24 heures sur 24 n'est pas nécessaire | Réseau étendu de la grille, internet. | Connexion publique avec restriction possible. Vous n'aurez pas besoin de site web d'accueil, la création de compte se fait via le site de la grille. |
|
La grille vous décharge d'une partie technique importante et donne à vos régions une certaine visibilité.
Si vous installez plusieurs simulateurs, ils dépendront tous du même système. Cela signifie que, si le système rencontre un problème, ce sont tous les simulateurs qui pourront souffrir voire qui risquent d'être perdus. Il est indispensable de faire des sauvegardes régulières (OARs et/ou BDD). Renseignez-vous sur les conditions de connexion d'un simulateur à la grille de votre choix sur son site d'accueil. |
Nombre de simulateurs en rapport avec les capacités du serveur dédié. | Connexion continue. | Étendu (internet). | Connexion publique avec restriction possible. Vous n'aurez pas besoin de site web d'accueil. |
|
La grille vous décharge d'une partie technique importante et donne à vos régions une certaine visibilité.
Cette solution vous permet d'isoler les simulateurs sur des machines virtuelles séparées et ainsi réduire les risque de perte. Vous pouvez également intervenir sur une VM sans affecter le reste de votre installation. Cependant, un problème général sur le serveur peut toujours se produire, les sauvegardes restent indispensables. Renseignez-vous sur les conditions de connexion d'un simulateur à la grille de votre choix sur son site d'accueil. |
Nombre de simulateurs en rapport avec les capacités du serveur dédié. | Connexion continue. | Étendu (internet). | Connexion publique avec restriction possible. Vous n'aurez pas besoin de site web d'accueil. |
Quel mode d'installation du ou des simulateurs ?
- Mode standalone : simulateur autonome qui ne dépend pas d'une grille.
- Mode standalone hypergrid : simulateur autonome qui permet de relier votre simulateur à d'autres simulateurs OpenSim sur l'internet.
- Mode grille : simulateur connecté à une grille et qui partage les services de la grille avec les autres simulateurs connectés à la même grille.
- Mode grille hypergrid : simulateur connecté à une grille, permettant l'hypergrid.
Le choix du mode d'installation d'OpenSimulateur se fait dans la section [Architecture] du fichier de configuration OpenSim.ini (copie du fichier OpenSim.ini.example) du dossier bin de l'archive du logiciel. Ci-dessous, les options disponibles dans OpenSim.ini.
[...] [Architecture] ;; Décommenter l'un des éléments suivants. Par exemple, pour créer un simulateur OpenSim autonome, ;; décommenter Include-Architecture = « config-include/Standalone.ini » ;Include-Architecture = "config-include/Standalone.ini" ;Include-Architecture = "config-include/StandaloneHypergrid.ini" ;Include-Architecture = "config-include/Grid.ini" ;Include-Architecture = "config-include/GridHypergrid.ini"
Quel système d'exploitation ?
GNU/Linux
GNU/Linux (appelé aussi Linux) est un système d'exploitation comme Windows ou MacOS. Mais la différence essentielle de GNU/Linux par rapport à ses concurrents est d'être un système d'exploitation libre. (Sources.)
Il existe de nombreuses distributions de GNU/Linux comme Debian, Gentoo, Linux Mint, Ubuntu, pour en citer quelques unes.
Dans OSWiki, la description de l'installation d'OpenSimulator se fera pour
- Ubuntu Server 22.04 LTS (Jammy Jellyfish) pour un serveur, maintenu jusqu'en avril 2027 (support standard), avril 2032 (support pro), avril 2034 (fin de support pour la version).
- Ubuntu Desktop 22.04 (Jammy Jellyfish) et Ubuntu 24.04 (Noble Numbat) pour un ordinateur, maintenu jusqu'en avril 2027 / avril 2029 (support standard), avril 2032 / avril 2034 (support pro), avril 2034 / avril 2036 (fin de support pour la version)..
OpenSimulator nécessite le runtime dotnet 8 ou le runtime Desktop pour votre plateforme (ainsi que le SDK si vous souhaitez compiler).
Pour plus d'informations sur l'installation de dotnet 8 sur Ubuntu, veuillez consulter cette page.
Windows
- La partie de l'installation d'OpenSimulator spécifique à Windows ne sera pas développée sur OSWiki.
- Dépendances
Mac Os
- La partie de l'installation d'OpenSimulator spécifique à Mac Os ne sera pas développée sur OSWiki.
Quel système de gestion des bases de données (SGBD)?
La configuration de la base de données du simulateur se fait dans la section [DatabaseService] du fichier /bin/config-include/StandaloneCommon.ini pour un simulateur autonome ou du fichier /bin/config-include/GridCommon.ini pour un simulateur connecté à une grille.
Les Système de Gestion de Base de Données (SGBD) supportés par OpenSimulator sont :
SQLite
SQLite est le SGBD par défaut - base de données légère fournie avec OpenSimulator et pouvant être utilisée sans avoir besoin de configuration supplémentaire. Elle est surtout fournie pour vous permettre de faire rapidement vos premiers pas mais, ne devrait pas être utilisée en mode production. Elle est vraiment plus lente que MySQL.
MySQL
MySQL est un SGBD pleinement supporté - C'est la base de données recommandée pour toute utilisation dépassant l'expérimentation ou de petites installations en standalone. La version minimale requise de MySQL est 5.1.
MariaDB
MariaDB est entièrement pris en charge, alternative à MySQL. Vous devez vous assurer que le jeu de caractères sélectionné est utf8mb3 (c'est-à-dire 3 octets). Certaines installations sont configurées par défaut sur uft8mb4 (4 octets) et cela échouera.
MSSQL
SGBD également supporté - le support pour certaines fonctionnalités récentes d'OpenSimulator peuvent ne pas avoir été implémentées cependant la plupart d'entre elles sont supportées.
PostgreSQL
PostgreSQL est également supporté : PostgreSQL est un système de gestion de base de données relationnelles et objet (SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD.