/* UnrealIRCD3.2.6 Modificado para IrcdShells S.A. by Emmanuel_Ar - http://www.ircdshells.com.ar */
/* Este es un ejemplo de Configuracion: unrealircd.conf */
/* Solo tiene que reemplazar las lineas que contengan: */
/* SU-IP:    Cambie por la dirección de su IRCD Shell. ej: 208.98.42.70 */
/* SU-RED:   Cambie por el nombre de Su Red. ej: IRCLatino */
/* sudominio.org:   Cambie por la dirección de su dominio. ej: ircdshells.com.ar */

/* Modulos */
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

/* Includes */
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";

/* Informacion del Server */
me
{
	name "irc.sudominio.org";
	info "Red IRC de Chat para SU-RED";
	numeric 21;
};

/* Informacion del Administrador */
admin {
      "-----------------------------------------------------------";
	"Administradores de SU-RED";
	"-";  
	"Admin: admin@sudominio.org ";
	"-"; 
	" CoAdmin: coadmin@sudominio.org "; 
       "-----------------------------------------------------------";
};


/* Lineas Y */
class           clients
{
	pingfreq 90;
	maxclients 500;
	sendq 100000;
	recvq 8000;
};

class           servers
{
	pingfreq 90;
	maxclients 10;		/* Max servers we can have linked at a time */
	sendq 1000000;
	connfreq 100; /* How many seconds between each connection attempt */
};

/* Lineas I */
allow {
	ip             *@*;
	hostname       *@*;
	class           clients;
	maxperip 5;
};

/* Passworded allow line */
allow {
	ip             *@255.255.255.255;
	hostname       *@*.passworded.ugly.people;
	class           clients;
	password "f00Ness";
	maxperip 1;
};

allow           channel {
	channel "#WarezSucks";
};

/* Lineas de IRCops */

/* OLD OPER FLAG  | NEW FLAG NAME
	O		global
	x		local			
	a		services-admin
	A		admin
	r		can_rehash
	D		can_die
	R		can_restart
	h		helpop
	w		can_wallops
	g		can_globops
	c		can_localroute
	L		can_globalroute
	k		can_localkill
	K		can_globalkill
	b		can_kline
	Z		can_gzline
	t		can_gkline
	B		can_unkline
	n		can_localnotice
	G		can_globalnotice 
	N		netadmin
	C		coadmin
	z		can_zline
	W		get_umodew
	H		get_host
	v		can_override 
*/


oper SU-OPER {
	class clients;
	from {userhost *@*;};
	snomask "+okfcFjvGenq";
	password "SU-PASS-OPER";
	swhois "es el Admin de SU-RED";
	flags
	{
		netadmin;
		admin;
		helpop;
		can_wallops;
		can_globops;
		can_localroute;
		can_globalroute;
		can_localkill;
		can_globalkill;
		can_kline;
		can_unkline;
		can_gkline;
		can_gzline;
		can_localnotice;
		can_globalnotice;
		can_zline;
		get_umodew;
		get_host;
            can_override;
	};
}; 

oper CoAdmin {
	class clients;
	from {userhost *@*;};
	snomask "+okfcFjvGenq";
	password "PASSdelcoadmin";
	swhois "es el Admin de SU-RED";
	flags
	{
		admin;
		helpop;
		can_wallops;
		can_globops;
		can_localroute;
		can_globalroute;
		can_localkill;
		can_globalkill;
		can_kline;
		can_unkline;
		can_gkline;
		can_gzline;
		can_localnotice;
		can_globalnotice;
		can_zline;
		get_umodew;
		get_host;
            can_override;
	};
}; 

/* Puertos Abiertos de Coneccion */

/* Options for listen:
	OLD	| 	NEW
	S		serversonly
	C		clientsonly
	J		java
	s		ssl
	*		standard
*/

/* Puerto para usuarios con SSL */
/* listen         SU-IP:6601
{
	options
	{
		ssl;
		clientsonly;
	};
}; */

/* Puertos */
listen SU-IP:8067;
listen SU-IP:6667;
listen SU-IP:6668;
listen SU-IP:7000;
listen SU-IP:7004;

/* Lineas de Link */

/*
	options:
	OLD	|	NEW
	S		ssl
	Z		zip
	N/A		autoconnect
	N/A		quarantine
	N/A		nodnscache
*/


/* Link Base a Chat */
link            chat.sudominio.org
{
	username	*;
	hostname 	SU-IP;
	bind-ip 	*;
	port 		7004;
	hub             *;
	password-connect "leaflink";
	password-receive "leaflink";
	class           servers;
		options {
#			autoconnect;
		};
}; 

 
/* Link Base a stats */
link            stats.sudominio.org
{
        username        *;
        hostname        SU-IP;
        bind-ip         *;
        port            7004;
        hub             *;
        password-connect "leaflink";
        password-receive "leaflink";
        class           servers;
                options {

                };
}; 

/* Link Base a Servicios */
link            servicios.sudominio.org
{
        username        *;
        hostname        SU-IP;
        bind-ip         *;
        port            7004;
        hub             *;
        password-connect "leaflink";
        password-receive "leaflink";
        class           servers;
                options {

                };
};

/* Lineas de Servicios */
ulines {
	servicios.sudominio.org;
	stats.sudominio.org;
};

/* Contraseñas de Reinicio y Apagar el Server */
drpass {
	restart "bsadbasd2";
	die "asasg125";
};

/* Logs del Servidor */

log "ircd.log" {
	/* Delete the log file and start a new one when it reaches 2MB, leave this out to always use the 
	   same log */
	maxsize 2097152;
	flags {
		oper;
		kline;
		connects;
		server-connects;
		kills;
		errors;
		sadmin-commands;
		chg-commands;
		oper-override;
		spamfilter;
	};
};

/* Aliases */

/* Alias */
alias nickserv { type services; };
alias ns { nick "nickserv"; type services; };   
alias chanserv { type services; };
alias cs { nick "chanserv"; type services; };
alias memoserv { type services; };
alias ms { nick "memoserv"; type services; };
alias operserv { type services; };
alias os { nick "operserv"; type services; };
alias helpserv { type services; };
alias hs { nick "helpserv"; type services; };
alias botserv { type services; };
alias bs { nick "botserv"; type services; };
alias statserv { type normal; };
alias ss { nick "statserv"; type normal; };
alias operstat { type normal; };
alias oss { nick "operstat"; type normal; };
alias neostats { type normal; };  
alias nss { nick "neostats"; type normal; }; 
alias hostserv { type normal; };
alias hts { nick "hostserv"; type normal; }; 
alias loveserv { type normal; };  
alias ls { nick "loveserv"; type normal; };
alias services { type normal; };  
alias serv { nick "services"; type normal; };

alias "identify" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	type command;
};

/* Standard aliases */
alias "services" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "%1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "%1-";
	};
	type command;
};

alias "identify" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	type command;
};

/* Mensaje de Bienvenida y Reglas */
#tld {
#	mask *@*;
#	motd "ircd.motd.fr";
#	rules "ircd.rules.fr";
#};

/* Nicks NO Disponibles */
ban nick { mask "*Chan*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Bot*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Nick*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Memo*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Help*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Oper*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Info*Serv*"; reason "Reservado para Servicios"; };
ban nick { mask "*Admin*"; reason "Reservado para Administradores"; };
ban nick { mask "*Oper*"; reason "Reservado para IRCops"; };
ban nick { mask "Status"; reason "Bug en mIRC"; };
ban nick { mask "Estado"; reason "Bug en mIRC"; };
ban nick { mask "COM1"; reason "NO no no"; };
ban nick { mask "COM2"; reason "No no no"; };
ban nick { mask "COM3"; reason "No no no"; };

/* IP's Baneadas */
ban ip {
	mask 195.86.232.81;
	reason "Delinked server";
};

ban server {
	mask eris.berkeley.edu;
	reason "Get out of here.";
};

ban user {
	mask *tirc@*.saturn.bbn.com;
        reason "Idiot";
};


ban realname {
	mask "Swat Team";
	reason "mIRKFORCE";
};

ban realname {
	mask "sub7server";
	reason "sub7";
};

/* Usuarios Exceptos a Banearse */
except ban {
	/* No Banear a Emmanuel_Ar*/
	mask           *emm@*.ar;
};

except ban {
	/* No Banear a Sneaker*/
	mask           *Coki@*.ar;
};

deny dcc {
	filename "*sub7*";
	reason "Possible Sub7 Virus";
};

deny channel {
	channel "*warez*";
	reason "Warez is illegal";
};

vhost {
	vhost           vhost.sudominio.org;
	from {
		userhost       *@*;
	};
	login           user;
	password        pass;
};

/* Network configuration */
set {
	network-name 		"SU-RED";
	default-server 		"irc.sudominio.org";
	services-server         "servicios.sudominio.org";
	stats-server 		"stats.sudominio.org";
	help-channel 		"#ayuda";
	hiddenhost-prefix	"SU-RED";
	prefix-quit 		"Sale de SU-RED:"; 
	cloak-keys {
		1a2JO6fh3Q6w4oN3s7;
		2a2JO6fh3Q6w4oN3s7;
		3a2JO6fh3Q6w4oN3s7;
	};
	/* Mascara de Operadores */
	hosts {
		local		"staff.sudominio.org";
		global		"staff.sudominio.org";
		coadmin		"staff.sudominio.org";
		admin		"staff.sudominio.org";
		servicesadmin 	"staff.sudominio.org";
		netadmin 	"staff.sudominio.org";
		host-on-oper-up "yes";
	};
};

/* Especificaciones del Servidor */

set {
	kline-address "admin@sudominio.org";
	modes-on-connect "+xwG";
	modes-on-join "+nt";
	restrict-usermodes "x";
	modes-on-oper	 "+xwgsW";
	oper-auto-join "#Ircops,#Ayuda";
	options {
		hide-ulines;
		/* You can enable ident checking here if you want */
		/* identd-check; */
		show-connect-info;
	};

	maxchannelsperuser 10;
	/* The minimum time a user must be connected before being allowed to use a QUIT message,
	 * This will hopefully help stop spam */
	anti-spam-quit-message-time 10s;
	/* Make the message in static-quit show in all quits - meaning no
           custom quits are allowed on local server */
	/* static-quit "Client quit";	*/

	/* You can also block all part reasons by uncommenting this and say 'yes',
	 * or specify some other text (eg: "Bye bye!") to always use as a comment.. */
	/* static-part yes; */

	/* This allows you to make certain stats oper only, use * for all stats,
	 * leave it out to allow users to see all stats. Type '/stats' for a full list.
	 * Some admins might want to remove the 'kGs' to allow normal users to list
	 * klines, glines and shuns.
	 */
	oper-only-stats "okfGsMRUEelLCXzdD";

	/* Throttling: this example sets a limit of 3 connection attempts per 60s (per host). */
	throttle {
		connections 5;
		period 60s;
	};

	/* Anti flood protection */
	anti-flood {
		nick-flood 3:60;	/* 3 nickchanges per 60 seconds (the default) */
	};

	/* Spam filter */
	spamfilter {
		ban-time 1d; /* default duration of a *line ban set by spamfilter */
		ban-reason "Spam/Advertising"; /* default reason */
		virus-help-channel "#help"; /* channel to use for 'viruschan' action */
		/* except "#help"; channel to exempt from filtering */
	};
};

/* Badwords Anti Spam */

badword message { word "mala-palabra"; replace <censurado>; };

badword channel { word "mala-palabra"; replace <censurado>; };

badword quit { word "mala-palabra"; replace <censurado>; };

/* UnrealIRCD 3.2.6 Modificado para IrcdShells S.A. by Emmanuel_Ar - http://www.ircdshells.com.ar */
/* Este es un ejemplo de Configuración: unrealircd.conf */
/* Solo tiene que reemplazar las lineas que contengan: */
/* SU-IP:    Cambie por la dirección de su IRCD Shell. ej: 208.98.42.70 */
/* SU-RED:   Cambie por el nombre de Su Red. ej: IRCLatino */
/* sudominio.org:   Cambie por la dirección de su dominio. ej: ircdshells.com.ar */

