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

Opers And InspIRCd.es

From the makers of InspIRCd.

Jump to: navigation, search

Este modelo de Operadores de InspIRCd, es uno de los que tiene más flexibilidad. En vez de 'oper flags', InspIRCd tiene 'oper classes'. Es decir, en un 'oper class', puede tener un grupo de comandos y un tipo de operadores es un grupo de de 'classes'. Para un pequeño resumen, mira el diagrama abajo que se muestra entre la relación de classes, tipos y operadores.



Image:Erd.gif


Por ejemplo, basado en este diagrama, podemos tener multiples classes a un tipo, pero solo un tipo por operador. Acá el ejemplo

<class name="ShutDownCommands" commands="DIE RESTART">
<class name="ModuleCommands" commands="LOADMODULE UNLOADMODULE">

<type name="OperTypeOne" classes="ShutDownCommands" host="oper.type.one">
<type name="OperTypeTwo" classes="ModuleCommands" host="oper.type.two">
<type name="OperTypeThree" classes="ShutDownCommands ModuleCommands" host="oper.type.three">

<oper name="OperOne" password="One" host="*@*" type="OperTypeOne">
<oper name="OperTwo" password="Two" host="*@*" type="OperTypeTwo">
<oper name="OperThree" password="Three" host="*@*" type="OperTypeThree">

Hemos definido dos classes, tres tipos y tres operadores. Lo cual, sería algo como:

  • Oper OperOne puede ejecutar comandos: DIE, RESTART
  • Oper OperTwo puede ejecutar comandos: LOADMODULE, UNLOADMODULE
  • Oper OperThree puede ejecutar comandos: DIE, RESTART, LOADMODULE, UNLOADMODULE

Gracias a esto, se puede tener un mejor control de los comandos usados por los Operadores.

Todos los comandos, incluido los que son añadidos por los módulos, son forzados a obedecer el tipo de 'class', así que si agregas un modulo en el cual agrega solo un comando para operadores, debes recordar que también debes agregarlo a un 'oper classes' relevante.

Para una lista de comandos para operadores, porfavor ve Comandos de Operador de InspIRCd

Tambien puedes crear una 'class' con commands="*", para agregar una 'class' que ejecute todos los comandos de operadores, incluido los agregados por los módulos.