DarkU: Comandos del servidor

Estos son los comandos del demonio DarkU. Al estar basado en el ircd de hispano algunos comandos han sido detallados con demasiada brevedad. Si tienes alguna duda con alguno puedes ponerte en contacto conmigo. Los comandos que se hayan modificado estan aqui bien explicados.

ADMIN [servidor]
Muestra la información administrativa de un servidor. En caso de no llevar parámetros muestra la de tu servidor.

AWAY [mensaje]
Pone o quita el modo ausente de un usuario. Cuando se especifica un mensaje (de ausencia) te pone en modo ausente, si no se especifica ningún mensaje elimina la ausencia.

BMODE
Comando similar al MODO para fijar modos a través del bot virtual de canales por BDD (comando no operativo)

BURST
Este comando transfiese todos los canales creados en un servidor a otro en el momento del enlace a la red.

CLOSE
Comando sólo para IRCops. Cierra todas las conexiones locales actualmente en modo «desconocido», «handshake» o «conectando». Por cada uno de ellos nos indica sus datos y, al final, el número total de conexiones cerradas.

CNOTICE
Envia un mensaje por ‘NOTICE’ a al nick especificado si esta en el canal especificado.

CONFIG
Envia las negociaciones de la configuración del enlace del nuevo servidor. Si este linkara de forma comprimida o no por ejemplo.

CONNECT {[servidor a linkar] | [servidor origen] [puerto] [servidor a linkar]}
Solicita el enlace de dos servidores que no se encontraban conectados entre si. Previamente deben de estar bien configurados para permitir este enlace.

CPRIVMSG [nick] [#canal] [mensaje]
Envia un mensaje a al nick especificado si esta en el canal especificado.

CREATE
Un mensaje entre servidores que se distribuye a toda la red con la información de creación de un nuevo canal cuando un usuario entra por primera vez al canal.

DB [nodo] [numero de serie] [tabla|Accion] [valor] :[contenido]
Sirve para procesar, negociar, distribuir y usar a grandes rasgos todo el sistema de base de datos distribuida. Este comando tiene un uso bastante complejo si deseas más información de como funciona puedes verlo en la página web del autor original http://www.argo.es/~jcea/.

DBQ [máscara] [tabla] [valor]
Muestra el contenido para un valor en la tabla de la BDD especificada. Este comando esta restringido a operadores o IRCops y en algunos casos a administradores.

DESTRUCT
Información no disponible

DESYNCH
Información no disponible

DIE
Comando sólo para IRCops. Mata el proceso IRCd. Hay que arrancarlo a mano.

DNS [l]
No hay que confundir este comando con el equivalente de muchos clientes IRC. En el servidor este comando permite consultar la correspondencia DNS de cada conexión.
Con el parámetro «l» (ele) lista los datos de todas las conexiones, incluyendo IP, Nombre, TTL (Time To Live) y EX (Expiration).
Sin parámetros se listan una serie de datos que se explicarán con detalle en una versión futura de esta página.

END_OF_BURST
Indica a un servidor a otro que el comando ‘BURST’ ha finalizado.

EOB_ACK
Indica un servidor a otro que el proceso de link ha terminado.

ERROR
Informa de los errores que se pueden producir entre servidores al establecer un enlace.

GHOST [nick]:[clave]
Este comando expulsa a un usurpador o nick que permanece conectado despues de caernos. Para poder utilizar este comando nuestro nick debe de estar registrado en la tabla n es decir tener modo ‘+r’.

GLINE [máscara [expire]]
Este comando permite la expulsión de usuarios y redes de forma global en toda la red de IRC, al estilo de las Klines del ircd.conf, pero de manera dinámica, global y con caducidad.
– Sin parámetros, lista las glines actuales en nuestro servidor local.
– Para los IRCops existe una variante. Si se indica una máscara de la forma [+|-]user@host se permite activar y desactivar Glines de forma puntual. Sólo se permiten activar y desactivar GLINES propagadas con anterioridad por otro IRCd con privilegios de U-Line.
Si se indica un número, especifica el número de segundos, desde ahora, que persistirá esa Gline. Ese cambio es exclusivamente local, y no se propaga por la red. Si el tiempo de caducidad indicado es cero, la gline se da de baja (de forma local).

HASH
Este comando sólo está disponible cuando se compilar el IRCd con la opción de depuración, e imprime datos sobre el funcionamiento de las funciones hash internas. En uns IRCd normal, se ignora.

HELP
Lista los comandos conocidos por este IRCd.

INFO [servidor]
Muestra información de un servidor. En caso de no llevar parámetros muestra la de tu servidor.

INVITE [nick] [#canal]
Este comando nos permite invitar a un nick a un canal en el cual tengamos ‘@’ (arroba). Si no pasamos ningún parámetro a este comando nos muestra una lista de las invitaciones que tenemos y no hemos entrado.

ISON [nick1 nick2 …]
Responde con un «ison: » y la lista de nicks indicados en el comando que están online en este momento. Útil para los «notify».

JOIN [#canal] [clave]
Sirve para entrar a una canal (sala de chat). El parámetro clave es opcional y solo necesario en caso de que el canal tenga contraseña establecida por el modo ‘+k’. Los IRCops pueden entrar en cualquier canal usando una clave maestra ‘GOD’ y los operadores, y demás representantes usando la clave ‘OPER’.

KICK [#canal] [nick] [motivo]
Solo para ‘@’s (operadores) del canal. Nos permite expulsar a un usuario del canal. El motivo es opcional.

KILL [nick] [razón]
Solo para IRCops. Expulsa a un usuario de la red desconectandolo.

LINKS
Nos muestra un mapa de los servidores de la red mostrando su descripción y el protocolo.

LIST
Nos devuelve la lista de canales de la red.

LUSERS
Nos muestra los usuarios conectados globalmente y localmente y los máximos alcanzados.

MAP [máscara]
Imprime un mapa gráfico de la red de IRC. Si se especifica una máscara, lista un mapa sólo con los hosts especificados.

MODE {nick|#canal} [modos]
Cambia los modos sobre un canal en el que tengas privilegios o sobre tu propio nick. Para saber los modos disponibles puedes visitar la lista de modos.

MOTD [servidor]
Nos muestra el mensaje del día de un servidor. Si no pasamos ningún parámetro nos mostrará el ircd.motd de nuestro propio servidor. Si especificamos un servidor remoto nos mostrará el remote.motd.

NAMES [#canal]
Nos devuelve los nicks de los usuarios de un canal.

NICK [nick[:clave]]
Nos pone un alias o nick con el que nos reconocerán en la red. En caso de que el nick este registrado en la BDD y sea nuestro deberemos tambien especificar la contraseña que tengamos puesta. Si en vez de usar el simbolo ‘:’ entre el nick y la clave usamos el simbolo ‘!’ se hará un ghost sobre nuestro nick si estuviese conectado y nos lo pone a nostros.

NOTICE {nick|canal} [mensaje]
Envia un mensaje en modo ‘NOTICE’ a un canal o un usuario.

OPER [login] [clave]
Te identifica como IRCop del servidor. Para poder ser IRCop de un servidor deberás tener convenientemente configurado en el ircd.conf una o-line con tu login, contraseña y máscara o ip de acceso.

PART [#canal]
Nos permite abandonar un canal.

PASS :[clave]
Es un comando interno de servidor a servidor. Envia la clave del enlace.

PING [token]
Los envian los servidores para verificar que las conexiones estan abiertas.

PONG [token]
Cuando se te envia un PING se debe responder un PONG con el mismo token.

PRIVMSG {nick|#canal} [mensaje]
Envia un mensaje a un canal o un mensaje privado a un nick.

QUIT [motivo]
Para salir de un servidor. Este comando desconecta a un cliente. El motivo es opcional.

REHASH
Comando sólo accesible para IRCops. Hace que el IRCd lea de nuevo el ircd.conf.

RENAME [nick]
Renombra un nick al estilo invitado-XXXXXX donde ‘XXXXXX’ es un número aleatorio. Solo pueden ejecutar este comandos nodos que dispongan de u-line.

RESTART
Comando sólo accesible para IRCops. Reinicia el IRCd, igual que si se matase y se volviese a lanzar.

RPING {quien|servidor inicio} [tiempo inicio en segs [tiempo inicio en microsegs]]
Hace un ping entre nosotros y un servidor, o entre dos servidores. Sólo para IRCops o nodos.

RPONG [quien hizo el ping] [Máquina «pingueada»] [tiempo ping en milisegs] [info]
RPONG [servidor que hizo rping] [quien hizo ping] [tiempo ping en milisegs] [info]
Devuelve un rping.

SERVER [ P9] [descripción]
Este comando permite introducir nuevos servidores en la red. No es un comando accesible a usuarios. El primer formato (sin el P9) es el documentado en la especificación original. Cada hub introduce los servidores a los que está conectado. El valor «hops» indica cuántos enlaces intermedios hay: en una conexión directa, vale uno. La descripción es un pequeño texto arbitrario. Una red 2.9.32 puede dar cabida a servidores más antiguos. Para ello el servidor antiguo se identifica con el formato sencillo. Su HUB adaptará las diferencias para él (incluido el adaptarle los comandos SERVER para que vea el resto de la red). El formato 2.9.32 se reconoce por el «P9». El start timestamp es un valor global para toda la red. El link timestamp se usa para cosas como la decisión del punto de conexión cuando hay lag y llega un mensaje SERVER ya cancelado.

SETTIME [servidor]
Pone el concepto de tiempo del IRCd en ese instante. Se necesita hacer desde un nodo.

SILENCE {nick|máscara} [máscara]
Este comando permite «silenciar» un usuario, de cara a otro usuario concreto.
– Sin parámetros, lista nuestra tabla silence actual. Si se indica un nick lista la tabla silence especificada.
– Las máscaras son de la forma habitual: [+|-]nick!user@host
– Si no se indica nada o un «+», la máscara es añadida a la lista. Con un «-«, se borra. La máscara es bastante inteligente. Si se pone «texto», lo tomará como «+texto!*@*», considerando «texto» como un nick; si pones «!texto», lo toma como «+*!texto@*», etc.

· ¿Qué diferencia hay entre un silence de servidor IRC y un ignore de nuestro cliente IRC?
Los silence sólo persisten para la sesión en curso. Los silence no se eliminan hasta que se lo decimos al servidor.
Los silence no suponen un ignore en el server. Sólo suponen que los mensajes y comandos personales que nos envíe esa persona son descartados por la propia red IRC. No obstante lo que se envíe de forma pública en un canal, por ejemplo, sigue siendo visible para nosotros. Ello permite eliminar un flooding que nos hace alguien en concreto, pero manteniendo el contacto con él a través de un canal abierto. Esta distinción respecto al ignore es muy importante.
Por otra parte, el silence se propaga a través de la red de IRC, cortando el envío de mensajes y comandos personales desde la propia fuente. Es decir, con un ignore el ataque debe viajar por toda la red de IRC y llegar hasta nuestro cliente para que éste simplemente lo descarte. Con un silence será el propio servidor al que conecta el atacante el que descarte sus mensajes, evitando la saturación en la red y en el modem del pobre usuario que lo está padeciendo.

SQUIT [servidor] [motivo]
Solo para IRCops permite deslinkar un servidor de la red. El motivo es opcional.

STATS [servidor]
El comando STATS nos muestra diferente información del servidor. De momento no esta aqui publicada.

TIME
Nos devuelve la fecha y hora locales del servidor.

TOPIC [#canal] [tema]
Establece el tema de un canal de charla.

TRACE [nick] [servidor]
Sin parámetros, lista las conexiones al servidor local (si no somos IRCop, no lista los usuarios invisibles). El formato es:
– Tipo de conexión
– Serv: Otro nodo de la red
– User: Un usuario normal
– Oper: Un IRCop
– H.S.: Handshake inicial con otro servidor
– ????: Una conexión todavía no declarada.
– Clase de la conexión. Si es un servidor, indica el número de servidores y el número de conexiones en total que «introduce» ese servidor, su nombre, su IP y quien creó ese enlace. En otro caso indica el nick y la IP.
– Tiempo de inactividad.
Al final lista el número de conexiones por clase. Si el parámetro es el nombre de un servidor, envía la petición a la máquina remota. Al margen de la información anterior, indica también la ruta que sigue el mensaje, incluyendo las versiones de IRCd. Si se indican nick y servidores, si el nick no está en la ruta hacia nosotros, da un error.

UPING [puerto] [servidor inicial] [número de pings]
Un usuario privilegiado (IRCop o servidor) puede pinguear un servidor de su ircd.conf, o pedir a otro servidor que lo haga. Por defecto se mandan cinco pings, separados por un segundo. En un momento dado, sólo puede haber un UPING en curso. Si se lanza otro, el anterior se cancela. El puerto por defecto es el UDP 7007.

USERIP [nick1 nick2 …]
Te da la IP e ident desde la que estan conectados los usuarios.

USERS
Nos muestra información de la red. Usuarios conectados, IRCops, Bots etc…

VERSION [servidor]
Muestra la información de la versión de un servidor. En caso de no llevar parámetros muestra la de tu servidor.

WALLCHOPS [#canal] [mensaje]
Envia un notice a todo el canal que especifiques. Debes de ser ‘@’ (operador) del canal.

WALLOPS
Solo para IRCops envía un mensaje global WALLOP. Solo lo reciben usuasios con +w.

WATCH {+|-}[nick]
Permite mantener tu lista de nicks que te serán notificados cuando se conecten a la red de IRC y cuando se desconecten. Si usamos el ‘+’ para preceder a un nick se añadirá a nuestra lista, por el contratio con el ‘-‘ lo eliminaremos de nuestra lista.

WHO
Te muestra información de un nick o varios nicks. Permite busquedas en la red a través de parámetros, buscar usuarios con un determinado modo, en un determinado servidor, canal etc… Este comando es un comando bastante complejo y de momento no procederé a explicarlo hasta un futuro.

WHOIS [servidor] [nick]
Nos muestra información de un usuario conectado. El parámetro servidor nos sirve para en vez de mostrar el WHOIS ‘remoto’ mostrar el que posee en su servidor local (con mas información, modos locales, idle,…) este parámetro por tanto es opcional y en caso de usarse se puede poner el nick del usuario dos veces en vez del servidor y el nick para mostrar la información del WHOIS local.

WHOWAS [nick]
Nos muestra la dirección desde la que conecto un usuario que ya no se encuentra en la red.