/* 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 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 = ""; }; /* 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; };