puppet/irc/templates/ratbox-services.conf.erb
2011-10-04 20:55:32 +03:00

751 lines
22 KiB
Text

/* serverinfo: contains services information */
serverinfo {
/* name: the name of our services */
name = "ratbox.services";
/* sid: the unique server id of services. This follows the same
* form as ircd, eg [0-9][A-Z0-9][A-Z0-9]
*/
sid = "36D";
/* description: the description of our services */
description = "ratbox services";
/* vhost: default vhost to use for connections */
# vhost = "127.0.0.1";
/* dcc vhost: default vhost to use for dcc connections.
* this must be set for /ctcp <service> chat to work.
*/
# dcc_vhost = "127.0.0.1";
/* dcc ports: specifies the portrange to use for inbound
* chat requests.
*/
dcc_low_port = 3000;
dcc_high_port = 5000;
/* reconnect time: time duration between reconnections to
* our uplinks.
*/
reconnect_time = 5 minutes;
/* ping time: time duration to send PINGs after no data */
ping_time = 5 minutes;
/* ratbox: pure ircd-ratbox/hyb7 network */
ratbox = yes;
/* client flood settings: control how many commands an individual
* user may issue in the given time. The limits work on a penalty
* points system, with between 1-3 points per command. HELP has
* a penalty of 2.
*/
/* client flood max: the maximum score a client may have before we
* stop parsing commands from them.
*/
client_flood_max = 20;
/* client flood max ignore: the score at which we start ignoring a
* client.
*/
client_flood_max_ignore = 30;
/* client flood ignore time: the duration for which we ignore a
* client.
*/
client_flood_ignore_time = 5 minutes;
/* client flood time: the length of time to keep the clients current
* flooding score for.
*/
client_flood_time = 1 minute;
/* allow stats o: allow stats O requests to list opers. This
* will only ever be allowed from ircops/services opers
*/
allow_stats_o = yes;
/* allow sslonly: allow users to set +S (SSL only) channelmode
* through chanserv. This affects chanserv only -- services will
* always parse and accept +S from the ircd.
*
* IMPORTANT: do not enable this, if it is not enabled on the ircd.
*/
allow_sslonly = no;
/* default language: the default language to use when communicating
* with users. If userserv is enabled, users may also pick their
* own language from the list. Note, there is no error checking
* for whether this is a valid/available language.
*
* Available languages:
* en - English
*/
#default_language = "en";
};
/* email settings: these settings configure how (if at all) we send email.
*
* IMPORTANT: sending emails carries with it a risk of exposing the
* hidden ips of services servers -- your local mail server should
* take whatever steps are necessary to avoid disclosing private
* ips. Ideally, this would involve relaying through another
* (public) mail server which strips out originating headers.
*/
email {
/* disable email: a master switch to disable sending of emails.
* This will prevent ratbox-services from ever sending emails, and
* will disable usage of commands that require emails.
*/
disable_email = yes;
/* program: email will only ever be sent through a local program,
* this controls the program we call to do it. This should
* be a comma seperated list of quoted strings, starting with the
* email program instead and then optionally any arguments it takes.
*/
email_program = "/usr/sbin/sendmail", "-t";
/* email name: the "name" of the user emails originate from */
email_name = "services";
/* email address: the address emails originate from */
email_address = "services@example.com";
/* email limits: these two options control the maximum number of
* emails we will send in a specified duration
*/
email_number = 15;
email_duration = 1 minute;
};
/* admin: contains general admin information */
admin {
name = "IRC Admin";
description = "Server Administrator";
email = "<root@localhost>";
};
/* connect: specifies a server to connect to, name of uplink
* is specified in quotation marks
*/
connect "<%= servername %>" {
/* host: the host to connect to */
host = "127.0.0.1";
/* vhost: optional vhost to use for this connection */
# vhost = "10.0.0.2";
/* password: the password to use */
password = "<%= servpass %>";
/* port: the port to connect on */
port = <%= port %>;
/* autoconn: auto connect to this server. default yes */
# autoconn = no;
};
/* operator: specifies an oper who has extended access to services.
* The username is specified in quotation marks.
*/
operator "root" {
/* user: specifies a user@host who may connect.
* multiple may be specified, wildcards are accepted.
*/
user = "*@127.0.0.1";
/* you may also restrict the oper to a specific server, they will
* then only be able to connect when using that server.
*/
#user = "flame@127.0.0.1", "irc.ircd-ratbox.org";
/* password: the password to login */
password = "<%= operpass %>";
/* encrypted: specifies whether the above password has been
* encrypted or not. default: yes
*/
encrypted = no;
/* flags: specifies what general privs an oper has
* admin - services admin, .die etc
* dcc - ability to dcc
* route - ability to route services to uplinks
*/
flags = admin, dcc, route;
/* userserv flags:
* admin - all of the below
* register - access to register any username
* suspend - access to (un)suspend users
* drop - access to drop usernames
* setpass - access to reset passwords on accounts
* setemail - access to reset email addresses on accounts
* oper - all of the below
* list - access to list registered users
* info - access to extended username info
*/
userserv = admin;
/* chanserv flags:
* admin - all of the below
* register - access to register any channel to any user
* suspend - access to (un)suspend channels
* drop - access to drop channel registrations
* oper - all of the below
* list - access to list registered chans
* info - access to extended channel info
*/
chanserv = admin;
/* nickserv flags:
* drop - access to drop nickname registrations
*/
nickserv = drop;
/* operserv flags:
* maintain - access to OPERSERV::DIE OPERSERV::REHASH and
* OPERSERV::DBSYNC
* ignore - control over services ignore list
* admin - all of the below
* channel - access to control the channels operserv is in
* takeover - access to OPERSERV::TAKEOVER
* osmode - access to OPERSERV::OSMODE
*/
operserv = admin;
/* operbot flags:
* channel - access to control the channels operbot is in
*/
operbot = channel;
/* global flags:
* netmsg - access to GLOBAL::NETMSG
* welcome - ability to modify welcome messages sent when a
* user connects to irc
*/
global = netmsg, welcome;
/* jupeserv flags:
* jupe - access to (un)jupe
*/
jupeserv = jupe;
/* banserv flags:
* kline - access to set klines
* xline - access to set xlines
* resv - access to set resvs
* perm - access to set permanent bans
* remove - access to remove other opers bans
* sync - access to sync bans to a given server Opers
* can always sync bans to their own server.
* regexp - access to set regular expression matches
* against connecting clients
* nomax - client is exempt from any limits on maximum
* matches to a ban
*/
banserv = kline, xline, resv, perm, remove, regexp, sync;
};
/* userserv - provides facilities to users for the registration of
* usernames. Required for channel registration.
*/
service "userserv" {
/* nick: specify the nick of the service */
nick = "USERSERV";
/* username: specify the username of the service */
username = "user";
/* host: specify the host of the service */
host = "services.int";
/* realname: the real name field of the service */
realname = "user registration service";
/* flags: specifies options for this service
* opered - this service is opered
* msg_self - messages from this service come from its nickname,
* rather than our servername
* disabled - this service is disabled
* short_help - send an simple list of commands, rather than an
* index containing brief documentation of each command
* stealth - service ignores any messages from normal users
* who havent issued OLOGIN. OLOGIN itself will
* always be accepted. ircops are exempt.
* login_help - requires normal users are logged in before HELP
* can be used
* wallop_adm - send server wallops when admin commands are used
* jupeserv sends wallops even without this
* require_shortcut - require commands to this service are sent
* using the command shortcuts (eg /chanserv)
*/
flags = opered, msg_self;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - REGISTER
* 3 - SET, RESETPASS
* 4 -
* 5 - LOGIN
*/
loglevel = 5;
/* disable register: disables USERSERV::REGISTER for users */
#disable_register = yes;
/* register url: optional url to point users towards when
* disable_register is set above.
*/
#register_url = "http://whatever/";
/* register limits: amount of user registrations to allow overall
* from all clients, in the given time
*/
register_time = 1 minute;
register_amount = 5;
/* host register limits: amount of user registrations to allow from
* a specific host, in the given time
*/
host_register_time = 1 day;
host_register_amount = 2;
/* register email: require an email address to register a username */
register_email = no;
/* register verify: ignore the password the user supplies when
* registering a username and email them a password instead.
*/
register_verify = no;
/* expire times: these durations control how long usernames can be
* unused before they are expired. Settings are for normal
* usernames, suspended usernames and unverified usernames.
*/
expire_time = 4 weeks;
expire_suspended_time = 4 weeks;
expire_unverified_time = 1 day;
/* expiry bonuses: these allow you to grant extra expiry bonuses to
* usernames that have been registered for a given length of time,
* extending the length of time they can be unused before expiry.
*/
/* expire bonus regtime: start granting expiry bonuses once a
* username has been registered for this length of time
*/
expire_bonus_regtime = 2 months;
/* expire bonus: grant an expiry bonus of a given duration, for
* every length of time a username has been registered, upto a
* maximum bonus of a given limit.
*/
expire_bonus = 1 day;
expire_bonus_per_time = 2 weeks;
expire_bonus_max = 4 weeks;
/* allow set password: allow users to change their password */
allow_set_password = yes;
/* allow resetpass: allow users to request a reset of their
* password. They will be sent an email containing a token, which
* they must then use to confirm the password reset.
*/
allow_resetpass = no;
/* allow resetemail: allow users to request a reset of their
* email. This happens by two steps. They will be sent an email
* to their current email containing a token, which they must
* then use to confirm the email reset. Another mail is then
* sent to the new address to verify it's validity.
*/
allow_resetemail = no;
/* resetpass_duration: the duration a USERSERV::RESETPASS request is
* kept around whilst waiting for confirmation. Note: users can
* only have one request pending for confirmation.
*/
resetpass_duration = 1 day;
/* resetemail_duration: the duration a USERSERV::RESETEMAIL request is
* kept around whilst waiting for confirmation. Note: users can
* only have one request pending for confirmation.
*/
resetemail_duration = 1 day;
/* reset regtime duration: duration a username must be registered for
* before they can use resetpass/resetemail commands on it
*/
reset_regtime_duration = 2 weeks;
/* allow set email: allow users to change their email addy */
allow_set_email = yes;
/* max logins: maximum amount of clients who may be logged into a
* single username
*/
max_logins = 5;
/* show suspend reasons: show suspend reasons to users (but not the
* admin who suspended the channel)
*/
show_suspend_reasons = no;
};
/* chanserv - provides facilities for the registration of channels. */
service "chanserv" {
nick = "CHANSERV";
username = "chan";
host = "services.int";
realname = "channel registration service";
flags = opered, login_help;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - REGISTER
* 3 - LISTUSERS, DELOWNER
* 4 - CLEARMODES, CLEAROPS, CLEARALLOPS, CLEARBANS
* 5 - ADDUSER, DELUSER, MODUSER
* 6 - Everything.
*/
loglevel = 3;
/* disable register: disables CHANSERV::REGISTER for users */
#disable_register = yes;
/* register limits: amount of user registrations to allow overall
* from all clients, in the given time
*/
register_time = 1 minute;
register_amount = 5;
/* host register limits: amount of user registrations to allow from
* a specific host, in the given time
*/
host_register_time = 1 day;
host_register_amount = 4;
/* expire times: these durations control how long channels can be
* unused before they are expired. Settings are for normal
* channels and suspended channels
*/
expire_time = 4 weeks;
expire_suspended_time = 4 weeks;
/* max bans: maximum amount of bans a channel may have */
max_bans = 50;
/* expireban frequency: how often to run the expiry of channel
* bans. It is advised this is not set lower than 5 minutes, as the
* expiry code is quite cpu intensive. This value is also only
* used on startup and is not changed on rehash.
*/
expireban_frequency = 15 minutes;
/* enforcetopic frequency: how often to reset topics on channels to
* that stored within chanserv.
*/
enforcetopic_frequency = 1 hour;
/* autojoin empty: honour autojoin flags for empty channels. With
* this off (as is default) chanserv will instead automatically
* remove itself from channels where its the only member, except when
* it needs to enforce bans etc.
*
* Enabling this can lead to lots of channels where chanserv is the
* only person in there.
*/
autojoin_empty = no;
/* email delowner: require users removing themselves as owner of a
* channel to confirm the action using a token sent through email
*/
email_delowner = no;
/* delowner duration: if email_delowner is enabled, the duration the
* tokens last.
*/
delowner_duration = 1 day;
/* show suspend reasons: show suspend reasons to users (but not the
* admin who suspended the channel)
*/
show_suspend_reasons = no;
};
/* nickserv - provides nickname registration. These require a username
* registration.
*/
service "nickserv" {
nick = "NICKSERV";
username = "nick";
host = "services.int";
realname = "nickname services";
/* disabled by default */
flags = opered, msg_self, disabled;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - REGISTER
* 3 - DROP
* 4 -
* 5 - INFO
*/
loglevel = 3;
/* max nicks: maximum nicknames a user may register */
max_nicks = 2;
/* allow set warn: enable NICKSERV::SET::WARN, which allows users to
* set nickname warnings on their nicknames, simple notices which
* tell users the nickname is registered.
*/
allow_set_warn = yes;
/* warn string: string give to clients when they use a registered
* nickname.
*/
warn_string = "This nickname is registered, you may be disconnected if a user regains this nickname.";
};
/* operserv - provides facilities for issuing modes and takeovers */
service "operserv" {
nick = "OPERSERV";
username = "oper";
host = "services.int";
realname = "oper services";
flags = opered, msg_self, stealth, wallop_adm;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - DBSYNC, LISTOPERS
*/
loglevel = 1;
/* allow die: allow OPERSERV::DIE over irc */
allow_die = yes;
};
/* jupeserv - provides opers and admins the ability to jupe servers
* preventing them from connecting to the network.
*/
service "jupeserv" {
nick = "JUPESERV";
username = "jupe";
host = "services.int";
realname = "server jupe service";
flags = opered, msg_self, stealth;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - CALLJUPE/CALLUNJUPE
* 3 - PENDING
*/
loglevel = 2;
/* merge into operserv: merge all of this services commands into the
* operserv service. This option is only used when ratbox-services
* starts.
*
* Note: If this service is merged into operserv, it will follow the
* service flags and loglevel from operserv.
*/
merge_into_operserv = no;
/* oper jupe options. The following options control jupes/unjupes
* which can be initiated by any oper, without needing special
* services access.
*/
/* oper score: the score an oper contributes towards a jupe/unjupe.
* Set to 0 to disallow regular opers calling jupes/unjupes.
*/
oper_score = 3;
/* jupe score: the score needed to trigger a jupe.
* Set to 0 to disallow regular opers calling jupes.
*/
jupe_score = 15;
/* unjupe score: the score needed to trigger an unjupe.
* Set to 0 to disallow regular opers calling unjupes.
*/
unjupe_score = 15;
/* pending time: how long pending jupes/unjupes last whilst
* untriggered.
*/
pending_time = 30 minutes;
};
/* operbot - a bot which will invite/op ircops in the set channels. Useful
* for oper only channels etc.
*/
service "operbot" {
nick = "operbot";
username = "operbot";
host = "services.int";
realname = "oper op/invite services";
flags = opered, msg_self, stealth;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
*/
loglevel = 1;
};
/* alis - a list service that lets users list channels according to more
* specific criteria than an ircd allows.
*/
service "alis" {
nick = "alis";
username = "alis";
host = "services.int";
realname = "Advanced List Service - /msg alis help";
flags = msg_self;
/* loglevel:
* 1 - LIST
*/
loglevel = 1;
/* max matches: maximum number of channels to output from LIST */
max_matches = 60;
};
/* global - the global messaging service. Allows messages to be sent
* to all users on the network.
*/
service "global" {
nick = "GLOBAL";
username = "global";
host = "services.int";
realname = "Network Message Service";
/* this service *MUST* be opered. */
flags = opered, msg_self, stealth;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
*/
loglevel = 1;
};
/* banserv - the ban service. Allows bans (klines/xlines/resvs) to be
* sent to all servers. These bans can only be set on ircd-ratbox servers
* running version 1.5 and above.
*/
service "banserv" {
nick = "BANSERV";
username = "banserv";
host = "services.int";
realname = "Ban Service";
flags = opered, msg_self, stealth;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
* 2 - LISTWELCOME
*/
loglevel = 1;
/* merge into operserv: merge all of this services commands into the
* operserv service. This option is only used when ratbox-services
* starts.
*
* Note: If this service is merged into operserv, it will follow the
* service flags and loglevel from operserv.
*/
merge_into_operserv = no;
/* unban time: duration unklines etc are kept around in the
* database to be synced with servers.
*/
unban_time = 2 weeks;
/* regexp time: when issuing klines for users who match regexps, how
* long to make the kline last
*/
regexp_time = 1 day;
/* max kline matches: maximum number of users a kline can match. Set to
* 0 to disable.
*/
max_kline_matches = 200;
/* max xline matches: maximum number of users an xline can match. Set to
* 0 to disable.
*/
max_xline_matches = 200;
/* max regexp matches: maximum number of users a regular expression can
* match. regexps that match more than this amount of users will be
* rejected. Set to 0 to disable.
*/
max_regexp_matches = 200;
/* temp workaround: work around short time limits for temporary
* bans, by issuing an unban for it first then reissuing the ban.
* ratbox-2.0.8 and below, and ratbox-2.1.2 and below have a maximum
* temp time of 4 weeks, which can cause some bans to expire even
* when banserv expects them to still be set.
*
* The only way for banserv to extend the expiry on these servers is
* to issue an unban first. The temp workaround does this for all
* temporary bans.
*/
temp_workaround = no;
/* autosync frequency: how often to automatically sync bans to
* all servers. Set to 0 to disable.
*/
autosync_frequency = 2 weeks;
};
/* watchserv - the service for watching commands issued to services. */
service "watchserv" {
nick = "WATCHSERV";
username = "watchserv";
host = "services.int";
realname = "Command Watching Service";
flags = msg_self, stealth;
/* loglevel: level to log at, 0 to disable logging
* 1 - Admin commands
*/
loglevel = 1;
/* merge into operserv: merge all of this services commands into the
* operserv service. This option is only used when ratbox-services
* starts.
*
* Note: If this service is merged into operserv, it will follow the
* service flags and loglevel from operserv.
*/
merge_into_operserv = no;
};
/* memoserv - the service for sending memos */
service "memoserv" {
nick = "MEMOSERV";
username = "memoserv";
host = "services.int";
realname = "Memo Service";
flags = msg_self;
/* loglevel: level to log at, 0 to disable logging
*
* 2 - SEND
* 3 - LIST, READ, DELETE
*/
loglevel = 0;
/* max memos: maximum number of memos a user may have. */
max_memos = 50;
/* memo regtime duration: duration a username must be registered for
* before they can send memos
*/
memo_regtime_duration = 1 week;
};