Simulateur Autonome Hypergrid Internet MySQL : tuto détaillé

De OSWiki
Révision datée du 26 décembre 2017 à 13:15 par Acryline (discussion | contributions) (→‎Utilisation de MySQL)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Le PC La simulation
Ressources Installation
Système d'exploitation Configuration
Carte graphique Lancement
Mono Connexion
MySQL Comptes utilisateur
Port Sauvegarde
Nat Loopback

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

Commandes Mysql utiles

Ouvrir et rediriger le port du simulateur

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

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 StandaloneCommon.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)

Installer un navigateur 3D

Téléchargez soit Singularity soit Firestorm

Décompresser l'archive du navigateur

tar -xvzf <archive_du_navigateur_3D>.tar.gz

Configurer les navigateur 3D

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é.

Se connecter avec le navigateur 3D

Ouvrir le navigateur

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 !

Utiliser l'hypergrid

Aller sur une autre grille ou simulation

Les méthodes de téléportation
  1. Méthode 1

Ouvrir la carte, dans la zone de recherche taper le login URI de la grille ou de la simulation de destination :

http://<IP ou nom de domaine >:port

Téléportez-vous comme si vous alliez sur une autre région d'une grille.

  1. Méthode 2

Si vous connaissez le nom de la région de destination, procédez comme pour la méthode 1, mais ajoutez le nom de la région à l'adresse, ainsi :

http://<IP ou nom de domaine>:port:<nom de la région>
  1. Méthode 3

On vous a donnée une Landmark. Utilisez-là pour vous téléporter.

  1. Méthode 4

Vous utilisez le viewer (navigateur 3D) Firestorm, vous pouvez utiliser le protocol "hop" qui est utilisé dans sa barre d'adresse qui prend la forme :

hop://<IP ou nom de domaine>:port:<nom de la région>
Avant de se téléporter

Avant de vous téléporter n'oubliez pas

  • de définir votre "home". c'est très utile pour revenir rapidement à la maison,
  • de placer dans votre "suitecase" tous le items de votre inventaire dont vous aurez besoin sur votre terre d'accueil.

Revenir sur le simulateur

Pour revenir vous pouvez procéder comme quand vous vous téléportez vers d'autres grilles/simulations.

Si vous avez défini votre "home" avant de vous téléporter depuis votre région, vous pouvez utiliser le bouton "home" de la carte pour revenir très rapidement.

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