Configuring Simulator Parameters/fr
From OpenSimulator
Contents |
Structure
Veuillez noter que le système de fichiers de configuration en cascade décrit ci-dessous ne s'applique pas aux instances Robust pour le moment.
OpenSimulator possède une structure de configuration assez complexe basée sur des fichiers INI de style Windows. Ceci afin de s'adapter à ses nombreuses utilisations et architectures possibles.
Les fichiers de configuration peuvent inclure d'autres fichiers de configuration. Par exemple, une configuration standalone standard lira les fichiers INI suivants (vous pouvez voir cet ordre au début dans le journal et sur la console).
OpenSimDefaults.ini (OpenSimulator 0.7.1 et plus) OpenSim.ini config-include/Standalone.ini config-include/StandaloneCommon.ini config-include/FlotsamCache.ini config-include/storage/SQLiteStandalone.ini
OpenSimDefaults.ini (sur OpenSimulator 0.7.1 et plus) et OpenSim.ini sont toujours vérifiés au démarrage. Cependant, les autres fichiers INI sont chargés à la suite de directives d'inclusion dans les fichiers INI précédents.
Par exemple, au bas du fichier OpenSim.ini dans la section [Architecture], il y a un certain nombre d'architectures possibles. Par exemple, une configuration standalone par défaut d'OpenSimulator (depuis la version 0.7.1) comportera les éléments suivants
[Architecture] Include-Architecture = "config-include/Standalone.ini" ; Include-Architecture = "config-include/StandaloneHypergrid.ini" ; Include-Architecture = "config-include/Grid.ini" ; Include-Architecture = "config-include/GridHypergrid.ini"
Les lignes qui commencent par au moins un point-virgule ( ;) sont commentées et ne sont pas actives dans la configuration. Dans ce cas, lorsque OpenSimulator lit OpenSim.ini, il lit ensuite config-include/Standalone.ini, qui inclut à son tour config-include/StandaloneCommon.ini et ainsi de suite.
Si un fichier de configuration n'est pas trouvé, il est ignoré et sa non-existence est journalisée.
Les fichiers OpenSim.ini et OpenSimDefaults.ini dans bin/ concernent les paramètres du simulateur (distance de chat, physique, etc.). Les paramètres dans config-include contrôlent l'emplacement et les paramètres des services de données (par exemple, la base de données de la région, le service des assets, le service d'inventaire).
Modification des paramètres du simulateur
N'oubliez pas de copier OpenSim.ini.example dans OpenSim.ini à l'installation.
- Ne modifiez pas OpenSimDefaults.ini. Modifiez seulement OpenSim.ini. Si nécessaire, copiez les lignes de ce fichier dans la même section d'OpenSim.ini (ajoutez la section si elle n'existe pas), puis modifiez-la.
Un fichier de configuration est constitué d'un certain nombre de sections, chacune commençant par le nom de cette section entre parenthèses ([]). Par exemple, dans OpenSim.ini.example vous avez (sans le texte descriptif)
[Startup] ; save_crashes = false ; crash_dir = "crashes" ...
[SMTP] ; enabled = false ...
[Chat] ; whisper_distance = 10
Les paramètres de configuration sont présentés dans chaque section. Chacun a la structure <paramètre> = <valeur> (par exemple, whisper_distance = 10).
Dans OpenSim.ini, si un paramètre est commenté avec un point-virgule précédent ( ;), alors la valeur dans OpenSimDefaults.ini est utilisée à la place (dans OpenSimulator 0.7.1 et plus) ou une valeur par défaut dans le code OpenSimulator lui-même.
Pour modifier un paramètre, il faut le décommenter et modifier la valeur. Par exemple, si je voulais que la distance du chuchotement soit de 50 mètres dans ma simulation, je modifierais le fichier OpenSim.ini de manière à ce qu'il contienne la valeur suivante.
[Chat] whisper_distance = 50
Au prochain démarrage de la simulation, la distance de chuchotement sera de 50m, écrasant toute valeur dans OpenSimDefaults.ini si elle existe.
Dans OpenSimulator 0.7.1 et les versions ultérieures, nous recommandons que les paramètres soient modifiés dans OpenSim.ini et non dans OpenSimDefaults.ini. En effet, divers paramètres sont ajoutés ou peuvent changer de nom entre les versions. Les paramètres courants à modifier sont déjà dans OpenSim.ini.example - OpenSimDefaults.ini contient à la fois les valeurs par défaut de ces paramètres et des paramètres plus obscurs. Si vous souhaitez remplacer un paramètre qui se trouve dans OpenSimDefaults.ini mais pas dans OpenSim.ini.example, nous vous recommandons de copier la section concernée dans OpenSim.ini et de la modifier.
Agrégation et superposition
Comme nous l'avons vu ci-dessus, lorsque plusieurs fichiers de configuration ont la même section, les paramètres sont agrégés. Si un paramètre ultérieur a le même nom qu'un paramètre antérieur, alors le paramètre ultérieur remplace le paramètre antérieur.
Vous ne pouvez pas avoir plusieurs sections portant le même nom (par exemple, [DatabaseService]) dans le même fichier (par exemple, bin/config-include/GridCommon.ini). La deuxième section remplacera complètement la première. Pour fusionner des sections portant le même nom, il faut qu'elles soient situées dans des fichiers .ini différents.
Obtenir des informations sur les paramètres
Sur la ligne de commande de la console du simulateur, vous pouvez obtenir des informations sur les paramètres utilisés réellement à partir de tous les fichiers .ini avec la commande "config show". C'est pratique si vous voulez vérifier que le simulateur a chargé les paramètres que vous voulez. La commande "config save <path>" permet de sauvegarder cette configuration agrégée.
Utilisation de la fonctionnalité des clés pour simplifier la configuration
Nous utilisons les mêmes informations à de nombreux endroits dans les fichiers qui configurent nos serveurs. Pour simplifier le processus de configuration, nous utilisons la "Key Expansion" (Expansion des clés). Grâce à l'expansion des clés, nous sommes en mesure de définir ces valeurs en un seul endroit pour les utiliser n'importe où dans l'ensemble des fichiers de configuration. Le système de configuration utilise la syntaxe commune pour l'expansion des paramètres : ${VARIABLE}. Mais comme nos fichiers de configuration comportent de nombreuses sections, notre syntaxe ajoute la possibilité d'adresser les clés dans les différentes sections de l'ensemble des fichiers de configuration en utilisant le tube "|" pour séparer les deux. Notre syntaxe devient donc : ${SECTION|KEY}. Dans l'ensemble des exemples de fichiers de configuration distribués avec OpenSimulator, nous utilisons cette fonctionnalité pour faciliter la définition des ports et des urls dans l'ensemble des fichiers, car ces clés sont utilisées à plusieurs endroits. Nous les plaçons dans une section nouvellement ajoutée ...
[Const] BaseURL = http://127.0.0.1 PublicPort = 8002 PrivatePort = 8003
Ensuite, nous sommes en mesure de les utiliser dans les nombreux endroits où ils sont nécessaires en utilisant notre syntaxe d'expansion de clé au lieu de la clé = valeur vue ailleurs...
[Startup] HomeURI = ${Const|BaseURL}:${Const|PublicPort}
Et quand OpenSimulator démarre et lit l'ensemble des fichiers de configuration, le résultat final sera ...
[Startup] HomeURL = http://127.0.0.1:8002
Et bien que cela ne soit pas aussi utile dans notre cas, nous pouvons utiliser la syntaxe pour utiliser les clés définies dans les mêmes sections en omettant la section et le tube - ${KEY}.
Utilisation des variables d'environnement du shell dans la configuration d'OpenSimulator
Nous devrons utiliser deux nouvelles choses dans nos configurations : une section [Environment] pour nous indiquer les variables que nous devons regarder dans le shell et nous devrons utiliser l'expansion de clé Nini. Nini peut avoir des clés qui ressemblent à ${SECTION|VARIABLE} et peut les étendre aux variables que nous assignons.
Dans votre shell, vous allez exporter vos valeurs et vérifier celles que vous voulez utiliser et qui sont prédéfinies par votre système ...
export RT_ZONE=Zone_00
# Vous pouvez voir votre HOSTNAME (Il sera défini par le système)... echo $HOSTNAME OSERV_00
Dans l'ini, vous devez inclure une section [Environnement]...
[Environment] ; Notre section Environnement qui définit les variables shell qui nous intéressent. RT_ZONE="" ; Nous pouvons utiliser une zone pour configurer une instance d'OpenSimulator sur un serveur. HOSTNAME="" ; Nous pourrions être intéressés par l'obtention du nom de l'hôte [Startup] regionload_regionsdir=/home/opensim/etc/Regions/${Environment|RT_ZONE}/ ; Nous définissons notre regionload_regionsdir en utilisant les variables ConsolePrompt = "${Environment|HOSTNAME}:${Environment|RT_ZONE} " [DatabaseService] ConnectionString = "Data Source=localhost;Database=${Environment|RT_ZONE};User ID=username;Password=userpass;" ; Here too
Lorsque OpenSimulator récupère les variables dans votre shell et traite toutes les configurations, les clés de variables seront remplies avec les variables récupérées dans le shell ...
[Environment] ; Notre section Environnement qui définit les variables shell qui nous intéressent. RT_ZONE="" ; Nous pouvons utiliser une zone pour configurer une instance d'OpenSimulator sur un serveur. HOSTNAME="" ; Nous pourrions être intéressés par l'obtention du nom de l'hôte [Startup] regionload_regionsdir=/home/opensim/etc/Regions/Zone_00/ ; Nous définissons notre regionload_regionsdir en utilisant les variables ConsolePrompt = "OSERV_00:Zone_09 " [DatabaseService] ConnectionString = "Data Source=localhost;Database=Zone_00;User ID=username;Password=userpass;" ; Here too