/* knock: Allows users to request an invite to a channel that
* is locked somehow (+ikl). If the channel is +p or you are banned
* the knock will not be sent.
*/
use_knock = yes;
/* local channels: &Channel - a channel that exists only on one server
* people on other servers will not be able to see or join local channels
* from another server.
*/
use_local_channels = yes;
/* knock delay: The amount of time a user must wait between issuing
* the knock command.
*/
knock_delay = 5 minutes;
/* knock channel delay: How often a knock to any specific channel
* is permitted, regardless of the user sending the knock.
*/
knock_delay_channel = 1 minute;
/* max chans: The maximum number of channels a user can join/be on. */
max_chans_per_user = 15;
/* max bans: maximum number of +b/e/I/q modes in a channel */
max_bans = 100;
/* max bans: maximum number of +b/e/I/q modes in a +L channel */
max_bans_large = 500;
/* splitcode: split users, split servers and either no join on split
* or no create on split must be enabled for split checking.
* splitmode will be entered on either split users or split servers
* dropping below the limit.
*
* you may force splitmode to be permanent by /quote set splitmode on
*/
/* split users: when the usercount is lower than this level, consider
* ourselves split. this must be set for automatic splitmode
*/
default_split_user_count = 0;
/* split servers: when the amount of servers that have acknowledged
* theyve finished bursting is lower than this, consider ourselves
* split. this must be set for automatic splitmode
*/
default_split_server_count = 0;
/* split: no create: disallow users creating channels on split */
no_create_on_split = no;
/* split: no join: disallow users joining channels at all on a split */
no_join_on_split = no;
/* burst topicwho: when bursting topics, also burst the topic setter */
burst_topicwho = yes;
/* kick on split riding: kick users riding splits to join +i or +k
* channels. more precisely, if a bursting server sends an SJOIN
* for a channel with a lower TS with either a +i mode or a +k
* mode with a different key, kick all local users.
*
* note: this does not take +r, +b, +e and +I into account.
*
* warning: if there are any TS5 servers on the network, this
* will cause ban desyncs if they send such an SJOIN and the
* splitriders added any bans (our side will lose them, the TS5
* side will accept them). we will send a notice to the channel
* if this happens. most services do not send such SJOINs but
* ratbox-services does.
*/
kick_on_split_riding = no;
/* only ascii channels: disable local users joining channels
* containing characters outside the range 33-126 (non-printable
* or non-ASCII).
*/
only_ascii_channels = no;
/* cycle_host_change: Should a user be cycled in the channels
* they're in when their host changes. If set to no, this may
* cause client desyncs.
*/
cycle_host_change = yes;
/* host_in_topic: Defines whether or not the topicsetter's
* host is shown when users request the TOPIC. If this option
* is set to no, it will only show the nick of the topicsetter.
*/
host_in_topic = yes;
/* resv_forcepart: force any local users to part a channel
* when a RESV is issued.
*/
resv_forcepart = yes;
/* channel target change: restrict how many channels users can
* message per unit of time. IRC operators, channel operators and
* voiced users are exempt.
*/
channel_target_change = yes;
};
/* The serverhide block contains the options regarding serverhiding */
serverhide {
/* flatten links: this option will hide various routing information
* and make all servers in /links appear that they are linked to
* this server. This option also disallows non-opers from using /map
*/
flatten_links = no;
/* links delay: how long to wait before showing splits or new
* servers in a flattened /links output.
*/
links_delay = 5 minutes;
/* hidden: hide this server from a /links output on servers with
* flatten_links enabled. this allows hub servers to be hidden etc.
*/
hidden = no;
/* disable hidden: prevent servers hiding themselves from a
* /links ouput.
*/
disable_hidden = no;
};
/* These are the blacklist settings.
* You can have multiple combinations of host and rejection reasons.
* They are used in pairs of one host/rejection reason.
*
* These settings should be adequate for most networks, and are (presently)
* required for use on AthemeNet.
*
* Word to the wise: Do not use blacklists like SPEWS for blocking IRC
* connections.
*
* As of charybdis 2.2, you can do some keyword substitution on the rejection
* reason. The available keyword substitutions are:
*
* ${ip} - the user's IP
* ${host} - the user's canonical hostname
* ${dnsbl-host} - the dnsbl hostname the lookup was done against
* ${nick} - the user's nickname
* ${network-name} - the name of the network
*
*/
blacklist {
host = "rbl.efnetrbl.org";
reject_reason = "${nick}, your IP (${ip}) is listed in EFnet's RBL. For assistance, see http://efnetrbl.org/?i=${ip}";
host = "dnsbl.dronebl.org";
reject_reason = "${nick}, your IP (${ip}) is listed in DroneBL. For assistance, see http://dronebl.org/lookup_branded.do?ip=${ip}&network=${network-name}";
};
/*
* Alias blocks allow you to define custom commands. (Old m_sshortcut.c)
* They send PRIVMSG to the given target. A real command takes
* precedence above an alias.
*/
alias "NickServ" {
/* the name must go above */
/* target: the target nick (must be a network service) or
* user@server (cannot be this server, only opers can use
* user starting with "opers" reliably, interpreted on the target
* server only so you may need to use nick@server instead)
*/
target = "NickServ";
};
alias "ChanServ" {
target = "ChanServ";
};
alias "OperServ" {
target = "OperServ";
};
alias "MemoServ" {
target = "MemoServ";
};
alias "HostServ" {
target = "HostServ";
};
alias "BotServ" {
target = "BotServ";
};
alias "InfoServ" {
target = "InfoServ";
};
alias "GroupServ" {
target = "GroupServ";
};
alias "NS" {
target = "NickServ";
};
alias "CS" {
target = "ChanServ";
};
alias "OS" {
target = "OperServ";
};
alias "MS" {
target = "MemoServ";
};
alias "HS" {
target = "HostServ";
};
alias "BS" {
target = "BotServ";
};
alias "IS" {
target = "InfoServ";
};
alias "GS" {
target = "GroupServ";
};
/* The general block contains many of the options that were once compiled
* in options in config.h. The general block is read at start time.
*/
general {
/* hide error messages: defines whether error messages from
* servers that are not deemed fully safe are hidden or not.
* These can sometimes contain IPs and can have an adverse
* effect on server ip hiding. Set to:
* yes: hide from opers and admin
* opers: hide from opers only
* no: do not hide error messages
* Admins on other servers count as opers.
*/
hide_error_messages = opers;
/* hide spoof ips: hide the real ips of auth{} spoofed users
* If disabled, local opers can see them.
* Dynamic spoofs (e.g. set by services) are unaffected by this;
* any oper (local and remote) can see the real ip.
* Warning: for whowas, this is checked when the client exits,
* not when the IP is shown.
*/
hide_spoof_ips = yes;
/* default umodes: umodes to set upon connection
* If you have enabled the ip_cloaking extension, and you wish for
* incoming clients to be cloaked upon connection, +x must be in
* the umode string below.
*/
default_umodes = "+ix";
/* default operstring: defines the default oper response
* in /whois queries, eg "is an IRC Operator".
* After startup use /quote set operstring to change.
*/
default_operstring = "is an IRC Operator";
/* default adminstring: defines the default admin response
* in /whois queries, eg "is a Server Administrator".
* After startup use /quote set adminstring to change.
*/
default_adminstring = "is a Server Administrator";
/* default operhost: defines the default virtual host that
* operators will receiving upon opering up. Can be overriden
* by the vhost option in individual operator blocks. This
* must be a valid hostmask.
*/
#default_operhost = "staff.testnet.net";
/* static quit: Quit message to display for all users (not opers)
* on QUIT.
*/
#static_quit = "I like turtles!";
/* servicestring: defines the response for opered services (+S)
* in /whois queries, eg "is a Network Service".
* This is updated on rehash.
*/
servicestring = "is a Network Service";
/* disable fake channels: disable local users joining fake versions
* of channels, eg #foo^B^B. Disables bold, mirc colour, reverse,
* underline and hard space. (ASCII 2, 3, 22, 31, 160 respectively).
*/
disable_fake_channels = no;
/* hide_channel_below_users: Amount of users a channel must have in it
* before it is shown in a standard LIST. This can be overridden by
* invoking LIST like: /LIST <3
*/
hide_channel_below_users = 3;
/* tkline_expire_notices: give a notice to opers when a tkline
* expires
*/
tkline_expire_notices = no;
/* floodcount: the default value of floodcount that is configurable
* via /quote set floodcount. This is the amount of lines a user
* may send to any other user/channel in one second.
*/
default_floodcount = 10;
/* failed oper notice: send a notice to all opers on the server when
* someone tries to OPER and uses the wrong password, host or ident.
*/
failed_oper_notice = yes;
/* dots in ident: the amount of '.' characters permitted in an ident
* reply before the user is rejected.
*/
dots_in_ident=2;
/* min nonwildcard: the minimum non wildcard characters in k/d/g lines
* placed via the server. klines hand placed are exempt from limits.
* wildcard chars: '.' '*' '?' '@'
*/
min_nonwildcard = 4;
/* min nonwildcard simple: the minimum non wildcard characters in
* xlines/resvs placed via the server.
* wildcard chars: '*' '?'
*/
min_nonwildcard_simple = 3;
/* max accept: maximum allowed /accept's for +gGR usermodes */
max_accept = 20;
/* max monitor: the maximum amount of nicknames a client may have in
* their monitor (server-side notify) list.
*/
max_monitor = 100;
/* nick flood: enable the nickflood control code */
anti_nick_flood = yes;
/* nick flood: the nick changes allowed in the specified period */
max_nick_time = 20 seconds;
max_nick_changes = 5;
/* anti spam time: the minimum time a user must be connected before
* custom quit messages are allowed.
*/
anti_spam_exit_message_time = 5 minutes;
/* use part messages: This option controls whether users should be
* allowed to send PART messages to channels. It should probably
* be set to no if static_quit is set.
*/
use_part_messages = yes;
/* ts delta: the time delta allowed between server clocks before
* a warning is given, or before the link is dropped. all servers
* should run ntpdate/rdate to keep clocks in sync
*/
ts_warn_delta = 30 seconds;
ts_max_delta = 5 minutes;
/* client exit: prepend a users quit message with "Client exit: " */
client_exit = yes;
/* collision fnc: change user's nick to their UID instead of
* killing them, if possible. This setting only applies to nick
* collisions detected on this server. Only enable this if
* all servers on the network allow remote nicks to start with
* a digit.
*/
collision_fnc = yes;
/* global snotices: send out certain snotices (most +b, +f, +y,
* some +s) to other servers via ENCAP SNOTE. Received SNOTEs are
* displayed unconditionally.
*/
global_snotices = yes;
/* dline reason: show the user the dline reason when they connect
* and are dlined.
*/
dline_with_reason = yes;
/* kline delay: delay the checking of klines until a specified time.
* Useful if large kline lists are applied often to prevent the
* server eating CPU.
*/
kline_delay = 0 seconds;
/* kline reason: show the user the reason why they are k/dlined
* on exit. may give away who set k/dline when set via tcm.
*/
kline_with_reason = yes;
/* kline reason: make the users quit message on channels this
* reason instead of the oper's reason.
*/
kline_reason = "K-Lined";
/* identify to services via server password
* if auth{} block had no password but the user specified a
* server password anyway, send a PRIVMSG to <identify_service>
* with as text <identify_command> <password>.
*/
identify_service = "NickServ@services.int";
identify_command = "IDENTIFY";
/* non redundant klines: flag and ignore redundant klines */
non_redundant_klines = yes;
/* warn no nline: warn opers about servers that try to connect but
* we dont have a connect {} block for. Twits with misconfigured
* servers can get really annoying with this enabled.
*/
warn_no_nline = yes;
/* use propagated bans: KLINE, XLINE and RESV set fully propagated bans.
* That means the bans are part of the netburst and restarted/split
* servers will get them, but they will not apply to 3.2 and older
* servers at all.
*/
use_propagated_bans = yes;
/* stats e disabled: disable stats e. useful if server ips are
* exempted and you dont want them listing on irc.
*/
stats_e_disabled = no;
/* stats c oper only: make stats c (connect {}) oper only */
stats_c_oper_only=no;
/* stats h oper only: make stats h (hub_mask/leaf_mask) oper only */
stats_h_oper_only=no;
/* stats y oper only: make stats y (class {}) oper only */
stats_y_oper_only=no;
/* stats o oper only: make stats o (opers) oper only */
stats_o_oper_only=yes;
/* stats P oper only: make stats P (ports) oper only
* NOTE: users doing stats P will never be given the ips that the
* server listens on, simply the ports.
*/
stats_P_oper_only=no;
/* stats i oper only: make stats i (auth {}) oper only. set to:
* yes: show users no auth blocks, made oper only.
* masked: show users first matching auth block
* no: show users all auth blocks.
*/
stats_i_oper_only=masked;
/* stats k/K oper only: make stats k/K (klines) oper only. set to:
* yes: show users no auth blocks, made oper only
* masked: show users first matching auth block
* no: show users all auth blocks.
*/
stats_k_oper_only=masked;
/* map oper only: make /map oper only */
map_oper_only = no;
/* operspy admin only: make operspy notices to +Z admin only */
operspy_admin_only = no;
/* operspy dont care user info: treat /who mask as if there was
* an '!' always; do not log or server notice about operspy
* /who mask, /masktrace and /scan. channel information is still
* protected. */
operspy_dont_care_user_info = no;
/* secret channels in whois: display secret channels in /whois
* even if operspy was not used, as long as the oper doing the
* whois has the oper:spy priv. this will not send any kind of
* server notice. */
secret_channels_in_whois = no;
/* caller id wait: time between notifying a +g user that somebody
* is messaging them.
*/
caller_id_wait = 1 minute;
/* pace wait simple: time between use of less intensive commands
* (HELP, remote WHOIS, WHOWAS)
*/
pace_wait_simple = 1 second;
/* pace wait: time between more intensive commands