# doc/example.conf - ratbox-services example configuration file # Copyright (C) 2003-2004 Lee Hardy # Copyright (C) 2003-2004 ircd-ratbox development team # # $Id: example.conf,v 1.47 2005/06/06 11:46:10 leeh Exp $ /* serverinfo: contains services information */ serverinfo { /* name: the name of our services */ name = "ratbox.services"; /* 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 = "192.168.4.2"; /* 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; }; /* admin: contains general admin information */ admin { name = "admin"; description = "ratbox services"; email = ""; }; /* connect: specifies a server to connect to, name of uplink * is specified in quotation marks */ connect "irc.uplink.com" { /* host: the host to connect to */ host = "10.0.0.1"; /* vhost: optional vhost to use for this connection */ # vhost = "10.0.0.2"; /* password: the password to use */ password = "fooble"; /* port: the port to connect on */ port = 5555; /* 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 "leeh" { /* user: specifies a user@host who may connect. * multiple may be specified, wildcards are accepted. */ user = "flame@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 = "meep"; /* 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 * 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: * admin - all of the below * channel - access to control the channels operserv is in * takeover - access to OPERSERV::TAKEOVER * omode - access to OPERSERV::OMODE */ operserv = admin; /* operbot flags: * channel - access to control the channels operbot is in */ operbot = channel; /* global flags: * netmsg - access to GLOBAL::NETMSG */ global = netmsg; /* 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. */ banserv = kline, xline, resv, perm, remove, 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 */ flags = opered, msg_self; /* loglevel: level to log at, 0 to disable logging * 1 - Admin commands * 2 - REGISTER * 3 - SET * 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; /* expire time: the duration a username may be unused before expiry */ expire_time = 4 weeks; /* allow set password: allow users to change their password */ allow_set_password = yes; /* 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; }; /* 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, LISTBANS * 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 time: the duration a channel may be unused before expiry */ expire_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; }; /* 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 */ loglevel = 1; }; /* 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; /* 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 */ loglevel = 1; /* unban time: duration unklines etc are kept around in the * database to be synced with servers. */ unban_time = 2 weeks; /* 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; };