Direct Service Requests/fr

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Traitement direct de la capacité GetTexture)
(Configuration)
Line 21: Line 21:
  
 
== Configuration ==
 
== Configuration ==
 +
La première chose à faire est de configurer le service pour qu'il fournisse le connecteur de capacité GetTexture.  Nous pouvons le faire avec la configuration ci-dessous.
 +
<source lang="ini">
 +
[Startup]
 +
 +
[ServiceList]
 +
GetTextureConnector = "8010/OpenSim.Capabilities.Handlers.dll:GetTextureServerConnector"
 +
 +
[Network]
 +
port = 8010
 +
 +
[CapsService]
 +
AssetService = "OpenSim.Services.AssetService.dll:AssetService"
 +
 +
[DatabaseService]
 +
StorageProvider = "OpenSim.Data.MySQL.dll"
 +
ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=mypassword;Old Guids=true;"
 +
 +
[AssetService]
 +
</source>
 +
 +
Je suppose ici que nous exécutons le service GetTexture à l'intérieur d'une instance de service Robust entièrement séparée.  Cependant, il peut être exécuté dans un shell Robust qui gère également d'autres services (par exemple, le shell par défaut de la grille qui gère tous les services).  Dans ce cas, vous pouvez omettre certaines sections, comme nous le décrivons ci-dessous.
 +
 
=== Configuration expérimentale===
 
=== Configuration expérimentale===
  

Revision as of 01:58, 22 October 2024


Contents

Introduction

Dans la grande majorité des cas, les demandes des viewers sont traitées par le simulateur qui interagit ensuite avec les services dorsaux (assets, inventaire, etc.) selon le cas.

Cependant, dans la configuration par défaut, certaines de ces demandes sont traitées par le viewer qui interagit directement avec un service backend. Par exemple, lors de la connexion, le service de connexion transmet au viewer une URL de carte configurée dans la section MapTileURL de [LoginService] dans Robust.ini. Lorsque le viewer a besoin d'afficher des tuiles sur la carte principale, il contacte cette URL pour les récupérer. L'URL elle-même est servie par le service ROBUST sur le port public de la grille (8002 par défaut).

Il est également possible de traiter d'autres requêtes directement. Cependant, le meilleur exemple de fonctionnement connu, détaillé ci-dessous, est celui qui traite les requêtes GetTexture directement à partir d'un service plutôt que par l'intermédiaire d'un simulateur. D'autres exemples seront ajoutés à l'avenir, bien que certains posent des problèmes de sécurité importants qu'il faut prendre en compte.

Traitement direct de la capacité GetTexture

AVERTISSEMENT : les viewers ne peuvent plus l'utiliser


GetTexture est un protocole de capacités client-viewer par lequel les clients (viewers) peuvent demander des textures via HTTP au lieu des anciens mécanismes basés sur UDP.

Normalement, OpenSimulator gère cela en fournissant un point de terminaison de capacité (une adresse spécifique) qui pointe vers le simulateur où se trouve l'avatar de l'utilisateur. Les requêtes sont reçues par le simulateur et l'asset est récupéré dans le cache ou par un appel au service backend d'assets, selon le cas.

Cependant, nous pouvons également configurer GetTexture pour qu'il soit géré directement par un service via le port public de la grille. Alors, le point de terminaison de capacité passé au viewer pointe directement vers ce service au lieu de pointer vers le simulateur, de la même manière que les tuiles de carte sont fournies directement par un service.

Cette configuration fonctionnera à la fois pour les installations non-Hypergrid et Hypergrid (puisque tous les assets nécessaires sont copiés dans le service d'assets local lorsqu'un utilisateur étranger entre dans le simulateur et lorsqu'il rezz ou transfère des objets de son inventaire).

Configuration

La première chose à faire est de configurer le service pour qu'il fournisse le connecteur de capacité GetTexture. Nous pouvons le faire avec la configuration ci-dessous.

[Startup]
 
[ServiceList]
GetTextureConnector = "8010/OpenSim.Capabilities.Handlers.dll:GetTextureServerConnector"
 
[Network]
port = 8010
 
[CapsService]
AssetService = "OpenSim.Services.AssetService.dll:AssetService"
 
[DatabaseService]
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=mypassword;Old Guids=true;"
 
[AssetService]

Je suppose ici que nous exécutons le service GetTexture à l'intérieur d'une instance de service Robust entièrement séparée. Cependant, il peut être exécuté dans un shell Robust qui gère également d'autres services (par exemple, le shell par défaut de la grille qui gère tous les services). Dans ce cas, vous pouvez omettre certaines sections, comme nous le décrivons ci-dessous.

Configuration expérimentale

Avantages et inconvénients

Avantages

Réduction de la charge du simulateur

Performances constantes

Inconvénients

Les textures locales aux régions ne fonctionnent pas

Toute la charge repose sur le service

Sécurité

Certains connecteurs ne peuvent pas gérer l'hypergrid

Personal tools
General
About This Wiki