Simulateur Autonome Internet MySQL : tuto détaillé

De OSWiki
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

Dans la configuration d'un simulateur non connecté au réseau, vous allez vous connecter au monde 3D depuis ce même ordinateur. 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

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

U ne 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 à [ http://opensimulator.org/wiki/NAT_Loopback_Routers/fr 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>

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