Simulateur Autonome Hypergrid Internet SQLite : tuto détaillé
Préparation du PC
Ressources nécessaires
Ressources pour lancer un simulateur
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, les régions ne sont pas occupées simultanément par des avatars, ou par exemple, s'il y a moins de scripts.
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 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 | 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
- Connexion internet : suivant les besoins, pour un simulateur connecté Câble ou ADSL
- CPU :Dual-core avec un support SSE2
- Carte graphique NVidia ou ATI/AMD graphics chip,
- RAM : 2GB RAM,
- Système d'exploitation :
- Windows XP ou plus récent,
- Ubuntu Linux 10.04 ou plus récent,
- Mac OS X 10.6 ou plus récent.
- Exemples de viewers :
- Ressources: page System Requirements de Secondlife.
Le système d'exploitation
Vous pouvez installer d'autres distributions Linux ou d'autres versions plus récentes d'Ubuntu, mais les types de systèmes proposés ci-dessous sont ceux décrits par OSWiki. Avec d'autres versions vous serez peut-être confrontés à certaines variations plus ou moins importantes.
Télécharger Ubuntu Desktop 20.04 LTS pour un ordinateur
Choisissez la version qui convient au type de processeur de votre ordinateur.
Installer votre système d'exploitation
Ce wiki n'est pas destiné à expliquer comment installer Ubuntu. Veuillez vous référer à la documentation de la distribution :
Mise à jour des serveurs
Pour ouvrir un terminal dans Ubuntu tapez sur les tourches Ctrl+Alt+T.
Après avoir installé votre serveur, tapez les commandes suivantes dans un terminal :
sudo apt update sudo apt upgrade sudo apt-get autoremove
Gestion de la carte graphique
Vous pouvez vous connecter à une région OpenSimulator depuis l'ordinateur du simulateur. Pour cela il faudra une carte graphique et son driver. Ci-dessous, vous trouverez quelques liens qui vous aiderons à configurer votre carte graphique sous Ubuntu. Peut-être que vous n'y trouverez pas les informations dont vous avez besoin. Dans ce cas, faites des recherches sur internet, dans la documentation Ubuntu, vous trouverez probablement la réponse à vos questions. Vous pouvez également poser des questions sur le canal IRC #ubuntu-fr ou #ubuntu.
Installation de Mono
Qu'est-ce que Mono ?
OpenSimulator est développé en C# (C Sharp). Le C# est un langage de programmation orienté objet, commercialisé par Microsoft depuis 2002 et destiné au développement sur la plateforme Microsoft .NET.
Mono est une mise en œuvre open source de la plateforme de développement Microsoft .NET. Mono peut être utilisé sous GNU/Linux, Microsoft ou MacOS.
Installation de Mono sur Ubuntu
Dans un terminal tapez la commande :
sudo apt-get install mono-complete
Installer une nouvelle version
Parfois la version de Mono de votre système d'exploitation ne fonctionne pas. Par exemple si votre version est inférieur à mono 5.12 et que vous avez installé OpenSim supérieur ou égal à 0.9.1.
Dans ce cas il faudra désinstaller la version de mono de votre système et Installer la version dont vous avez besoin. Voir [4]
Versions de Mono : https://download.mono-project.com/sources/mono/
Installation du serveur MySQL
MySQL est un Système de Gestion de Base de Données (SGBD) utilisé par OpenSimulator. SQLite est le SGBD par défaut des simulateurs OpenSim.
Pour installer MySQL taper la commande suivante dans un terminal (vous devez avoir les droits d'administration de votre machine) :
sudo apt-get install mysql-server
Un mot de passe vous sera demandé pour le serveur de bases de données.
Création de la base de données
- Se connecter à MySQL depuis un terminal en mode administrateur.
mysql -u <utilisateur> -p
Il n'est plus nécessaire de renseigner le mot de passe mais il faut par contre lancer la commande mysql avec l'utilisateur correspondant.
- Depuis l'invite MySQL, créer une base de données.
CREATE DATABASE <Nom de la bdd du simulateur>;
- Créer un utilisateur pour la base de données :
CREATE USER "<Nom de l'utilisateur de la bdd du simulateur>"@"localhost";
- Créer le mot de passe de l'utilisateur.
SET password FOR "<Nom de l'utilisateur de la bdd du simulateur>"@"localhost" = password('<mot de passe>');
ou pour MySQL 8.0 ou supérieur :
SET password FOR "<Nom de l'utilisateur de la bdd du simulateur>"@"localhost" = '<mot de passe>';
- Donner tous les droits sur la base de données à l'utilisateur :
GRANT ALL ON <nom_bdd>.* TO "<Nom de l'utilisateur de la bdd du simulateur>"@"localhost";
- Quitter MySQL
quit
Autre solution
Vous pouvez utiliser Phpmyadmin, interface graphique de connexion à Mysql. Mais cette solution est moins sécurisée.
Pour aller plus loin
Ouvrir et rediriger le port du simulateur
-
Résumé en schéma
Ouvrir le port du simulateur
Prenons par défaut le port 9000. (Vous pouvez remplacer ce port et utiliser le port de votre choix s'il n'est pas déjà assigné).
- Voir l'état du pare-feu
sudo ufw status numbered
- Activer le pare-feu
sudo ufw enable
- Ouvrir le port 9000
sudo ufw allow 9000
- Désactiver le pare-feu
sudo ufw disable
Rediriger le port du simulateur
Tutoriel très bien fait sur WikiHow
Le Nat Loopback
Une région hébergée sur une connexion domestique avec une box nécessite la fonctionnalité "NAT Loopback". Cette fonctionnalité permet à une machine de votre réseau local de se connecter à un simulateur également sur votre réseau local. Si votre routeur/modem ne permet pas le Nat Loopbak, alors les clients extérieurs seront capables de se connecter à la région mais les clients de votre réseau local ne le pourront pas.
Pour savoir si votre routeur/modem permet cette fonctionnalité et pour plus d'informations référez vous à la page Nat Loopback du wiki OpenSimulator.
Installation du simulateur
Installation d'OpenSimulator
- Téléchargez OpenSimulator depuis ce lien : http://opensimulator.org/dist/opensim-0.9.2.1.tar.gz
- Décompresser l'archive d'OpenSimulator
tar -xvzf http://opensimulator.org/dist/opensim-0.9.2.1.tar.gz
Vous pouvez supprimer l'archive compressée et renommer le dossier (par exemple opensim). Faisons l'hypothèse que vous avez téléchargé OpenSimulator dans le dossier "Téléchargements" de votre installation.
- Depuis Nautilus, explorateur de fichier d'Ubuntu, cherchez dans votre dossier utilisateur (home/<utilisateur>) le dossier "Téléchargements" puis, supprimez le fichier opensim-<version>.tar.gz et renommez le dossier décompressé.
- Vous pouvez faire cela en lignes de commande. Tapez lez commandes suivantes dans un terminal en remplaçant <version> par la version d'opensim installée.
cd Téléchargements rm http://opensimulator.org/dist/opensim-0.9.2.1.tar.gz mv opensim-<version> opensim
Configuration d'OpenSimulator
OpenSim.ini
- Ouvrez le fichier /bin/OpenSim.ini dans un éditeur de texte.
- Dans la section [Const] remplacez 127.0.0.1 par l'IP externe de l'ordinateur du simulateur et les ports public et privé par le port du simulateur (ici 9000 est un exemple).
BaseHostname = "XXX.XXX.XXX.XXX" PublicPort = "9000" PrivatePort = "9000"
- Si vous avez utilisé un port différent de 9000, vous devez l'indiquer dans la section [Network] à la ligne :
;http_listener_port = 9000
Décommentez cette ligne et remplacez le numéro du port.
http_listener_port = <port du simulateur>
- Dans la section [Architecture]
- Commentez la ligne d'activation de Standalone.ini en ajoutant un point virgule en début de ligne
;Include-Architecture = "config-include/Standalone.ini"
- Décommentez la ligner d'activation de StandaloneHypergrid.ini en supprimant le point virgule
Include-Architecture = "config-include/StandaloneHypergrid.ini"
StandaloneCommon.ini
Utilisation de MySQL
Nous allons indiquer à OpenSim que nous voulons utiliser une base de données MySQL à la place se la base de données par défaut SQLite.
Éditer le fichier {{{fichier}}}.ini contenu dans le dossier /bin/config-includes/ de votre installation OpenSimulator. Vous pouvez utiliser l'éditeur de texte Gedit.
En haut du fichier vous pouvez voir les deux lignes suivantes.
; SQLite Include-Storage = "config-include/storage/SQLiteStandalone.ini";
La deuxième ligne active l'utilisation du SGBD SQLite, ce que nous ne voulons plus. Ainsi, nous allons commenter cette ligne avec un point virgule. Ce qui donnera :
; SQLite ; Include-Storage = "config-include/storage/SQLiteStandalone.ini";
Maintenant, nous allons activer l'utilisation d'un SGBD MySQL et nous allons indiquer les paramètres de connexion à la base de données créée dans le chapitre précédent. Un peu plus bas vous pouvez voir le lignes :
; MySql ; Uncomment these lines if you want to use mysql storage ; Change the connection string to your db details ; StorageProvider = "OpenSim.Data.MySQL.dll" ; ConnectionString = "Data Source=localhost;Database=test;User ID=new;Password=newNEW;Old Guids=true;"
Nous allons décommenter les deux dernières lignes et indiquer dans la dernière les paramètres de connexion à la base de données du simulateur. Ce qui donner :
; MySql ; Uncomment these lines if you want to use mysql storage ; Change the connection string to your db details StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=<Nom de la bdd du simulateur>;User ID=<Nom de l'utilisateur de la bdd du simulateur>;Password=<mot de passe>;Old Guids=true;"
Autres configurations
- Ouvrez le fichier /bin/config-includes/StandaloneCommon.ini dans un éditeur de texte.
- Dans le section [Hypergrid] décommentez les lignes :
;HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
Ce qui donnera
HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
- Dans la section [GridService] pour définir une région comme terre d'accueil par défaut pour l'hypergrid décommentez la ligne
;;Region_Welcome_Area = "DefaultRegion, FallbackRegion"
Remplacez "Welcome_Area" par le nom de votre région par exemple si votre région s'appelle "Accueil" :
Region_Accueil = "DefaultRegion, FallbackRegion"
- Dans la section [GridInfoService] remplacez le nom de votre simulateur son surnom respectivement dans :
gridname = "simulation" gridnick = "simu"
- Dans le section [UserProfilesService] vous pouvez activer l'utilisation des profils par les utilisateurs en remplaçant false par true ainsi:
Enabled = true
Enresgistrer votre fichier. Nous avons terminé la configuration d'OpenSimulator.
Lancement du simulateur
Dans un terminal lancer les commandes suivantes :
cd /home/<utilisateur>/Téléchargements/opensim/bin ./opensim.sh
Des informations sur le déroulement du lancement du simulateur s'affichent dans la console. Le défilement s'arrête de temps en temps pour poser des questions auxquelles vous répondrez ainsi:(vous donnerez ces informations seulement au premier lancement du simulateur.)
Questions | Réponses |
---|---|
New region name []: | Donner un nom à votre région. |
RegionUUID [27bcc083-cf9f-4116-b962-01e3255961ab]: | Entrée pour définir cette valeur |
Region Location [1000,1000]: | Entrée |
Internal IP address [0.0.0.0]: | Entrée |
Internal port [9000]: | Entrée ou un port de votre choix. Toutefois, ce port doit correspondre à celui de la configuration. |
Resolve hostname to IP on start (for running inside Docker) [False]: | Entrée |
External host name [SYSTEMIP]: | IP externe de l'ordinateur ou non de domaine. |
New estate name [My Estate]: | Entrée |
Estate owner first name [Test]: | Donnez un prénom à votre avatar |
Estate owner last name [User]: | Donnez un nom à votre avatar |
Password: | Entrez un mot de passe |
Email: | Entrée ou votre adresse email. |
User ID [1bcffbc4-590d-4905-b6e7-592febdb4b65]: | Entrée |
Ces informations seront enregistrées dans le fichier /bin/Regions/Regions.ini et dans la base de données du simulateur.
Le simulateur reste connecté tant que l'invite de commande Region (<nom de la région>) # est affichée dans la console du simulateur.
Pour déconnecter le simulateur tapez la commande
quit
Connexion à la simulation (région)
Téléchargez soit Singularity soit Firestorm
- viewer Firestorm (Linux, Mac, Microsoft)
- Cool VL
- viewer Dayturn(Mac et Microsoft)
Décompresser l'archive du navigateur
tar -xvzf <archive_du_navigateur_3D>.tar.gz
Cette configuration pourra être faite sur tout ordinateur connecté à internet et ayant les ressources nécessaires pour se connecter au simulateur.
L'adresse de connexion (Login URI) de votre simulateur est : http://<IP externe ou nom de domaine>:<port du simulateur>/
Par exemple, si l'IP est 169.254.49.144 et le port est 9000 l'adresse du simulateur est http://169.254.49.144:9000/
- Dans le navigateur 3D Singularity , allez dans le menu Edit/preferences. Une fenêtre s'ouvre.
- Pressez sur le bouton "Create". Dans le champs "login URI" tapez l'adresse du simulateur.
- Pressez sur le bouton "Rafresh Grid URLs".
- Si vous n'avez pas de message d'erreur et que le nom du simulateur s'affiche dans la liste déroulante "Gris or login URI", alors, votre navigateur est bien configuré.
Ouvrez votre navigateur. En bas de la fenêtre vous voyez la barre de connexion.
Si cela n'est pas déjà fait, sélectionnez la grille de votre choix à partir du menu déroulant Grid Manager. La page d'accueil de la grille doit s'afficher.
Pour une standalone non connectée par exemple tapez dans Grid Manager :
localhost:9000
Entrer vos informations de connexion
- Entrez le prénom de votre avatar puis un espace et enfin son nom dans le champs Username,
- Entrez votre mot de passe dans le champs Password,
- Dans la liste des grilles choisir par exemple Argentoratum
- Pressez sur le bouton Log In,
- Prêt pour une immersion dans un monde virtuel OpenSimulator !
Créer d'autres utilisateurs
- Pour créer de nouveaux comptes vous pouvez installer un site web. Cela sera décrit plus tard sur ce wiki et un lien sera ajouté ici.
- Vous pouvez aussi créer un nouveau compte en utilisant cette commande dans la console du simulateur.
create user
Plusieurs questions vous seront posées, répondez ainsi:
Questions | Réponses |
---|---|
First name [Default]: | Entrez le prénom de l'avatar |
Last name [User]: | Entrez le nom de l'avatar |
Password: | Entrez le mot de passe du compte |
Email []: | Entrez l'adresse mail de l'utilisateur |
User ID [11949b76-3f3f-48b8-a506-eb4bf1a48b92]: | Entrée |
Model name []: | Prénom et nom séparés par un espace du compte qui servira de modèle pour l'apparence de l'avatar. |
Vous pourrez créer plusieurs comptes modèles et transformer leur apparence dans le monde virtuel pour les charger au moment de la création des comptes utilisateur.
Sauvegarder une région
Archive de la région
Un OAR (OpenSim Archive Region) est un fichier qui va contenir tous les composants et les configurations d'une région. Cet OAR va pouvoir être restauré sur une autre simulation, être partagé ou archivé.
Pour faire un OAR tapez la commande suivante à l'invite de commande de votre simulation :
save oar <adresse de l'OAR sur l'ordinateur>.tar.gz
À la place de l'extension .tar.gz on peut utiliser .oar
Pour restaurer une région sauvegardée, il suffit de taper la commande suivante à l'invite de commande de votre simulation :
load oar <adresse de l'OAR sur l'ordinateur>.tar.gz
Ces commandes disposent de certaines options pour gérer les permissions, fusionner l'OAR, le déplacer ou l'orienter différemment. Pour plus d'information en anglais, tapez dans votre console :
help save oar
ou
help load oar
Sauvegarde de la base de données
Pour sauvegarder la base de données tapez la commande suivante dans un terminal (bdd_simulation correspond au <Nom de la bdd du simulateur>):
mysqldump -u root -p bdd_simulation > bdd_simulation_backup.sql
Si vous devez restaurer une base de données, tapez la commande suivante dans un terminal en remplaçant "chemin" et "bdd_simulation" comme il se doit:
mysql -u root -p bdd_simulation < /chemin/bdd_simulation.sql