Capabilities/fr

From OpenSimulator

Jump to: navigation, search

Contents

Introduction

Les capacités sont le mécanisme par lequel une région rend disponibles certaines informations et services pour les viewers via le protocole HTTP en plus des messages échangés sur UDP.

Le wiki de Second Life décrit les capacités.

Le wiki de Second Life présente également un résumé incomplet des capacités actuelles.

Capacités

OpenSimulator spécifique

OpenSimulator fournit des informations sur des caractéristiques spécifiques à OpenSimulator ou des paramètres supplémentaires via la capacité SimulatorFeatures. Voir la page SimulatorFeatures Extras pour plus d'informations.

Général

Des capacités sont fournies par le viewer Linden Lab (et donc par la plupart des viewers). Beaucoup sont implémentées par OpenSimulator mais d'autres ne le sont pas, parfois parce qu'elle sont obsolètes (TODO: il faut spécifier ce qui est implémenté et ce qui ne l'est pas.).

Nom Description
AttachmentResources semble être associé à la détermination de limites sur les scripts des attachements des agents.
AvatarPickerSearch
ChatSessionRequest
CopyInventoryFromNotecard
DispatchRegionInfo
EstateChangeInfo
EventQueueGet utilisé pour la file d'attente des événements.
FetchInventory obsolète
FetchInventory2 voir Capacités d'inventaire
FetchInventoryDescendents2 voir Capacités d'inventaire
FetchLib2 voir Capacités d'inventaire
FetchLibDescendents2 voir Capacités d'inventaire.
FetchLib Obsolète
FetchLibDescendents Obsolète
GetDisplayNames
GetMesh utilisé pour obtenir les données de mesh.
GetObjectCost
GetObjectPhysicsData
GetTexture utilisé pour obtenir les données de textures via HTTP à la place de UDP. Voir Capacités de texture.
GroupMemberData
GroupProposalBallot
HomeLocation
LandResources
MapLayer
MapLayerGod
NewFileAgentInventory
NewFileAgentInventoryVariablePrice
ObjectAdd
ObjectMedia utilisé pour obtenir des informations sur les média sur une primitive (MOAP)/texture de partage de media/surface.
ObjectMediaNavigate utilisé pour changer les pages web, etc., sur une surface de MOAP
ParcelPropertiesUpdate
ParcelMediaURLFilterList
ParcelNavigateMedia
ParcelVoiceInfoRequest
ProductInfoRequest
ProvisionVoiceAccountRequest
RemoteParcelRequest
RequestTextureDownload
SearchStatRequest
SearchStatTracking
SendPostcard
SendUserReport
SendUserReportWithScreenshot
ServerReleaseNotes
SetDisplayName
SimConsoleAsync utilisé pour la console du simulateur.
SimulatorFeatures utilisé pour obtenir des information à propos des fonctionnalités du simulateur disponibles. Cela inclut MeshRezEnabled et MeshUploadEnabled. OpenSimulator peut aussi fournir les informations et les paramètres de fonctionnalité spécifique. Voir SimulatorFeatures Extras pour plus d'informations.
StartGroupProposal
TextureStats
UntrustedSimulatorMessage
UpdateAgentInformation
UpdateAgentLanguage
UpdateGestureAgentInventory
UpdateNotecardAgentInventory
UpdateScriptAgent
UpdateGestureTaskInventory
UpdateNotecardTaskInventory
UpdateScriptTask
UploadBakedTexture utilisé pour charger les textures (baked) d'avatar via HTTP plutôt qu'UDP
UploadObjectAsset
ViewerStartAuction
ViewerStats utilisé pour chargerles statistiques du viewer (utilisation cpu, fps, etc.)
WebFetchInventoryDescendents Obsolète

Activation et désactivation

Les capacités sont activées et désactivées dans OpenSimulator en paramètrant une propriété avec le nom Cap_<attachment-name> dans la section [ClientStack.LindenCaps] d'OpenSim.ini. Si la valeur est "localhost" alors elle est servie par le simulateur pour lequel le viewer a son agent racine(son avatar). Si la valeur est "" ou le paramètre de la capacité n'est pas présent alors elle est désactivée. La valeur peut être également définie avec un URL pour servir la capcité directement depuis tout autre endroit, mais cette solution est actuellement expérimentale et n'est pas documentée.

Par exemple pour désactiver la capacité GetTexture on peut définir :

[ClientStack.LindenCaps]
Cap_GetTexture = ""

et pour l'activer

[ClientStack.LindenCaps]
Cap_GetTexture = "localhost"

Il y a aussi un grand nombre de capacités définies par défaut dans le fichier OpenSimDefaults.ini. Comme pour les autres configurations, elles peuvent être écrasées par ce que vous allez ajouter dans le fichier OpenSim.ini.

Mécanisme

Ceci est une brève description du mécanisme par lequel un viewer qui entre dans une région obtient des paramètres de capacité à sa première connexion. Le mécanisme est légèrement différent quand un utilisateur se déplace entre les régions après la connexion - cela n'a pas encore été documenté.

  1. Le client fait une requête de connexion au service de connexion de l'installation.
  2. Le service de connexion génère la seed (graine) capacité. C'est un URL avec une composante aléatoire qui est mis à disposition par le simulateur qui héberge la destination de connexion. L'URL est fournie au viewer et forme une partie de la réponse de connexion (seed_capability).

Voir SimulatorLoginProtocol pour plus de détails.

  1. Le client établit une connexion enfant initilae avec le simulateur à l'aide du message UDP UseCircuitCode. Le serveur déclenche des modules individuels pour enregistrer les capacités selon les besoins (par exemple le module GetTextureModule enregistre une capacité GetTexture, etc.à. Comme prédédemment, ces capacités on une composante aléatoire.
  2. Le client envoie une requête à la seed capacité définie auparavant. La requête demande un ensemble de capacités(GetTexture, etc.). Le simulateur répond avec les URLs de capacités requises.
  3. Le client peut alors envoyer des requêtes aux capacités spécifiques.

Vous pouvez afficher la configuration des capacités avec la commande de console de simulateur "show caps list". Ci-dessous quelques exemples pour cette commande :

OpenSim (root)# show caps list
Region keynote1:
** User f2f493c0-27d3-4cf2-be97-b44dfdad13b6:
   ObjectAdd                              /CAPS/OA/222dd805-a8f4-474a-a80b-530ab798f448/              
   NewFileAgentInventory                  /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440002/             
   FetchInventory2                        /CAPS/08303040-e059-43e5-b6dc-882b40b3d117                  
   UpdateAgentInformation                 /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440500/             
   GetTexture                             /CAPS/2389a354-033b-416c-8fc5-f2200837eac8/                 
   GetObjectPhysicsData                   /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440101/             
   UpdateScriptAgent                      /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440004/             
   SimulatorFeatures                      /CAPS/a7551043-30a8-4abe-b5f6-1185a6b20187                  
   SimConsoleAsync                        /CAPS/4e885802-ed6a-472a-9261-276f049b4dc7/                 
   EnvironmentSettings                    /CAPS/0020/344f07cd-88f8-4a28-8bd2-689a238c7f10             
   RemoteParcelRequest                    /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440009/             
   AvatarPickerSearch                     /CAPS/38dfa1b4-b76a-4301-b8d2-91894b4e5365/                 
   UploadObjectAsset                      /CAPS/OA/60ca2175-ee34-4cfc-bbf9-e81992147ffc/              
   SEED                                   /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440000/             
   UpdateNotecardAgentInventory           /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440004/             
   CustomMenuAction                       /CAPS/3b02708e-92e3-4106-92a5-88aaf7407e4e/                 
   UpdateScriptAgentInventory             /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440004/             
   ObjectMedia                            /CAPS/bfb392c6-8559-4dab-a464-1da263b85a89                  
   UpdateScriptTask                       /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440005/             
   ParcelPropertiesUpdate                 /CAPS/2691b05e-58b3-4355-b121-a2fb83d21a20                  
   MapLayer                               /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440001/             
   NewFileAgentInventoryVariablePrice     /CAPS/7585a3dc-4c96-4ec2-9e13-935d17ef17a0                  
   UpdateScriptTaskInventory              /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440005/             
   ViewerStats                            /CAPS/VS/dae0e09f-a171-474d-8f1e-0af09afb7d80               
   UntrustedSimulatorMessage              /CAPS/1aeae93a-67b0-4f57-ad87-eefc24436d4c                  
   MeshUploadFlag                         /CAPS/d9f7a6eb-1967-4da8-85ae-051ea4fd06f7                  
   UploadBakedTexture                     /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440010/             
   CopyInventoryFromNotecard              /CAPS/e3a0dbd7-3e00-4134-87f4-ebf9350ce8440007/             
   GetMesh                                /CAPS/90f9a679-0b97-40a6-b089-1eaaf3dbb3ef/                 
   ObjectMediaNavigate                    /CAPS/f0e2080d-35a5-46a7-a2ad-eff77e9c52e3                  
   EventQueueGet                          /CAPS/EQG/1267ddf0-13fb-4d5f-bc20-2cb20be1c6d6/             
   FetchInventoryDescendents2             /CAPS/2ba79e1c-e9ba-45af-97e4-5b5757a25418/

Ici, la capacité SEED est la capacité initiale à partir de laquelle viennent les autres requêtes.

Il y a des configurations avancées qui peuvent servir les capacités directement depuis les services (voir la section ci-dessous pour plus de détails). Cependant, ces configurations ne peuvent pas encore générer de composante aléatoire. Dans le futur,un mécanisme qui permettrait cela pourrait exister au pris d'une augmentation de la complexité du système.

Servir des capacités depuis les services

Normalement, les capacités sont servies depuis le simulateur. Cependant, pour le service GetTexture (et plus dans le futur, comme pour le service GetMesh), la requ$ete peut être traitée directement depuis une instance d'exploitation d'un service Robust sur un port accessible par le viewer. Voir Direct Service Requests pour avoir plus d'informations à ce sujet.

Personal tools
General
About This Wiki