Mode grille – vitesse 2

15 février 2010

Allez je commence à vous expliquer le mode grille ( Grid pour les intimes )

Au sommaire :
Chapitre 1 – Installer un système de base de données ( de pro )
Chapitre 1.1 – complement-pour-la-base-de-donnees
Chapitre 2 – Faire les parametrages de la base de données pour Opensim
Chapitre 3 – Lancer les serveurs de monde ( Eh oui il y a plusieurs )
Chapitre 4 – Paramêtrer Hippo

Chapitre 5 – Mettre en place l’interface Web
Chapitre 6 – Ouf c’est bon !


Mode grille – Chapitre 1 installer une base de données

15 février 2010

Alors pourquoi une base de donnée :
en mode standalone une base par défaut à été installée ( SQL lite ) et vous ne l’avez même pas vu
en mode grid il faut un truc plus solide ( et surtout ca marche pas autrement ), plus pro donc MySql

j’ai choisi un paquet tout prêt qui installe 3 logiciels en une seule fois ( EasyPHP version 5.3.0 à ce jour )

1ère étape : télécharger le logiciel :
Télécharger le logiciel
Double clic sur le fichier







Lancer le logiciel. Le bug le plus connu est celui la :

il suffit d’aller faire un bouton droit sur l’icône de EasyPHP ( le E noir ),

Choisir « configuration »  ( CTRL E ) , « EasyPHP » et décocher la case « Vérifier que les ports … » faire appliquer et fermer.
Refaire bouton droit sur l’icône et quitter.
Relancer EasyPHP.

Plus d’erreur, Ok. Refaire bouton droit sur l’icône, Allez dans administration ( CTRL A ) on va créer la base de données pour le serveur OpenSim. Cliquer sur « PhpMyAdmin » au milieu de la page.

Vous arrivé sur la page d’administration des bases de données. On va créer une nouvelle base pour OpenSim.
Au milieu de la page, saisir un nom de base de donnée ( « opensim » pour faire simple )

Attention à l’orthographe ( bien garder ce nom en mémoire ), et cliquer sur creer.

Maintenant on va créer un compte utilisateur pour accéder à notre nouvelle base :
Cliquer sur la gauche sur le nom de votre base ( « Opensim (0) » )
Dans les Onglets en haut : cliquer sur « Privilèges »
Cliquer Sur « Ajouter un utilisateur »
Saisir un nom d’utilisateur ( « opensim » dans mon tuto )
Saisir un mot de passe ( « opensim dans mon tutot )
En dessous cliquer sur « Tout cocher » de privilèges globaux et cliquer sur « executer »
Vous devriez avoir un truc comme ça :

Voila nous avons créé une base de données ( « opensim » ) avec un utilisateur ( « opensim » ) et un mot de passe ( « opensim » ).

Pour que le serveur de monde 3D fonctionne avec cette base de données il faudra toujours que EasyPHP tourne dans la barre des tâches :


Mode grille – Chapitre 1.1 Complément pour la base de données

15 février 2010

Petit infos en plus lors de l’installation de Mysql, ceci uniquement pour le chapitre de l’interface web. je m’explique :

Pour la suite du tuto ( les chapitres qui suivent ) cela n’a pas d’importance, mais quand on va arriver à l’installation d’un interface web pour Opensim, EasyPHP peut poser des problèmes ( bug à l’affichage ).

pour cela on a besoin de modifier le fichier « php.ini » dans le logiciel EasyPHP

« php.ini » se trouve dans : C:\Program Files\EasyPHP5.3.0\apache

Les modif à faire sont :

; http://php.net/short-open-tag !!!!!!!!!!!!!! MODIF PRESILIO CI-APRES !!!!!!!!!!!!!!!!
short_open_tag = On

; http://php.net/asp-tags !!!!!!!!!!!!!! MODIF PRESILIO CI-APRES !!!!!!!!!!!!!!!!
asp_tags = On

; http://php.net/display-errors !!!!!!!!!!!!!! MODIF PRESILIO CI-APRES !!!!!!!!!!!!!!!!
display_errors = Off

Voila, en deux mots cela cache les erreurs à l’affichage et je sais plus pour le reste.

Dans l’article « Les paquets » téléchager le fichier « fichierconfigsql.zip » il y a le fichier php.ini modifié
Oui il y en un autre fichier qui nous servira dans l’interface web plus tard.


Chapitre 2 – Faire les paramêtrages de la base de données pour Opensim

15 février 2010

On va maintenant faire comprendre au serveur de monde ( Opensim.exe ) qu’il faut ne plus utiliser la base de données par défaut ( SqLite ) mais notre nouvelle base crée sur EasyPHP.

1 – créer un fichier « mysql_connection.ini » ( Sous la version 0.6.6 il as disparu ?! : voir le commentaire de ech18 en fin d’article ) :
Le voila :

; The IniConfig.cs that parses this file by just finding the first key={value} in the whole text so comments aren’t really honoured.
; Also, this algorithm can probably lead to ‘amusing’ results in unfortunate cases.

[mysqlconnection]
hostname=localhost
database=opensim
username=opensim
password=opensim
pooling=false
port=3306

; These entries are only for if you, for some reason, wish to customize your user server table names.
; Do note that if you change the table names, you might have to change the sql resources too manually
; If ommitted, default values will be used.

userstablename=users
userfriendstablename=userfriends
agentstablename=agents

Les textes avec un « ; » en premier c’est du blabla
Dans l’article « les paquets » vous le trouverez tout prêt
mettre ce fichier dans c:\program files\Opensim

2 – Modifier le fichier « OpenSim.ini » dans c:\program files\Opensim :
Alors là faire une copie de ce fichier ( vu le nombre de fois ou je l’ai n….. ! )

Plusieurs modif à faire : dans les sections « startup, zone : STORAGE » , « StandAlone » , « Network » , « GridInfo » et « Architecture »
une section ça commence par :

[startup]

Une zone par :

; ##
; ## STORAGE
; ##

2.1 – STORAGE ( classement, rangement, etc… là ou opensim va lire la base de données )

il faut enlever les « ; » sur :

storage_plugin= »OpenSim.Data.MySQL.dll »
storage_connection_string= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »;

estate_connection_string= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »;

( Au passage bien mettre à jour les database=, User Id= et Password= )
et en mettre devant ( des « ; » ) :

storage_plugin = « OpenSim.Data.SQLite.dll »
storage_connection_string= »URI=file:OpenSim.db,version=3″;

2.1 bis au passage modifier :

; Choose one of the physics engines below
physics = basicphysics
;physics = POS
;physics = OpenDynamicsEngine
;physics = modified_BulletX

et

; ##
; ## WORLD MAP
; ##

WorldMapModule = « WorldMap »
MapImageModule = « MapImageModule »

2.2 – StandAlone

Modifier les lignes suivantes comme suit :

welcome_message = « Welcome to OpenSimulator »

mettre par exemple entre les  » : Bienvenue dans mon petit monde »

mettre un « ; » devant :

inventory_plugin = « OpenSim.Data.SQLite.dll »
inventory_source = « URI=file:inventoryStore.db,version=3″
userDatabase_plugin = « OpenSim.Data.SQLite.dll »
user_source = « URI=file:userprofiles.db,version=3″

et enlver le « ; » devant :

inventory_plugin = « OpenSim.Data.MySQL.dll »
inventory_source = « Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »
userDatabase_plugin = « OpenSim.Data.MySQL.dll »
user_source = « Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »

( Au passage bien mettre à jour les database=, User Id= et Password= )

2.3 – Network

modifier :

grid_server_url = « http://127.0.0.1:8001″
grid_send_key = « null »
grid_recv_key = « null »

user_server_url = « http://127.0.0.1:8002″
user_send_key = « null »
user_recv_key = « null »

asset_server_url = « http://127.0.0.1:8003″

inventory_server_url = « http://127.0.0.1:8004″

; The MessagingServer is a companion of the UserServer. It uses
; user_send_key and user_recv_key, too
messaging_server_url = « http://127.0.0.1:8006″

par :

grid_server_url = « http://192.168.1.67:8001″
grid_send_key = « null »
grid_recv_key = « null »

user_server_url = « http://192.168.1.67:8002″
user_send_key = « null »
user_recv_key = « null »

asset_server_url = « http://192.168.1.67:8003″

inventory_server_url = « http://192.168.1.67:8004″

; The MessagingServer is a companion of the UserServer. It uses
; user_send_key and user_recv_key, too
messaging_server_url = « http://192.168.1.67:8006″

avec votre adresse IP de votre serveur ( par exemple 192.168.1.67 chez moi )

2.4 – GridInfo

Remplacer :

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

; long grid name: the long name of your grid
gridname = « the lost continent of hippo »

; short grid name: the short name of your grid
gridnick = « hippogrid »

; login page: optional: if it exists it will be used to tell the client to use
; this as splash page
; currently unused
;welcome = http://127.0.0.1/welcome

; helper uri: optional: if it exists if will be used to tell the client to use
; this for all economy related things
; currently unused
;economy = http://127.0.0.1:9000/

; web page of grid: optional: page providing further information about your grid
; currently unused
;about = http://127.0.0.1/about/

; account creation: optional: page providing further information about obtaining
; a user account on your grid
; currently unused
;register = http://127.0.0.1/register

; help: optional: page providing further assistance for users of your grid
; currently unused
;help = http://127.0.0.1/help

; password help: optional: page providing password assistance for users of your grid
; currently unused
;password = http://127.0.0.1/password

par :

; login uri: for grid this is the user server URI
login = http://192.168.1.67:8002/

; long grid name: the long name of your grid
gridname = « La petite grille »

; short grid name: the short name of your grid
gridnick = « Maison »

; login page: optional: if it exists it will be used to tell the client to use
; this as splash page
; currently unused
;welcome = http://192.168.1.67/welcome

; helper uri: optional: if it exists if will be used to tell the client to use
; this for all economy related things
; currently unused
;economy = http://192.168.1.67:9000/

; web page of grid: optional: page providing further information about your grid
; currently unused
;about = http://192.168.1.67/about/

; account creation: optional: page providing further information about obtaining
; a user account on your grid
; currently unused
;register = http://192.168.1.67/register

; help: optional: page providing further assistance for users of your grid
; currently unused
;help = http://192.168.1.67/help

; password help: optional: page providing password assistance for users of your grid
; currently unused
;password = http://192.168.1.67/password

toujours la même chose ( ceci ne sert pas pour tout de suite )

2.5 – Architecture

Remplacer :

Include-Standalone = « config-include/Standalone.ini »
;Include-HGStandalone = « config-include/StandaloneHypergrid.ini »
;Include-Grid = « config-include/Grid.ini »
;Include-HGGrid = « config-include/GridHypergrid.ini »

; Then choose
; config-include/StandaloneCommon.ini.example (if you’re in standlone) OR
; config-include/GridCommon.ini.example (if you’re connected to a grid)
; Copy to your own .ini there (without .example extension) and edit it
; to customize your data

par :

;Include-Standalone = « config-include/Standalone.ini »
;Include-HGStandalone = « config-include/StandaloneHypergrid.ini »
Include-Grid = « config-include/Grid.ini »
;Include-HGGrid = « config-include/GridHypergrid.ini »

; Then choose
; config-include/StandaloneCommon.ini.example (if you’re in standlone) OR
; config-include/GridCommon.ini.example (if you’re connected to a grid)
; Copy to your own .ini there (without .example extension) and edit it
; to customize your data

3 – Modifier le fichier « GridCommon.ini » dans c:\Program files\Opensin\config-include :

Remplacer :

;
; change this to your grid-wide asset server
;
AssetServerURI = « http://myassetserver.com:8003« 

[InventoryService]
;
; change this to your grid-wide asset server
;
InventoryServerURI = « http://myassetserver.com:8004« 

par :

;
; change this to your grid-wide asset server
;
AssetServerURI = « http://192.168.1.67:8003« 

[InventoryService]
;
; change this to your grid-wide asset server
;
InventoryServerURI = « http://192.168.1.67:8004« 

4 – Vérifier si le fichier « Grid.ini » est bien dans c:\Program files\Opensin\config-include :

5 – Attention aux essais en mode local du premier chapitre :
Allez dans c:\Program files\Opensin\regions et supprimer la ou les régions d’essai

5 – On lance le serveur ( « OpenSim.exe » ) double clic dessus
Oui Oui on lance en mode local et pas en mode grid ! ( ceci pour être sur que ça marche )
le serveur …. re bla bla
dès le début vous devriez voir des différences ( par exemple une trentaine de ligne de migrations de regions ), le serveur met en place les tables dans notre base de données.
Arrêt comme dans l’autre mode pour créer la région de base, par contre 2 petites différences :

[bienvenue]
RegionUUID = 9ff16648-1f13-41cf-9c94-f6c97315bd19
Location = 1000,1000
InternalAddress = 0.0.0.0
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = 192.168.1.67

InternalAdress : mettre 0.0.0.0
ExternalHostName : mettre l’adresse IP local de votre machine ( moi 192.168.1.67, j’ai 67 ordi )

C’est fini, allez dans l’administration de EasyPHP pour voir la création des tables :

Dans l’article « le paquet » vous trouverez le fichier « fichierconfigOS.zip » qui contient les fichiers de cette partie.
Tout ces modifications ont permis à OpenSim de communiquer avec la base de données MySql


Chapitre 3 – Lancer les serveurs de monde

15 février 2010

On va lancer les serveurs un par un ( et dans l’ordre SVP ! ) :
EasyPHP doit tourner !!!! tout les temps maintenant du reste

Des serveurs il y en a 5 ( plus OpenSim.exe bien sûr ) :
OpenSim.Grid.UserServer.exe
OpenSim.Grid.GridServer.exe
OpenSim.Grid.AssetServer.exe
OpenSim.Grid.InventoryServer.exe
OpenSim.Grid.MessagingServer.exe

Dans l’article « Les paquet » vous trouverez un fichier « fichierconfigOS.zip » qui contient les fichiers XML utile pour les serveurs.

1 – Le serveur pour les utilisateurs : « OpenSim.Grid.UserServer.exe »

La fenêtre Dos se lance, débloquer le message de windows du parefeu, Le serveur s’arrete pour poser les premières questions.
Moi je fait « Entrée » partout ! parce que tapez des textes, des /  » @ sous Dos c’est pas top

Tapez « Quit » dans la console pour fermer

Dans le répertoire c:\Program files\OpenSim un nouveau fichier à été créer « UserServer_Config.xml » qui devrai contenir ceci :

Ben oui vous avez double clic dessus et internet explorer est pas content. sur le fichier faire bouton droit et « ouvrir avec… » le bloc note.

Faire les modifications suivantes :

Relancer le serveur User pour verifier. Et de 1. plus que 4.

2 – Le serveur pour de grille : « OpenSim.Grid.GridServer.exe » :
même principe que pour le serveur User. Le lancer, « Entrée » partout, modifier le fichier « GridServer_Config.xml » :

Config default_asset_server= »http://192.168.1.67:8003/ »
default_user_server= »http://192.168.1.67:8002/ »
database_provider= »OpenSim.Data.MySQL.dll » database_connect= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »

3 – Le serveur pour Asset : « OpenSim.Grid.AssetServer.exe » :
même principe que pour le serveur User. Le lancer, « Entrée » partout, modifier le fichier « AssetServer_Config.xml » :

database_connect= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »

4 – Le serveur pour Inventaire : « OpenSim.Grid.InventoryServer.exe » :
même principe que pour le serveur User. Le lancer, « Entrée » partout, modifier le fichier « InventoryServer_Config.xml » :

Config default_inventory_server= »http://192.168.1.67:8004″
default_user_server= »http://192.168.1.67:8002″
default_asset_server= »http://192.168.1.67:8003″
database_connect= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »

Je le redis pas toujours mais le 192.168.1.67 est à mettre à jour celon votre adresse IP local, ainsi database=, User= et Password=

5 – Le serveur pour les messages : « OpenSim.Grid.MessagingServer.exe » :
même principe que pour le serveur User. Le lancer, « Entrée » partout, modifier le fichier « MessagingServer_Config.xml » :

Config default_user_server= »http://192.168.1.67:8002/ »
default_grid_server= »http://192.168.1.67:8001/ »
database_connect= »Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim; »
published_ip= »192.168.1.67″

6 – Lancer tous les serveurs ensemble :
Je me suis fait un petit « .bat » bien à moi ( à trouver dans l’article les paquets )

start OpenSim.Grid.UserServer.exe
pause
start OpenSim.Grid.GridServer.exe
pause
start OpenSim.Grid.AssetServer.exe
pause
start OpenSim.Grid.InventoryServer.exe
pause
start OpenSim.Grid.MessagingServer.exe

Pourquoi « pause » entre les lignes : pour simplement pouvoir voir les serveurs se lancer 1 par 1 car si on lance tout le monde à la suite des fois ça bug ! pourquoi, je sais pas.

Voila votre écran :

C’est beau !

7 – Lancer le logiciel « OpenSim.exe » en mode grille :

toujours dans l’article « Les paquets » il y un fichier « Startgrid2.bat » qui lance OpenSim en mode grille :

OpenSim.exe -gridmode=true

et un fichier « StopGrid.bat » qui arrete les 5 serveurs et opensim en une seule fois.


Chapitre 4 – Paramêtrer Hippo

15 février 2010

Comme dans le mode StandAlone
Lancer Hippo, bouton « Grid » en base à droite et modifier les paramêtres :

Bien sûr :
EasyPHP tourne
Les 5 Serveurs
et OpenSim
puis lancer Hippo

Il y en a plein l’écran ! …

Faite des choses dans le viewer ( construire, modifier le terrain, etc… ) et allez voir les serveurs : ils en racontent, ils en racontent des choses.


Suivre

Recevez les nouvelles publications par mail.