Configuration/fr

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Windows)
(Trucs et astuces)
Line 221: Line 221:
  
 
[[fr|Retour au Sommaire]]
 
[[fr|Retour au Sommaire]]
 +
 +
= Trucs et Astuces =
 +
== Envoyer des commandes au serveur via un script bash sous Linux ==
 +
 +
1. Copier le code ci-dessous dans un fichier nommé '''screensend'''
 +
#!/bin/bash
 +
 +
if [ -n $1 ] && [ -n $2 ]; then
 +
        name=$1
 +
        shift
 +
        screen -S $name -X eval "stuff '$*'\015"
 +
fi
 +
2. Rendre executable le fichier
 +
chmod +x screensend
 +
3. Lancer votre serveur OpenSim avec la commande screen
 +
screen -dmS '''opensim''' mono OpenSim.exe
 +
4. Vous pouvez desormais envoyer des commandes au serveur de la maniere suivante
 +
./screensend '''opensim''' terrain load terrains/myown.png

Revision as of 00:58, 29 April 2009

Retour au Sommaire

Il est recommandé de faire d'abord tourner OpenSim en mode iautonome ( standalone ), avant d'essayer de se connecter a une grille, que ce soit votre propre grille ou un reseau public.

Un simulateur consiste actuellement en 4 services, connus sous UGAS en tant que User, Grid, Asset & Simulator. Ils sont demarres dans cet ordre.

Un simulateur tournant dans son mode autonaume par defaut a tous les services integres mais est tres modeste. Ce qui signifie que n'importe quel premier ou dernier mot de passe fonctionne. Cela signifie aussi que l'inventaire est en local avaec aucune connection avec des regions ou une grille.

Un simulateur tournant en tant que grille locale execute 4 services sur le meme ordinateur. De multiples sims peuvent etre lancees, traverser des regions, en incluant les teleports et un kit d'inventaire qui sont avec cette grille locale.

Un simulateur tournant en tant que grille publique execute seulement OpenSim.exe et les autres trois services sur un serveur commun a beaucoup de regions. Ceci veut dire qu'il faut comprendre les UUID, X,Y location, server handshake passwords, master avatar first/last/password et certains autres reglages. Ceux ci ne sont pas compliques, mais necessitent un peu d'attention dans les reglages.

Contents

Arguments de ligne de comande passés à OpenSim.exe

OpenSim.exe repond a de certains arguments de ligne de commandes. Ceux ci incluent "-inifile", "-configfile", "-gridmode", "-physics", "-config" & "-noverbose".

En lancant OpenSim sou Windows ou Linux, on peut ajouter "-physics=OpenDynamicsEngine" pour lancer le moteur OpenDynamicsEngine plutot que le moteur basique de physique.

La plupart des utilisateurs en mode autonome ne vont pas ajouter d'arguments de ligne de commande. Pour une grille locale, le "-gridmode=true" est habituellement le se'ul argument utilisé. Les autres sont pour une configuration plus avancée.

Fichier de configuration OpenSim

La configuration du simultateur est geree en utilisant un fichier appellé OpenSim.ini. Ce fichier est utilisé par rapport au fait que la sim est lancee en mode standalone ou grid. Des informations detaillees pour les reglages de ce fichier peut etre trouvees ici.

Mode Standalone ( autonome )

Quand vous demarrez OpenSIm en mode Standalon, il vous demandera plusieurs questions dans la console. Les premieres à s'afficher commencent avec "NETWORK SERVERS INFO", vous pouvez juste appuyer sur entrée pour accepter les options par defaut si vous tournez en mode autonome.

Le texte qui commence par "DEFAULT REGION CONFIG" est l'endroit ou vous devez commencer a faire attention. Certaines s'expliquent par elles memes , voici les explications pour les autres:

  • Grid Location. Les regions OpenSim peuvent etre placees n'importe ou sur une grille de 65536 by 65536. En mode standalone, il vaut mieux laisser X et Y à leurs valeurs par defaut.
  • Filename for local storage. Mieux vaut laisser par defaut.
  • Internal IP address; Celle ci devrait tout le temps etre 0.0.0.0
  • Internal IP port for incoming UDP client connection. Vous pouvez mettre le port que vous voulez, mais il est recommande de laisser celui par defaut qui est 9000.
  • External host name. Si vous connectez votre sim depuis un client SecondLife sur la meme machine, vous pouvez laisser celle ci sur 127.0.0.1. Si vous voulez connecter votre client depuis une autre machine, celle ci devrait etre celle de la machine sur laquelle ce simulateur est lancé.

Pour vous connecter a votre nouvelle sim, demarrez secondlife avec les parametres de commandes suivants :

-loginuri http://127.0.0.1:9000/

Ceci veut dire que vous lancez le client secondlife sur la meme machine. Si vous lancez sur une machine separee, substituez l'adresse IP avec celle de votre machine.

Pour creer un utilisateur: tapez "create user <first> <last> <password> <x_loc> <y_loc>" dans la console serveur

Grid mode

Vous voulez executer votre propre grille. Super! En assumant que vous avez deja votre sim fonctionnelle en mode standalone, voici ce que vous devez faire :

1. Les version actuelles de grid mode OpenSim utilisent MySQL pour stocker les informations de grille. Vous devez l'avoir installé et configuré si vous voulez lancer votre propre grille. Voir mysql-config pour plus d'informations.

2. Les serveurs doivent etre lances dans un certain ordre. UGAS: UserServer, GridServer, AssetServer, InventoryServer, Sim. Ils sont tous disponibles dansle dossier bin. Sous windows vous pouvez double cliquer sur les executables et les lancer. Sous Linux, vous devrez surment les lancer a partir de Mono. Les noms des executables sont:

OpenSim.Grid.UserServer.exe
OpenSim.Grid.GridServer.exe
OpenSim.Grid.AssetServer.exe
OpenSim.Grid.InventoryServer.exe
OpenSim.exe

3. Demarrez le UserServer. Si vous lancez le GridServer sur la meme machine, validez pour accepter les options par defaut, jusqu'a ce qu'il vous donne le prompt :

OpenUser#
Ceci est le prompt principal pour le serveur utilisateur. Si vous lancez le GridServer sur une autre machine, changez l' RUI de Default Grid Server URI en fonction.

4. Demarrez le GridServer. Encore, vous pouvez valider les options par defaut si vous lancez sur la meme machine. Si non, changez les URIs pour les serveurs Asset Server et User server pour pointer la où ils se trouvent. Vous obtiendrez finalement le prompt de la consle pour le GridServer qui ressemble a cela:

OpenGrid#

5. Demarrez le AssetServer. Le prompt pour ce serveur sera:

OpenAsset#

6. Demarrez le InventoryServer. Le prompt pour ce serveur sera:

INVENTORY#

7. Si vous executez tous ces serveurs sur la meme machine, ce qui devrait etre une configuration normale. Vous devriez etre pret a demarrer votre sim. Comme OpenSim.exe demarre par defaut en executant le mode standalone, vous devrez donner un parametre de ligne de commande pour dire que vous tournez en mode gridmode:

OpenSim.exe -gridmode=true

ou

mono OpenSim.exe -gridmode=true
Avec un peu de chance, tout va fonctionner sans trop d'erreurs.

8. Allez dans la console du UserServer , et tapez 'create user' pour creer un nouvel avatar. Il vous demandera le nom, le mot de passe, et les coordonnees X et Y de la sim qui devrait etre son home. Utilisez 1000 et 1000, ou n'importe ou vous avez dit a votre sim de se trouver en mode standalone.

Dans la console de l'un de ces serveurs; vous devriez pouvoir taper 'help' pour obtenir une liste de commandes.

Vous devriez maintenant etre capable de vous connecter a votre nouvelle grille avec votre client secondlife. Vous avez besoin de dire a votre client de pointer vers le UserServer plutot que la sim, par :

secondlife -loginuri http://127.0.0.1:8002/

8002 est le port par defaut pour le UserServer, et cette IP devrait etre changee pour celle du serveur sur lequel vous executez le UserServer, si ils ne sont pas tous sur la meme machine.

Joyeuses OpenSimulations!

Note: si vus utilisez Windows Vista, souvenez vous de demarrer les serveurs en tant qu'admin. Sinon, il vous affichera une erreur dans la console du genre :"Error - Access denied"

Technical Addendum

Pour lancer de multiples regions sur la meme machine, vous faites simplement des copies multiples du fichier 'default.xml' dans le dossier bin/Regions/ directory. Vous pouvez faire ceci en utilisant le script make.php dans share/regions, ou bien vous pouvez generer les fichiers a la main.

Si vous voulez creeer les fichiers a la main, copiez d'abord le fichier default.xml dans le dossier bin/Regions , et nommez les dans le nom que vous voulez(I name mine x.y.xml, où x z et y sont les coordonnees sur la grid.)

Ouvrez chaque fichier xml et editez le uuid ( chacun doit etre unique, un generateur peut etre trouve sur uuidgen webpage), region name, x & y positions, datastore (si vous utilisez la prim) et le port interne ip. CHACUN D' EUX DOIT ETRE UNIQUE!

Une fois que vous avez 2 fichiers xml ou plus, dans le dossier de regions, lançant "une seule version" de OpenSim.exe demarrera toutes vos sims! Si vous croisez des erreurs, elles proviennent pour la plupart d'erreurs dans les fichiers xml.

Attacher votre sim a celle de quelqu'un d'autre

Pour configurer le serveur de simulation, (i.e., OpenSim.exe) pour se connecter a une grid externe, vous devrez editer le fichier OpenSim.ini dans le dossier bin. Dans ce fichier, il y a une section [Network] avec les URLs pour les serverurs de grid, user, asset, tout comme les les send et receive keys ( pour un niveau basique de securite ). Les adresses de sent/receive keys varieront dependant de la grille sur laquelle vous etes connectes, et l'operateur de grille devrait vous dire quelles valeurs utiliser.

L'autre fichier que vous devriez voir à changer est dans votre dossier bin/Regions. C'est l'endroit ou se trouvent vos fichiers de configuration de votre region. Si vous avez une seule region, il sera appelle par defaut default.xml.

Ceci peut etre edite avec n'importe quel editeur de texte. Le owner de la grid devrait vous donner les emplacement X et Y ou vous pourrez poser votre sim ( vous ne pouvez pas avoir plusieurs sim au meme endroit sur la grille ). Si c'est le cas, les champs que vous devrez changer dans le fichier sont sim_location_x et sim_location_y. Ainsi que le external_host_name devrait etre configuré sur le nom de host ou l'adresse IP de votre serveur de sim (ex : ma machine sur laquelle s'execute OpenSim.exe).

Une liste des grilles publiques auquelles vous pouvez vous attacher sont dans OpenSim: Grids

Demarrage automatique de la grid

Windows

Creez un fichier nommé StartGrid.BAT:

 start OpenSim.Grid.UserServer.exe
 sleep 3
 start OpenSim.Grid.GridServer.exe
 sleep 3
 start OpenSim.Grid.AssetServer.exe
 sleep 3
 start OpenSim.Grid.InventoryServer.exe
 sleep 3
 start OpenSim.Grid.MessagingServer.exe
 sleep 3
 start OpenSim.exe -gridmode=true

PS! Verifiez que vous avez bien la commande sleep installée, sinon je ne suis pas sur que toutes les versions e windows la possedent
Cet article de connaissances decrit comment ajouter un fichier batch au demarrage de windows ( avant l'autentification ).
http://support.microsoft.com/kb/q243486/
Notez : que vous devez lancer toutes les applications et repondre aux questions de configuration avant de l'ajouter a un demarrage.

Si vous demarrez le serveur avant l'autentification, il n'y aura pas de fenetre a fermer si vous voulez arreter le serveur, donc vous pouvez creer "StopGrid.BAT" avec:

taskkill /FI "IMAGENAME eq OpenSim.*"
sleep 3
taskkill /FI "IMAGENAME eq OpenSim.*"
sleep 3
taskkill /F /FI "IMAGENAME eq OpenSim.*"

(Doivent ils etre eteints dans un ordre precis ?)

Linux/Mac OS X

Utiliser l'interface graphique

Utilisez l'interface graphique pour automatiser le demarrage

Setup screen command et fichier de configuration du shell

screen install:

Linux

apt-get install screen

Mac OS X: Telechargez les packages MacPorts, http://www.macports.org/, ou Fink, http://www.finkproject.org/ to download *nix MacPorts

sudo port install screen

Fink

Besoin de la ligne de commande pour fink.

Creer le fichier runsim.sh

#!/bin/sh
cd opensim/bin
sleep 3
screen -S UserServer -d -m  mono OpenSim.Grid.UserServer.exe
sleep 3
screen -S GridServer -d -m mono OpenSim.Grid.GridServer.exe
sleep 3
screen -S AssetServer -d -m mono OpenSim.Grid.AssetServer.exe
sleep 3
screen -S InventoryServer -d -m mono OpenSim.Grid.InventoryServer.exe
sleep 3
screen -S MessagingServer -d -m mono OpenSim.Grid.MessagingServer.exe 
sleep 3
screen -S OpenSim -d -m mono OpenSim.exe -gridmode=true

Startup and access servers

./runsim.sh

Si vous avez les permissions

chmod 755 runsim.sh

Pour voir la liste des serveurs sur l'ecran :

screen -ls or screen -list

La sortie ressemblera a cela :

There are screens on:
     8419.OpenSim  (Detached)
     8403.InventoryServer  (Detached)
     8378.AssetServer  (Detached)
     8360.GridServer  (Detached)
     8347.UserServer  (Detached)

Pour acceder au serveur

screen -r 8419.OpenSim
screen -r 8403.InventoryServer
etc.

Pour sortir de screen, laisser le serveur tourner et retourner au shell

ctrl-a d

Eteindre les serveurs

Ou bien accedez a chaque ecran manuellement

screen -r 8419.OpenSim
shutdown

Ou bien utilisez

killall mono

Ou

for i in `ps afxu | grep -i "mono.*OpenSim" | grep -v grep | awk {'print $2'}`; do kill $i; done

Besoin de voir si il y a une possibilite d'utiliser un shell script en utilisant screen pour arreter les serveurs.

Retour au Sommaire

Trucs et Astuces

Envoyer des commandes au serveur via un script bash sous Linux

1. Copier le code ci-dessous dans un fichier nommé screensend

#!/bin/bash

if [ -n $1 ] && [ -n $2 ]; then
        name=$1
        shift
        screen -S $name -X eval "stuff '$*'\015"
fi

2. Rendre executable le fichier

chmod +x screensend

3. Lancer votre serveur OpenSim avec la commande screen

screen -dmS opensim mono OpenSim.exe

4. Vous pouvez desormais envoyer des commandes au serveur de la maniere suivante

./screensend opensim terrain load terrains/myown.png
Personal tools
General
About This Wiki