-------------------------------------------------- Esta es la configuración de UnrealIRCD para Windows: Autor: Emmanuel Arreguez® Website: http://www.emmanuelarreguez.com.ar IrcdShells: http://www.ircdshells.com.ar Email: admin@ircdshells.com.ar -------------------------------------------------- Explicación parte por parte qué hace el fichero de configuración: me { name "irc.tuservidor.org"; info "Tu Servidor IRC Server"; numeric 1; }; Aquí definimos el nombre del servidor y la información. numeric 1 indica el número de servidor (1-254); cuando tengamos dos o más servidores linkados no pueden tener igual número. admin { "Admin"; "mail@admin"; }; Aquí ponemos nuestra información, la información del administrador del ircd. Se puede ver tecleando el comando /admin. Es el equivalente a las A lines de otros ircds. class clients { pingfreq 90; maxclients 500; sendq 100000; }; En esta seccion definimos la clase clients; en ella la frecuencia a la que se comprobará si el usuario sigue "vivo" (pingfreq), el máximo de clientes que aceptamos (maxclients) y sendq, que es el límite de información enviada por el usuario de esta clase. class servers { pingfreq 90; maxclients 4; sendq 1000000; }; Aquí hemos definido una nueva clase: servers. La frecuencia de ping será 90, máximo 4 servidores linkados a nosotros y 1000000 de límite de envio. allow { ip *; hostname *; class clients; maxperip 5; }; Con esta línea aceptamos conexiones de clientes desde cualquier IP (*), cualquier hostname (*) y con un máximo de dos conexiones por IP (clones). allow { ip *; hostname *@ircdshells.com.ar; class clients; maxperip 10; }; Con esto permitimos 10 clones desde el host *@ircdshells.com.ar oper Admin { class clients; from { userhost *@*; }; password "contraseñadeladmin"; flags { netadmin; global; }; }; Aquí definimos los operadores de red que habrá en nuestra red: definimos operador Admin que se conecta desde la IP *, será admnistrador de red (netadmin). El password no es contraseña, está encriptado. Para generar passwords encriptados entraremos en el directorio crypt de Unreal3.2, y a continuación haremos un make, se generará la utilidad mkpasswd; con ella podemos generar los passwords encriptados. Nota: si quisieramos que Admin fuese solamente ircop, sustituiríamos netadmin por ircop en la seccion flags. Os incluyo aquí la lista completa de flags, sacada del fichero example.conf incluido en UnrealIRCD: Old | New |Description ------- |---------------- |------------------------------ N | netadmin | Network Admnistrator T | techadmin | Technical Administrator A | admin | Server Administrator a | sadmin | Services Operator C | coadmin | Co Administrator o | local | Local IRC Operator O | global | Global IRC Operator r | can_rehash | Is able to rehash the server e | eyes | Can use the eyes message mode D | can_die | Can shutdown the server (with password) R | can_restart | Can restart the server (with password) h | helpop | ..is available for help. Can see /helpops g | can_globops | Can use /globops w | can_wallops | Can use /wallops l | locop | Can't kill remote users c | can_localroute | Can locally /connect and /squit servers L | can_globalroute | Can globally /connect and /squit servers k | can_localkill | Can do local /kills K | can_globalkill | Can do global /kills b | can_kline | Can set a /kline B | can_unkline | Can unset a /kline n | can_localnotice | Can send local notices G | can_globalnotice| Can send global notices z | can_zline | Can set /zlines ^ | can_stealth | Is invisible to /names Para hacernos oper, ejecutaríamos /oper usuario clave. Una vez que somos opers, podemos releer la configuración de unreal sin tener q matar el proceso e iniciarlo de nuevo, con un simple /rehash. listen *:6600; listen *:6667; listen *:7000; Aquí decimos a través de qué puertos se podrá conectar a nuestro servidor. He definido el puerto 6600 para linkar con los services (chanserv, nickserv, memoserv...), el puerto 6667 que es el más habitual y el 7000 para que se pueda entrar desde sitios donde usan conexiones al puerto 6667, por ejemplo universidades :-). link services.tuservidor.org { username *; hostname *; bind-ip *; port 6667; hub *; password-connect "servpass"; password-receive "servpass"; class servers; options { autoconnect; }; }; Este bloque es opcional, solamente si vas a añadir services a tu servidor. Aquí definimos el nombre de los services: services.tuservidor.org, en el puerto 6667 (el que reservamos para estos). El password de conexion y recepción será el mismo, en este caso servpass. link link.otroservidor.org { username *; hostname 200.82.4.45; bind-ip *; port 6667; password-connect "clavedelink"; password-receive "clavedelink"; class servers; options { autoconnect; }; }; Esta sección es también opcional, solamente si vais a linkar varios servidores. En este caso linkaremos con el servidor link.otroservidor.org, con IP 200.82.4.45, por el puerto 6667 y con la clave clavedelink. Ten en cuenta que la configuración del servidor link debe tener numeric 2, ya que el numeric de irc es 1, y no pueden ser iguales. Debes tener tambien a tener en cuenta que, si tienes services puestos, en link no debes añadir el link a los services, solamente la linea ulines que comentamos más abajo. ulines { services.tuservidor.org; }; Debemos incluir esta línea para que los services funcionen, en este caso son services.tuservidor.org. drpass { restart "restartpass"; die "diepass"; }; Aquí ponemos los passwords de reinicio y "muerte" del servidor. ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Reserved for Services"; }; Con esta línea reservamos los nicks que contengan chan para los services. ban user { mask *PhAnATiC*@*; reason "scripts no permitidos"; }; ban user { mask *ircap*@*; reason "scripts no permitidos"; }; ban user { mask *DTP*@*; reason "scripts no permitidos"; }; ban user { mask *x-cript*@*; reason "scripts no permitidos"; }; ban user { mask *MESIAS*@*; reason "scripts no permitidos"; }; ban user { mask *orbital*@*; reason "scripts no permitidos"; }; ban user { mask *zombie*@*; reason "scripts no permitidos"; }; Esto también es opcional, es un ejemplo de como banear los malditos scripts que abundan por las redes. vhost { vhost chat.ircdshells.com.ar; from { userhost *@*; }; login ircdshells; password ircdshells; }; Con esto definimos un vhost, con user "user" y password "password", disponible para cualquier usuario. Para usarlo sería: /vhost ircdshells ircdshells set { network-name "Nombre de Tu Red"; default-server "irc.tuservidor.org"; services-server "services.tuservidor.org"; stats-server "stats.tuservidor.org"; help-channel "#Ayuda"; hiddenhost-prefix "Tuservidor"; prefix-quit "Sale de Nombre de Tu Red:"; cloak-keys { 10000; 20000; 30000; }; /* on-oper host */ hosts { local "staff.tuservidor.org"; global "staff.tuservidor.org"; coadmin "staff.tuservidor.org"; admin "staff.tuservidor.org"; servicesadmin "staff.tuservidor.org"; techadmin "staff.tuservidor.org"; netadmin "staff.tuservidor.org"; host-on-oper-up "yes"; }; }; set { kline-address "admin@tuservidor.org"; modes-on-connect "+xwG"; oper-auto-join "#Ircops"; dns { nameserver 127.0.0.1; timeout 2s; retries 2s; }; options { enable-opermotd; enable-chatops; hide-ulines; webtv-support; identd-check; }; socks { ban-message "Insecure SOCKS server"; quit-message "Insecure SOCKS server"; ban-time "4d"; }; maxchannelsperuser 10; }; Aquí definimos la información de la red. include "help.conf"; include "badwords.channel.conf"; include "badwords.message.conf"; include "badwords.quit.conf"; include "spamfilter.conf"; loadmodule "modules/cloak.dll"; loadmodule "modules/commands.dll"; Y finalmente cargamos los modulos. -------------------------------------------------- Autor: Emmanuel Arreguez® | Emmanuel_Ar® Website: http://www.emmanuelarreguez.com.ar IrcdShells: http://www.ircdshells.com.ar Email: admin@ircdshells.com.ar --------------------------------------------------