1 // services configuration file (example)
2 /* It allows two kinds of comments. Whitespaces between tokens are
3 * ignored. All strings (even if they're just numbers) MUST be
4 * enclosed in double quotes. There must be a semicolon after every
8 // The "uplinks" section describes what servers we can possibly link
9 // to. Each subsection describes one server.
12 // IP address and port the server listens on
15 // What password should we send when we connect?
16 "password" "passwordtoconnect";
17 // What password should we require our peer to send?
18 // (If it is blank, we do not require a specific password.)
19 "their_password" "passwordtorequire";
21 // How many times should we try to connect before giving up?
23 // What IP should we bind to?
24 // If you do not specify bind_address, the default is used.
25 // "bind_address" "192.168.0.10"; // use this ip to link
28 /* unused-uplink is just an example to show you how you can
29 * define more than one uplink (and how you can disable one or
34 "password" "passwordtoconnect";
35 "their_password" "passwordtorequire";
36 // If "enabled" is 0, we will not try to use this uplink.
42 // The "services" section configures the services that make up srvx.
46 // What user modes do you want this service to have? Please keep in
47 // mind which ircd software you are using here, and that all of the
48 // services need to be at least +o.
50 // If you want to by have *@* as the default hostmask for all
51 // new accounts, set default_hostmask. This is discouraged
52 // for security reasons.
53 // "default_hostmask" "1";
54 // do we warn users when someone new auths to their account?
55 "warn_clone_auth" "1";
56 // what is the default maxlogins value?
57 "default_maxlogins" "2";
58 // what is the absolute maxlogins value?
59 "hard_maxlogins" "10";
60 // Which mode should we use for account timestamps?
61 "account_timestamp_mode" "ignore";
62 // This names a file that contains easily guessed passwords.
63 // It always contains "password", "<password>" and the user's
65 "dict_file" "/usr/share/dict/words";
66 // Minimum number of various types of characters permitted in
68 "password_min_length" "4";
69 "password_min_digits" "1";
70 "password_min_upper" "0";
71 "password_min_lower" "0";
72 // What should valid account and nicks look like?
73 // If valid_nick_regex is omitted, valid_account_regex is used
74 // for both nicks and accounts.
75 // These look funny because "[][-]" is the only way to write the
76 // character class containing the characters ']', '[' and '-'.
77 "valid_account_regex" "^[][_a-z^`'{}|-][][_a-z0-9^`'{}|-]*$";
78 "valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";
80 // Should nick ownership be disabled?
82 // One account may only own this many nicks.
83 "nicks_per_account" "4";
84 // Send a warning when someone uses a registered nick?
85 "warn_nick_owned" "0";
86 // What to do when someone uses the NickServ "reclaim" command?
87 // This can be one of "none", "warn", "svsnick", or "kill", but
88 // stock ircu does not support svsnick -- you need Bahamut or a
89 // patch for ircu. no, don't ask srvx developers for the patch.
90 "reclaim_action" "none";
91 // What (else) to do when someone uses a registered nick?
92 // This can be anything "reclaim_action" can be, but it makes
93 // more sense to use the "warn_nick_owned" instead of "warn".
94 "auto_reclaim_action" "none";
95 // How long to wait before doing the auto_reclaim_action?
96 // This is ignored if "auto_reclaim_action" is "none".
97 "auto_reclaim_delay" "0";
99 // access control for who can change account flags
102 "lc_h" "800"; // specifically lower case h
103 "uc_H" "800"; // .. and upper case H
108 // and for who can change epithets for staff
109 "set_epithet_level" "800";
110 // what opserv access level do you need to set somebody else's level?
111 "modoper_level" "850";
112 // what opserv access level do you need to set somebody's staff level?
113 "modstaff_level" "750";
115 // how often should accounts be expired?
116 "account_expire_freq" "1d";
117 // how long until an account with access to any channel(s) expires?
118 "account_expire_delay" "35d";
119 // how long until an account with no access to any channels expires?
120 "nochan_account_expire_delay" "14d";
121 // how long must an account be inactive so it can be ounregistered without force?
122 "ounregister_inactive" "1M";
123 // which flags on an account require the ounregister to be used with force?
124 "ounregister_flags" "ShgsfnHbuI";
125 /* "require_qualified" has been removed. It is now
126 * integrated into the modcmd command authorization
127 * and dispatch mechanism. "/msg OpServ help modcmd"
130 // If somebody keeps guessing passwords incorrectly, do we gag them?
131 "autogag_enabled" "1";
132 "autogag_duration" "30m";
137 // How to integrate with email cookies?
138 "email_enabled" "0"; // if set, /mail/enable MUST be set too
139 "email_required" "0"; // ignored unless email_enabled is non-zero
140 "cookie_timeout" "1d"; // how long before we expire cookies?
141 "accounts_per_email" "1"; // you may want to increase this; or not
142 "email_search_level" "600"; // minimum OpServ level to search based on email address
143 "email_visible_level" "800"; // minimum OpServ level to see somebody's email address
148 // What user modes do you want this service to have? Please keep in
149 // mind which ircd software you are using here, and that all of the
150 // services need to be at least +o.
152 // should use of this service be limited to global opers?
154 // fullname for service
155 "description" "Oper Service Bot";
156 // hostname for service; only used if "description" is also set
157 "hostname" "dances-all-night-with.srvx.net";
158 // what channel should opserv send debug output to?
159 "debug_channel" "#opserv";
160 "debug_channel_modes" "+tinms";
161 // where to send general alerts (e.g. flood alerts)?
162 "alert_channel" "#ircops";
163 "alert_channel_modes" "+tns";
164 // who to tell about staff auths?
165 "staff_auth_channel" "#opserv";
166 "staff_auth_channel_modes" "+tinms";
167 // Force Opers to be in staff_auth_channel
168 // 0 = don't force opers to be in the channel
169 // 1 = force opers to be in the channel
170 // 2 = force opers to be in the channel but kick them if they get mode -o set (deoper)
171 "staff_auth_force_opers" "2";
172 // how many clones to allow from an untrusted host?
174 // how long of a g-line should be issued if the max hosts is exceeded?
175 "clone_gline_duration" "1h";
176 // how long to g-line for ?block (or, by default, for ?trace gline)?
177 "block_gline_duration" "1h";
178 // how long to keep an illegal channel locked down (seconds)?
179 "purge_lock_delay" "60";
180 // channel join flood policer params?
185 // automatically moderate join flooded channels?
186 "join_flood_moderate" "1";
187 // Don't moderate and warn channels unless there are more than
188 // join_flood_moderate_threshold users in the channel. the
189 // value 0 will disable the threshold.
190 "join_flood_moderate_threshold" "50";
191 // new user flood policer params
200 // You may disable a service by removing its "nick" config item.
201 // That means: SERVICES WILL ONLY WORK IF YOU DEFINE THEIR NICK.
202 // (This is changed relative srvx-1.0.x, which would use default
203 // unless you specified ".disabled".)
205 // What user modes do you want this service to have? Please keep in
206 // mind which ircd software you are using here, and that all of the
207 // services need to be at least +o.
209 // Does your ircd have off-channel services support? Does it have
210 // a registered channel mode? Does it support services opping themselves?
211 // Bahamut has these things; ircu2.10.11 does not.
212 // This setting takes three numerical values:
214 // 1 = use a registered channel mode, have services op themselves
215 // 2 = all of the above, and a channel setting to have ChanServ not
216 // idle in the channel
218 // revoke channel mode +a on unregister?
220 // how long should a person be unseen before resending infoline?
222 // maximum greeting length
223 "max_greetlen" "200";
224 // maximum users in a channel userlist
225 "max_chan_users" "512";
226 // maximum bans on a channel banlist
227 "max_chan_bans" "512";
228 //min time of timebans
230 // maximum length of a user's infoline
231 "max_userinfo_length" "400";
232 // If DynLimit is on and there are N users in the channel, ChanServ will
233 // try to keep the limit at N+<adjust_threshold>.
234 "adjust_threshold" "15";
235 // .. but ChanServ will only increment or decrement the limit this often.
237 // How often to look for channels that have expired?
238 "chan_expire_freq" "3d";
239 // How long is a channel unvisited (by masters or above) before it can be expired?
240 "chan_expire_delay" "30d";
241 // How often to look for dnrs that have expired?
242 "dnr_expire_freq" "1h";
243 // what !set options should we show when user calls "!set" with no arguments?
244 "set_shows" ("DefaultTopic", "TopicMask", "AdvTopic", "Greeting", "UserGreeting", "Modes", "PubCmd", "InviteMe", "EnfModes", "EnfTopic", "TopicSnarf", "UserInfo", "GiveVoice", "GiveOps", "EnfOps", "Setters", "CtcpUsers", "CtcpReaction", "Protect", "Toys", "DynLimit", "NoDelete");
246 // A list of !8ball responses
247 "8ball" ("Not a chance.",
250 "Could be, could be.");
251 // channel(s) that support helpers must be in to be helping
252 // if this is a list, any one by itself will do
253 "support_channel" ("#support", "#registration");
254 // maximum number of channels owned by one account before FORCE is required
256 // how long between automatic topic refreshes with TopicRefresh 0
257 "refresh_period" "3h";
258 // how long between two invites of an user
259 "invite_timeout" "10s";
260 // what should !access say for various staff?
261 "irc_operator_epithet" "a megalomaniacal power hungry tyrant";
262 "network_helper_epithet" "a wannabe tyrant";
263 "support_helper_epithet" "a wannabe tyrant";
264 // what should a newly registered channel get as its modes?
265 "default_modes" "+nt";
266 // minimum opserv access to set, clear or override nodelete setting?
267 "nodelete_level" "1";
268 // how long before a new channel owner can give ownership away?
269 "giveownership_timeout" "1w";
270 // message sent to new channels
271 "new_channel_unauthed_join" ""; //only sent if the user is unauthed
272 "new_channel_authed_join" ""; //only sent if the user is authed
273 "new_channel_message" ""; //always after the message above
274 "oper_channel" "#opers";
280 // What user modes do you want this service to have? Please keep in
281 // mind which ircd software you are using here, and that all of the
282 // services need to be at least +o.
284 // should users get community announcements by default or not?
285 "announcements_default" "on";
289 // You may disable a service by removing its "nick" config item.
290 // That means: SERVICES WILL ONLY WORK IF YOU DEFINE THEIR NICK.
291 // (This is changed relative srvx-1.0.x, which would use default
292 // unless you specified ".disabled".)
294 "debug_channel" "#spamserv";
295 "oper_channel" "#opers";
296 // url of the network rules. if you don't have network rules, remove this key.
297 "network_rules" "http://www.gamesurge.net/aup";
298 // trigger for spamserv; remove this key to disable the trigger
300 // ban duration of a short timedban.
301 "short_ban_duration" "15m";
302 // ban duration of a long timedban.
303 "long_ban_duration" "1h";
304 // duration of a gline. SpamServ will issue it after several violations and a kill.
305 "gline_duration" "1h";
306 // users may add "exception_max" exceptions to the list. IRCOps can override "exception_max".
307 "exception_max" "10";
308 // minimum & maximum length of an exception.
309 "exception_min_len" "4";
310 "exception_max_len" "12";
311 // if someone advertises a channel, which doesn't exist (channel is empty, no users),
312 // SpamServ doesn't punish the user.
313 // enable this setting, if SpamServ has to ignore advertisements of channels, which do not exist.
314 // disable this setting, if SpamServ has to punish the users whenever they advertise.
315 "adv_chan_must_exist" "0";
316 // remove all mirc codes from messages before checking for advertisements.
317 // if this setting is disabled and someone spams a url which
318 // contains a bold char, SpamServ doesn't punish him.
319 "strip_mirc_codes" "1";
320 // enable this, if SpamServ has to "follow" ChanServ, when a channel moves or merges.
321 // disable it, if it shouldn't be possible to move or merge SpamServ with /msg chanserv move|merge.
322 "allow_move_merge" "1";
326 // The modules section gives configuration information to optional modules.
329 // The description/fullname field
330 "description" "Help Queue Manager";
331 // HelpServ bots log all of their requests to this file, with
332 // details on when they were opened, closed, their contents,
333 // helper, etc. The file is written in saxdb format for easy
334 // parsing by external programs. Please note that you cannot
335 // use ?set to change this value while srvx is running.
336 "reqlogfile" "helpservreq.log";
337 // How long should a helpserv be inactive (no requests assigned)
338 // before it can be unregistered by the expire command?
342 "max_sockets" "64"; // allow 64 concurrent clients to be checked
343 "max_read" "1024"; // don't read more than 1024 bytes from any client
344 "gline_duration" "1h"; // issue G-lines lasting one hour
345 "max_cache_age" "60"; // only cache results for 60 seconds
346 // "bind_address" "192.168.0.10"; // do proxy tests from this address
349 // Where to send snoop messages?
350 "channel" "#wherever";
353 // Show new users and joins from net joins? (off by default)
358 "message_expiry" "30d"; // age when messages are deleted; set
359 // to 0 to disable message expiration
362 "bind_address" "127.0.0.1";
367 // File containing blacklisted client addresses.
368 // "file" "blacklist.txt";
369 // Each line in the file should start with an IP or hostname.
370 // If there is whitespace and a message after that, the
371 // message will override this one:
372 "file_reason" "client is blacklisted";
373 // How long should a blacklist G-line last?
374 "gline_duration" "1h";
375 // Bot used to send debug notices
376 "debug_bot" "OpServ";
377 // To which channel should debug output be sent?
378 "debug_channel" "#opserv";
379 "debug_channel_modes" "+tinms";
380 // If you want to use DNS blacklists, add them here:
382 // This DNSBL zone does not exist - you'll have to pick your own.
383 "dnsbl.example.org" {
384 // Send a notice instead of glining blacklisted ips
386 "description" "Example DNSBL entry";
387 "reason" "busted by a dns blacklist";
389 // You can stick the client's IP in the G-line message.
390 "reason_2" "Example DNSBL reported %ip%'s address as 127.0.0.2";
391 // .. or the contents of a DNS TXT.
397 // You generally will not want to override these defaults.
398 // "resolv_conf" "/etc/resolv.conf";
399 // "services" "/etc/services";
400 // "bind_address" "0.0.0.0";
402 // The defaults for these are derived from the system config files (above).
403 // "domain" "example.org";
404 // "timeout" "3"; // base timeout for a DNS reply
405 // "retries" "3"; // number of times to retry on different servers or longer timeouts
406 // "ndots" "1"; // number of dots needed in a hostname to bypass search path
407 // "edns0" "0"; // if set, enable EDNS0 extended message sizes
408 // "search" ("example.org", "example.net");
409 // "nameservers" ("127.0.0.1");
414 "ban_duration" "2h"; //only if the channel is registered with chanserv
415 "gline_duration" "1h";
416 "punishment_reason" "Your message contained a forbidden word.";
417 "alert_chan" "#opers";
418 "oper_channel" "#opers";
424 "toplevel_access" "600";
425 "fallback_other_assignment" "1";
426 "manager_can_del_toplevel" "0";
427 "manager_can_del_secondlevel" "0";
428 "manager_can_rename_toplevel" "0";
429 "manager_can_rename_secondlevel" "0";
430 "manager_toplevel_can_oset" "0";
431 "manager_secondlevel_can_oset" "0";
449 "hostname" "localhost.domain";
450 "description" "Network Services";
451 "network" "GenericNET";
452 "hidden_host" "users.Generic.NET"; // set this if you enabled ircd/Undernet's +x mode
453 /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
454 * srvx does not set the host suffix for users, but must know it when making
455 * things like bans, where it should not show the user's real hostname. */
456 "numeric" "10"; // hint: If you get collisions on link, CHANGE THIS.
457 "max_users" "256"; // You can save a little memory by setting this to a lower value.
458 "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
461 "max_cycles" "30"; // max uplink cycles before giving up
462 // Admin information is traditionally: location, location, email
463 "admin" ("IRC Network", "Gotham City, GO", "Mr Commissioner <james.gordon@police.gov>");
464 /* the following two settings are for ircu's HEAD_IN_SAND features, and are equivelent to
465 * the F: lines in ircu's ircd.conf. both can be disabled by commenting them out. */
466 "his_servername" "*.Generic.NET"; // hidden server name, shown in remote /whois requests
467 "his_servercomment" "The Generic, Boring IRC Network";
470 // controlling how services (mostly NickServ) send mail
472 // These options are the defaults.
474 "mailer" "/usr/sbin/sendmail";
475 "from_address" "admin@poorly.configured.server";
477 "extra_headers" ("X-Ereet-Services: srvx r reet");
478 "body_prefix_first" ("Welcome to our network. This prefix is used whenever srvx thinks this may be the first time we send email to your address.");
479 "body_prefix" ("This goes before the mail text.", "Each string here is treated as a separate \"paragraph\" for line wrapping.");
480 "body_suffix_first" ("We care a lot about spam. If you did not request this email, bitch and moan loudly at our opers, and tell our ISP to gank our connection.");
481 "body_suffix" ("PLEASE DO NOT BE ALARMED. CALMLY BOARD THE AIRCRAFT, STRAP YOUR ARMS ACROSS YOUR BODY, AND JUMP THE HELL OUT OF THE PLANE.", "Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatta!");
482 // If you are using the smtp mail back-end, you may need to set these:
483 "smtp_server" "localhost";
484 "smtp_service" "smtp";
485 // "smtp_myname" "localhost.domain";
488 // New section in srvx-1.2 to control database locations, etc.
489 // If you leave this section out, each database will be in its own file,
490 // and they will be written out every half hour.
492 // This just illustrates how you can jam every database into one huge ("mondo") file.
493 "ChanServ" { "mondo_section" "ChanServ"; };
494 "gline" { "mondo_section" "gline"; };
495 "Global" { "mondo_section" "Global"; };
496 "HelpServ" { "mondo_section" "HelpServ"; };
497 "modcmd" { "mondo_section" "modcmd"; };
498 "NickServ" { "mondo_section" "NickServ"; };
499 "OpServ" { "mondo_section" "OpServ"; };
500 "sendmail" { "mondo_section" "sendmail"; };
501 "SpamServ" { "mondo_section" "SpamServ"; };
502 "Watchdog" { "mondo_section" "Watchdog"; };
504 // These are the options if you want a database to be in its own file.
507 "filename" "srvx.db";
508 // How often should it be saved?
509 // (You can disable automatic saves by setting this to 0.)
514 // New section in srvx-1.2 to control log destinations.
515 // If you leave this section out, each service (technically, each log
516 // facility) will be in its own file, just like before.
518 // Two kinds of items exist in this section.
520 // One is a facility configuration subsection. These have the
521 // name of a log facility (one of "ChanServ", "Global",
522 // "HelpServ", "NickServ", "OpServ", "ProxyCheck", or "srvx") and
523 // the value is a subsection. The "srvx" log facility is a
524 // catch-all/fall-back facility.
526 // The "max_age" option says how long to keep log audit entries.
528 // The "max_count" option says how many log audit entries to keep.
530 // Audit (command tracking) entries are discarded if they exceed
531 // either limit: for example, if entry 500 is 10 minutes old, it
532 // will be discarded next time any audit command is logged.
535 // The other kind of item is a target list. The name of each is a
536 // description of facility-and-severity combinations, and the value
537 // is a string (or list of strings) that describe where matching
538 // events should be logged. As a special case, the facility * will
539 // specify how to log events regardless of their true facility, and
540 // the severity * will match all severities for a facility.
541 // Log targets use a psuedo-URI syntax: one of "file:filename",
542 // "std:[out|err|n]" where n is a valid file descriptor, or
543 // "irc:#channel" (nicknames or server masks can be used instead
544 // of channel names, but should be used with care).
545 // The severity is one of "replay", "debug", "command", "info",
546 // "override", "staff", "warning", "error", or "fatal".
547 // WARNING: If any severity except "replay" for a facility is left
548 // unspecified, it will use the default target (for example,
549 // "file:chanserv.log"). For "replay" severity, you must ALWAYS
550 // list a target to log it -- this is because it is very rarely
552 "*.*" ("std:out", "file:everything.log"); // does NOT suppress any defaults
553 "*.override,staff" "irc:#big-brother"; // report all uses of staff commands
554 "ChanServ.*" "file:chanserv.log"; // duplicates the default behavior
555 "ProxyCheck.*" (); // stop it from logging anything