The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog | Stats
Personal tools

Opers And InspIRCd.fr

From the makers of InspIRCd.

Jump to: navigation, search

Ceux d'entre vous qui utilisaient d'autres IRCds seront surpris par le niveau de flexibilité des opérateurs dans InspIRCd. Contrairement aux autres, InspIRCd a des classes d'opérateurs. Une classe d'opérateur est un groupe de commandes et un type d'opérateur est un groupe de classes. En bref, le diagramme suivant illustre concrêtement les relations entre classes, types et opérateurs :


Image:Erd-fr.gif


Pour un exemple basé sur ce diagramme, on sait que l'on peut avoir plusieurs classes pour un type mais seulement un type par opérateur, cependant plusieurs opérateurs ont la possibilité d'utiliser ce type de définitions. Voici un exemple :

 <class name="CommandesArret" commands="DIE RESTART">
 <class name="CommandesModules" commands="LOADMODULE UNLOADMODULE">
 <type name="OperTypeUn" classes="CommandesArret" host="oper.type.un">
 <type name="OperTypeDeux" classes="CommandesModules" host="oper.type.deux">
 <type name="OperTypeTrois" classes="CommandeArret CommandeModules" host="oper.type.trois">
 <oper name="OperUn" password="Un" host="*@*" type="OperTypeUn">
 <oper name="OperDeux" password="Deux" host="*@*" type="OperTypeDeux">
 <oper name="OperTrois" password="Trois" host="*@*" type="OperTypeTrois">

Nous avons définit deux classes, trois types et enfin, trois opérateurs. En se basant sur le diagramme ci-dessus, on sait que :

  • L'Opérateur OperUn peut executer les commandes : DIE, RESTART
  • L'Opérateur OperDeux peut executer les commandes : LOADMODULE, UNLOADMODULE
  • L'Opérateur OperTrois peut executer les commandes : DIE, RESTART, LOADMODULE, UNLOADMODULE

Le groupement des commandes dans des classes est premièrement pour vous, l'administrateur du serveur, comme une manière d'organiser vos commandes comme vous l'entendez. Il est recommendé de grouper les commandes ayant les effets similaires ( par exemple SANICK, SAQUIT, SAMODE etc... ) ensembles, cependant vous n'y êtes pas forcé.

Toutes les commandes, même celles ajoutés par les modules, sont forcées d'obéir à la disposition des classes opérateurs. Si vous ajoutez un module qui ajoute une commande uniquement pour les opérateurs, vous devez vous souvenir d'ajouter celle-ci à au à la classe opérateur relevante.

Pour une liste des commandes opérateurs, veuillez vous reférer à la section Commandes des opérateurs d'InspIRCd.

Vous pouvez également créer une classe avec commands="*" qui autorise cette classe à executer toutes les commandes opérateurs (Celles des modules inclusent).