Installation de OpenSim et de FireStorm

Distribution de travail : Ubuntu 22.04

Liens :
https://atelier.hacktech.dev/installation-du-serveur-opensim-et-du-visualisateur-firestorm/
https://atelier.hacktech.dev/installation-du-serveur-opensim-et-du-visualisateur-firestorm/

Configuration de l'ordinateur de travail.

1/ Augmentation du swap.

Lien :
https://atelier.hacktech.dev/installation-du-serveur-opensim-et-du-visualisateur-firestorm/

  • Désactiver le swap :
util01@station01:~$ sudo swapoff -a
  • Création d'un fichier de swap de 8 Go :
util01@station01:~$ sudo dd if=/dev/zero of=/swapfile bs=1G count=8
  • Initialiser le fichier de swap :
util01@station01:~$ sudo mkswap /swapfile
  • Activer le fichier de swap :
util01@station01:~$ sudo swapon /swapfile
  • Vérification :
util01@station01:~$ grep SwapTotal /proc/meminfo
SwapTotal:       8388604 k
util01@station01:~$ ls -lh /swapfile
-rw------- 1 root root 8,0G mai   20 18:48 /swapfile

2/ Configuration de MySQL.

MySQL Version : 8.0.29

  • Activation du 'mysql_native_password' :

Ouvrir :

/etc/mysql/mysql.conf.d/mysqld.cnf

Ajouter :

default-authentication-plugin=mysql_native_password

Action :

service mysql restart
  • Création de la base de données 'opensim' et de l'utilisateur 'opensim' :
util01@station01:~$ mysql -u root -pmot2passe
mysql> create database opensim;
mysql> use opensim;
mysql> create user 'opensim'@'localhost' identified by 'M0t2P@sse';
mysql> grant all on opensim.* to 'opensim'@'localhost';
mysql> flush privileges;
mysql> ALTER USER 'opensim'@'localhost' IDENTIFIED WITH mysql_native_password BY 'M0t2P@sse';
mysql> quit

3/ Installation de Mono.

util01@station01:~$ sudo apt install gnupg ca-certificates
util01@station01:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
util01@station01:~$ echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
util01@station01:~$ sudo apt update
util01@station01:~$ sudo apt install mono-devel
util01@station01:~$ sudo apt-get install mono-complete

4/ Installation du serveur OpenSim.

  • Création du répertoire de travail :
util01@station01:~$ mkdir -p JEUX/SECONDEVIE/OpenSim
util01@station01:~$ cd JEUX/SECONDEVIE/OpenSim/
  • Téléchargement de l'archive du code source :
util01@station01:~/JEUX/SECONDEVIE/OpenSim$ wget http://opensimulator.org/dist/opensim-0.9.2.1-source.tar.gz
  • Décompression de l'archive :
util01@station01:~/JEUX/SECONDEVIE/OpenSim$ tar xvfz opensim-0.9.2.1-source.tar.gz 
util01@station01:~/JEUX/SECONDEVIE/OpenSim$ cd opensim-0.9.2.1-source/
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source$ 
  • Configuration de la compilation :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source$  ./runprebuild.sh
  • Compilation :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source$ xbuild /p:Configuration=Release
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source$ cd bin/
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$

5/ Configuration du serveur OpenSim.

  • Copie du fichier de configuration :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$ cp OpenSim.ini.example OpenSim.ini
  • Configuration en mode "Standalone" :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$ cp config-include/StandaloneCommon.ini.example config-include/StandaloneCommon.ini
  • Activation de MySQL :

Ouvrir :

config-include/StandaloneCommon.ini

Chercher :

    ; SQLite
    Include-Storage = "config-include/storage/SQLiteStandalone.ini";

Remplacer par :

    ; SQLite
    ;Include-Storage = "config-include/storage/SQLiteStandalone.ini";

Chercher :

    ;StorageProvider = "OpenSim.Data.MySQL.dll"
    ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;"

Remplacer par:

    StorageProvider = "OpenSim.Data.MySQL.dll"
    ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=M0t2P@sse;Old Guids=true;SslMode=None;"
  • Configuration de l'adresse de connexion :

Ouvrir :

config-include/StandaloneCommon.ini

Chercher :

    ; login uri: for grid this is the login server URI
    login = ${Const|BaseURL}:${Const|PublicPort}/

Remplacer par :

    ; login uri: for grid this is the login server URI
    login = http://127.0.0.1:9000/

6/ Configuration de la 1ère région OpenSim et d'un utilisateur.

  • Lancement du serveur :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$ ./opensim.sh
  • Configuration d'une région :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$ ./opensim.sh
...
New region name []: region0000
RegionUUID [b984e46c-a4d5-4283-85b9-8a3ee9ee8714]: 
Region Location [1000,1000]: 
Internal IP address [0.0.0.0]: 
Internal port [9000]: 
Resolve hostname to IP on start (for running inside Docker) [False]: 
External host name [SYSTEMIP]: 192.168.1.13
...
Estate owner first name [Test]: region0000
Estate owner last name [User]: region0000
Password: 
Email: lesanglierdesardennes@gmail.com
User ID [c79b9d27-eb9c-41ef-b780-a2531c8a5f7e]: 
...
17:04:36 - [RegionReady]: Region "region0000" is ready: "server_startup,1,0," on channel -800
INITIALIZATION COMPLETE FOR region0000 - LOGINS ENABLED
Currently selected region is region0000
17:04:36 - [BULLETSIM TERRAIN MANAGER]: Terrain for region0000/<0, 0, 0> created with Heightmap
Region (region0000) #
  • Création d'un utilisateur :
Region (region0000) # create user avatar01p avatar01n m2p_avatar01 avatar01p.avatar01n@utilisateur.com
User ID (enter for random) []: 
Model name []: 

7/ Installation du viewer Firestorm.

Lien :
util01@station01:~/JEUX/SECONDEVIE/OpenSim/opensim-0.9.2.1-source/bin$ ./opensim.sh

  • Création du répertoire de travail :
util01@station01:~$ mkdir -p JEUX/SECONDEVIE/FireStorm
util01@station01:~$ cd JEUX/SECONDEVIE/FireStorm/
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ 
  • Installation des paquets de développement :
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ sudo apt install libgl1-mesa-dev libglu1-mesa-dev libpulse-dev build-essential python3-pip git libssl-dev libxinerama-dev libxrandr-dev
  • Installation de l'outil de compilation :
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ sudo pip3 install --upgrade pip
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ sudo pip3 install git+https://bitbucket.org/lindenlab/autobuild.git#egg=autobuild
  • Téléchargement du code source :
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ git clone https://vcs.firestormviewer.org/phoenix-firestorm
util01@station01:~/JEUX/SECONDEVIE/FireStorm$ cd phoenix-firestorm/
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ 
  • Initialisation des variables de compilation :
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ git clone https://vcs.firestormviewer.org/fs-build-variables
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ export AUTOBUILD_VARIABLES_FILE=/home/util01/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm/fs-build-variables/variables 
  • Configuration de la compilation :
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ autobuild configure -A 64 -c ReleaseFS_open
  • Compilation :
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ autobuild build -A 64 -c ReleaseFS_open
...
================ Created base package  Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161.tar.xz
touched /home/util01/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm/build-linux-x86_64/newview/./.Firestorm-x86_64-6.5.6.66161.touched
[100%] Built target llpackage
Finished
  • Vérification :
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ ls -lh build-linux-x86_64/newview/Phoenix*.tar.*
-rw-rw-r-- 1 util01 util01 150M mai   20 19:09 build-linux-x86_64/newview/Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161.tar.xz
  • Installation :
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ cp build-linux-x86_64/newview/Phoenix*.tar.* ~/JEUX/SECONDEVIE/
util01@station01:~/JEUX/SECONDEVIE/FireStorm/phoenix-firestorm$ cd ~/JEUX/SECONDEVIE/
util01@station01:~/JEUX/SECONDEVIE$ xv -d Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161.tar.xz 
util01@station01:~/JEUX/SECONDEVIE$ tar xfv Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161.tar 
  • Lancement :
util01@station01:~/JEUX/SECONDEVIE$ cd Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161/
util01@station01:~/JEUX/SECONDEVIE/Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161$ 
util01@station01:~/JEUX/SECONDEVIE/Phoenix_FirestormOS-private-station01_x86_64_6.5.6.66161$ ./firestorm 

8/ Connexion au serveur OpenSim avec le client FireStorm.

  • Ajouter le serveur OpenSim :
- [Viewer][Préférences]
- [OpenSim]
- Ajouter une nouvelle grille : 127.0.0.1:9000
- [OK]
  • Connexion au serveur :
Nom de résident(e) : test test
Mot de passe : mot2passe
Grille : Metaverse 

2022-05-30-185716_1280x1024_scrot.png