# [General]

General {
	name = "Ubuntu.YourNetwork.org";
	description = "YourNetwork Relay Chat";
	#vhost = "192.168.2.101";
	numeric = 1;
};

# [Admin]

Admin {
	# At most two location lines are allowed...
	Location = "Location: Worldwide";
	Location = "Admins: Admin1 Admin1@YourNetwork.org, Admin2 Admin2@YourNetwork.org";
	Contact = "E-mail: coder-com@yournetwork.org";
};
# [Classes]
# Recommended server classes:

# All your server uplinks you are not a hub for.

Class {
	name = "Server";
	pingfreq = 1 minutes 30 seconds;
	connectfreq = 5;
	maxlinks = 50;
	sendq = 9000000;
};

# All the leaf servers you hub for.

Class {
	name = "LeafServer";
	pingfreq = 1 minutes 30 seconds;
	connectfreq = 5 minutes;
	maxlinks = 0;
	sendq = 9000000;
};

# Client classes definition
# Take the following class blocks only as a guide.

Class {
	name = "Local";
	pingfreq = 1 minutes 30 seconds;
	sendq = 160000;
	maxlinks = 0;
	usermode = "+iw";
};

Class {
	name = "America";
	pingfreq = 1 minutes 30 seconds;
	sendq = 80000;
	maxlinks = 0;
	#maxlinks = 3000;
};

Class {
	name = "Other";
	pingfreq = 1 minutes 30 seconds;
	sendq = 160000;
	maxlinks = 0;
};

Class {
	name = "Coders";
	pingfreq = 1 minutes 30 seconds;
	sendq = 160000;
	maxlinks = 200;
	see_chan = yes;
	list_chan = yes;
	local = no;
	rehash = yes;
	walk_lchan = yes;
};

Class {
	name = "Opers";
	pingfreq = 1 minutes 30 seconds;
	sendq = 160000;
	maxlinks = 200;

	local = no;
	whox = yes;
	display = yes;
	chan_limit = yes;
	mode_lchan = yes;
	deop_lchan = no;
	walk_lchan = no;
	show_invis = yes;
	show_all_invis = yes;
	unlimit_query = yes;
	local_kill = yes;
	rehash = yes;
	restart = no;
	die = no;
	local_jupe = no;
	set = yes;
	local_gline = no;
	local_badchan = yes;
	see_chan = yes; 
	list_chan = yes; 
	wide_gline = no;
	see_opers = yes;
	local_opmode = yes;
	force_local_opmode = yes;
	kill = yes;
	gline = no;
	opmode = yes; 
	badchan = no;
};

Class {
        name = "Limited";
        pingfreq = 1 minutes 30 seconds;
        sendq = 160000;
        maxlinks = 200;

        local = no;
        whox = no;
        display = yes;
        chan_limit = no;
        mode_lchan = no;
        deop_lchan = no;
        walk_lchan = no;
        show_invis = no;
        show_all_invis = no;
        unlimit_query = no;
        local_kill = no;
        rehash = no;
        restart = no;
        die = no;
        local_jupe = no;
        set = no;
        local_gline = no;
        local_badchan = no;
        see_chan = no;
        list_chan = no;
        wide_gline = no;
        see_opers = no;
        local_opmode = no;
        force_local_opmode = no;
        kill = no;
        gline = no;
        opmode = no;
        badchan = no;
};

# [Client]
Client
{
	class = "Other";
	ip = "*@*";
	maxlinks = 5;
};

Client
{
	class = "Other";
	host = "*@*";
	maxlinks = 5;
};

Client
{
	class = "Other";
	ip = "*@198.52.*";
	maxlinks = 10;
};

# Here, take care of all American ISPs.
Client
{
	host = "*@*.com";
	class = "America";
	maxlinks = 5;
};

Client
{
	host = "*@*.net";
	class = "America";
	maxlinks = 5;
};

Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.nl.net"; class = "Local"; maxlinks=3; };

# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
	host = "*@*";
	ip = "*@127.0.0.1";
	class = "Local";
	maxlinks = 1000;
};

# [motd]

motd {
	host = "*";
	file = "ircd.motd";
};

# [UWorld]

UWorld {
	name = "channels.yournetwork.org";
	name = "ccontrol.yournetwork.org";
	name = "dronescan.yournetwork.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.

Jupe {
  nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
  nick = "EuWorld,UWorld,UWorld2";
  nick = "login,yournetwork,protocol,pass,newpass,org";
  nick = "StatServ,NoteServ";
  nick = "ChanSvr,ChanSaver,ChanServ";
  nick = "NickSvr,NickSaver,NickServ";
  nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]

# Kill
# {
#   host = "user@host";
#   reason = "The reason the user will see";
# };

# [Connect]

# HUB

Connect {
  name = "channels.yournetwork.org";
  host = "127.0.0.1";
  password = "54321";
  port = 4400;
  class = "Server";
  autoconnect = no;
  hub = "*";
};

Connect {
  name = "irc.YourNetwork.org";
  host = "168.235.93.155";
  password = "54321";
  port = 4400;
  class = "Server";
  autoconnect = yes;
  hub;
};

# [Operator]

Operator {
  host = "*@*";
  password = "$PLAIN$temPass";
  name = "Seven";
  class = "Coders";
};

# [Port]

Port {
  server = yes;
  vhost = "127.0.0.1" 4400;
#  vhost = "127.0.0.1" 4401;
#  vhost = "192.168.2.101" 4400;
};

# This is an IPv4-only Server port that is Hidden
#Port {
#  server = yes;
#  hidden = yes;
#  port = ipv4 4401;
#};

# The following are normal client ports
#Port { 
#  port = 6667; vhost = ipv4 "192.168.2.101";
#  port = 6667; vhost = ipv4 "192.168.2.117";
#  port = 6669; vhost = ipv4 "192.168.2.118";
#  port = 6667; vhost = ipv6 "2001:470:c:10f8::3";
#};

#Port {
#  port = 6667; vhost = ipv6 "2001:5c0:1400:a::17b";
#};

Port { port = 6667; };
#Port {
#  # This only accepts clients with IPs like 192.168.*.
#  mask = "192.168.*";
#  port = 6666;
#};

# This is a hidden client port, listening on 168.8.21.107.
#Port {
# vhost = "192.168.2.117";
# hidden = yes;
# port = 7000;
#};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.

#Port {
#  vhost = "127.0.0.1" 6667;
#  vhost = "192.168.2.100" 6668;
#  hidden = no;
#};


Quarantine {
	"#CSC" = "They can take care of themselves";
};

# Pseudo

Pseudo "CHANSERV" {
	name = "X";
	nick = "X@channels.yournetwork.org";
};

# You can also prepend text before the user's message.
Pseudo "LOGIN" {
	name = "X";
	prepend = "LOGIN ";
	nick = "X@channels.yournetwork.org";
};

#IAuth {
# program = "/home/ircd/iauthd-c-bin/libexec/iauthd-c" "-d" "-f" "/home/ircd/iauthd-c-bin/etc/iauthd-c.conf";
#}; 

features
{
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
 "CONNEXIT_NOTICES"="TRUE";
 "DOMAINNAME"="yournetwork.org";
 "RELIABLE_CLOCK"="FALSE";
 "BUFFERPOOL"="27000000";
 "HAS_FERGUSON_FLUSHER"="FALSE";
 "CLIENT_FLOOD"="1024";
 "SERVER_PORT"="4400";
 "NODEFAULTMOTD"="FALSE";
#  "MOTD_BANNER"="TRUE";
 "MOTD_BANNER"="Welcome to the YourNetwork IRC Network";
 "KILL_IPMISMATCH"="FALSE";
 "IDLE_FROM_MSG"="TRUE";
 "HUB"="TRUE";
#  "WALLOPS_OPER_ONLY"="FALSE";
 "WALLOPS_OPER_ONLY"="TRUE";
 "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
 "RANDOM_SEED"="&YourNetwork";
 "DEFAULT_LIST_PARAM"="TRUE";
 "NICKNAMEHISTORYLENGTH"="800";
 "NETWORK"="YourNetwork";
 "HOST_HIDING"="TRUE";
 "HIDDEN_HOST"="users.yournetwork.org";
 "HIDDEN_IP"="127.0.0.1";
 "KILLCHASETIMELIMIT"="50";
 "MAXCHANNELSPERUSER"="50";
 "NICKLEN" = "50";
 "AVBANLEN"="40";
 "MAXBANS"="1024";
 "MAXSILES"="15";
 "HANGONGOODLINK"="300";
 "HANGONRETRYDELAY" = "10";
 "CONNECTTIMEOUT" = "90";
 "MAXIMUM_LINKS" = "0";
 "PINGFREQUENCY" = "120";
 "CONNECTFREQUENCY" = "50";
# "DEFAULTMAXSENDQLENGTH" = "40000000";
 "DEFAULTMAXSENDQLENGTH" = "400000000";
 "GLINEMAXUSERCOUNT" = "20";
 "MPATH" = "yournetwork.motd";
 "RPATH" = "remote.motd";
 "PPATH" = "ircd-gnu.pid";
 "TOS_SERVER" = "0x08";
 "TOS_CLIENT" = "0x08";
 "POLLS_PER_LOOP" = "200";
 "IRCD_RES_TIMEOUT" = "4";
 "IRCD_RES_RETRIES" = "2";
 "AUTH_TIMEOUT" = "9";
 "IPCHECK_CLONE_LIMIT" = "5";
 "IPCHECK_CLONE_PERIOD" = "40";
 "IPCHECK_CLONE_DELAY" = "600";
 "CHANNELLEN" = "200";
 "CONFIG_OPERCMDS" = "TRUE";
 "OPLEVELS" = "TRUE";
 "ZANNELS" = "TRUE";
 "LOCAL_CHANNELS" = "TRUE";
 "ANNOUNCE_INVITES" = "FALSE";
 "HIS_SNOTICES" = "TRUE";
 "HIS_SNOTICES_OPER_ONLY" = "TRUE";
 "HIS_DEBUG_OPER_ONLY" = "TRUE";
 "HIS_WALLOPS" = "TRUE";
 "HIS_MAP" = "TRUE";
 "HIS_LINKS" = "TRUE";
 "HIS_TRACE" = "TRUE";
 "HIS_STATS_a" = "TRUE";
 "HIS_STATS_c" = "TRUE";
 "HIS_STATS_d" = "TRUE";
 "HIS_STATS_e" = "TRUE";
 "HIS_STATS_f" = "TRUE";
 "HIS_STATS_g" = "TRUE";
 "HIS_STATS_i" = "TRUE";
 "HIS_STATS_j" = "TRUE";
 "HIS_STATS_J" = "TRUE";
 "HIS_STATS_k" = "TRUE";
 "HIS_STATS_l" = "TRUE";
 "HIS_STATS_L" = "TRUE";
 "HIS_STATS_m" = "TRUE";
 "HIS_STATS_M" = "TRUE";
 "HIS_STATS_o" = "TRUE";
 "HIS_STATS_p" = "TRUE";
 "HIS_STATS_q" = "TRUE";
 "HIS_STATS_r" = "TRUE";
 "HIS_STATS_R" = "TRUE";
 "HIS_STATS_t" = "TRUE";
 "HIS_STATS_T" = "TRUE";
 "HIS_STATS_u" = "FALSE";
 "HIS_STATS_U" = "TRUE";
 "HIS_STATS_v" = "TRUE";
 "HIS_STATS_w" = "TRUE";
 "HIS_STATS_x" = "TRUE";
 "HIS_STATS_y" = "TRUE";
 "HIS_STATS_z" = "TRUE";
 "HIS_STATS_IAUTH" = "TRUE";
 "HIS_WHOIS_SERVERNAME" = "TRUE";
 "HIS_WHOIS_IDLETIME" = "TRUE";
 "HIS_WHOIS_LOCALCHAN" = "TRUE";
 "HIS_WHO_SERVERNAME" = "TRUE";
 "HIS_WHO_HOPCOUNT" = "TRUE";
 "HIS_MODEWHO" = "TRUE";
 "HIS_BANWHO" = "TRUE";
 "HIS_KILLWHO" = "TRUE";
 "HIS_REWRITE" = "TRUE";
 "HIS_REMOTE" = "TRUE";
 "HIS_NETSPLIT" = "TRUE";
 "HIS_SERVERNAME" = "*.YourNetwork.org";
 "HIS_SERVERINFO" = "The YourNetwork Server";
 "HIS_URLSERVERS" = "http://cservice.yournetwork.org/servers.php";
 "URLREG" = "http://cservice.yournetwork.org/live/";
 #"AUTOCHANMODES" = "TRUE";
 #"AUTOCHANMODES_LIST" = "tn";
};
