SimulatorLoginProtocol/fr

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Détails)
(Détails)
Line 180: Line 180:
 
* '''version''' - Numéro de version du viewer/client connecté.
 
* '''version''' - Numéro de version du viewer/client connecté.
 
* '''channel''' - Nom du viewer / client connecté.
 
* '''channel''' - Nom du viewer / client connecté.
* '''platform'''  
+
* '''platform''' - Probablement, la plate-forme du client-viewer. Actuellement ignoré par OpenSimulator. De toute façon ça ne doit pas être particulièrement important - Singularity 1.8.5.5617, par exemple, a ce paramètre défini à "Win" même pour une plate-forme Linux.
* '''mac'''  
+
* '''mac''' - Adresse MAC de la carte réseau utilisée par le client/viewer pour se connecter.
* '''id0'''  
+
* '''id0''' - Un GUID. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
* '''skipoptional'''
+
* '''skipoptional''' - Un boolean. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
* '''last_exec_event'''
+
* '''last_exec_event''' - Un entier. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
* '''options'''
+
* '''options''' - Un liste de chaînes. Fonction inconnue, mais probablement utilisé dans de nombreux cas pour contrôler les données envoyées par le service de connexion. Actuellement, inutilisé par OpenSimulator qui renvoie simplement toutes les données à chaque fois.
  
 
==Code==
 
==Code==
 
==Références==
 
==Références==

Revision as of 10:00, 3 March 2015

(Cette page est en cours de construction).

Contents

Processus

La connexion du viewer se fait en 4 étapes de base.

Étape 1

Le viewer contacte le service de connexion de la grille. Sur un viewer, cela peut être spécifié par -loginuri dans la ligne de commande ou en choisissant une grille dans le gestionnaire de grille proposé par le viewer.

Le viewer envoie un message XMLRPC login_to_simulator (se connecter au simulateur) au loginuri. Il fournit :

  • "first" - Prénom de l'utilisateur
  • "last" - Nom de l'utilisateur
  • "passwd" - Mot de passe haché
  • "version" - Version du viewer
  • "start" - Localisation de départ. "home" sera le "home" de l'utilisateur, "last" pour l'emplacement de l'utilisateur à sa dernière déconnexion. "Start" peut aussi être le nom d'une région et une localisation (voir la section data ci-dessous pour plus d'informations à ce sujet).

Étape 2

Si l'utilisateur est authentifié, le simulateur de connexion est contacté. Le viewer dit que l'utilisateur va venir. Un code de circuit est passé pour ce viewer.

Étape 3

Si le simulateur accepte l'utilisateur, alors les détails du simulateur sont passés à l'utilisateur (principalement, l'URI à utiliser ainsi que le code du circuit).

Étape 4

Le viewer se connecte directement au simulateur et d'authentifie à l'aide du code de circuit.

Détails

Le simulateur expose une méthide XML-RPC appelée login_to_simulator à l'adresse loginuri. Cela nécessite un certain nombre de paramètres fournis par le viewer. Ci-dessous un exemple d'appel.

<?xml version="1.0"?>
<methodCall>
  <methodName>login_to_simulator</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>first</name>
            <value>
              <string>Justin</string>
            </value>
          </member>
          <member>
            <name>last</name>
            <value>
              <string>Clark-Casey</string>
            </value>
          </member>
          <member>
            <name>passwd</name>
            <value>
              <string>$1$f7583d0d-5b61-4729-91d0-6dd9a8bfc923</string>
            </value>
          </member>
          <member>
            <name>start</name>
            <value>
              <string>uri:test&amp;128&amp;128&amp;0</string>
            </value>
          </member>
          <member>
            <name>version</name>
            <value>
              <string>1.8.5.5617</string>
            </value>
          </member>
          <member>
            <name>channel</name>
            <value>
              <string>Singularity Release 64</string>
            </value>
          </member>
          <member>
            <name>platform</name>
            <value>
              <string>Win</string>
            </value>
          </member>
          <member>
            <name>mac</name>
            <value>
              <string>fcec27eea5713b37d492bfa1c54d0fdf</string>
            </value>
          </member>
          <member>
            <name>id0</name>
            <value>
              <string>dda45b4a650be300c0c9746c6d70e57a</string>
            </value>
          </member>
          <member>
            <name>skipoptional</name>
            <value>
              <string>true</string>
            </value>
          </member>
          <member>
            <name>last_exec_event</name>
            <value>
              <int>0</int>
            </value>
          </member>
          <member>
            <name>options</name>
            <value>
              <array>
                <data>
                  <value>
                    <string>inventory-root</string>
                  </value>
                  <value>
                    <string>inventory-skeleton</string>
                  </value>
                  <value>
                    <string>inventory-lib-root</string>
                  </value>
                  <value>
                    <string>inventory-lib-owner</string>
                  </value>
                  <value>
                    <string>inventory-skel-lib</string>
                  </value>
                  <value>
                    <string>initial-outfit</string>
                  </value>
                  <value>
                    <string>gestures</string>
                  </value>
                  <value>
                    <string>event_categories</string>
                  </value>
                  <value>
                    <string>event_notifications</string>
                  </value>
                  <value>
                    <string>classified_categories</string>
                  </value>
                  <value>
                    <string>adult_compliant</string>
                  </value>
                  <value>
                    <string>buddy-list</string>
                  </value>
                  <value>
                    <string>ui-config</string>
                  </value>
                  <value>
                    <string>max_groups</string>
                  </value>
                  <value>
                    <string>max-agent-groups</string>
                  </value>
                  <value>
                    <string>map-server-url</string>
                  </value>
                  <value>
                    <string>tutorial_setting</string>
                  </value>
                  <value>
                    <string>login-flags</string>
                  </value>
                  <value>
                    <string>global-textures</string>
                  </value>
                </data>
              </array>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

Les paramètres sont les suivants :

  • first - Prénom de l'utilisateur.
  • last - Nom de l'utilisateur.
  • passwd - MD5 hash du mot de passe de l'utilisateur avec le préfixe de chaîne "$1$".
  • start - La région sur laquelle l'utilisateur désire arriver après sa connexion. Cela peut être
    • "home" - arrivée sur le "home" de l'utilisateur.
    • "last" - arrivée à l'endroit où l'utilisateur était à sa dernière déconnexion.
    • Une localisation spécifique. Elle prend le format "uri:<nom-région>&<x-coord>&<y-coord>&<z-coord>". Par exemple, la chaîne ci-dessous "uri:test&128&128&0" signale que l'utilisateur devrait se connecter au centre de la région appelée test (l'avatar est placé sur le sol si la coordonnées z-coordinate se situe en dessous du terrain).
  • version - Numéro de version du viewer/client connecté.
  • channel - Nom du viewer / client connecté.
  • platform - Probablement, la plate-forme du client-viewer. Actuellement ignoré par OpenSimulator. De toute façon ça ne doit pas être particulièrement important - Singularity 1.8.5.5617, par exemple, a ce paramètre défini à "Win" même pour une plate-forme Linux.
  • mac - Adresse MAC de la carte réseau utilisée par le client/viewer pour se connecter.
  • id0 - Un GUID. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
  • skipoptional - Un boolean. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
  • last_exec_event - Un entier. Fonction inconnue. Actuellement inutilisé par OpenSimulator.
  • options - Un liste de chaînes. Fonction inconnue, mais probablement utilisé dans de nombreux cas pour contrôler les données envoyées par le service de connexion. Actuellement, inutilisé par OpenSimulator qui renvoie simplement toutes les données à chaque fois.

Code

Références

Personal tools
General
About This Wiki