]> jfr.im git - irc/evilnet/x3.git/blame - x3.conf.example
added $n $a and $m expansions to BIND (nick, account, numnick)
[irc/evilnet/x3.git] / x3.conf.example
CommitLineData
5a6d6ae5 1/* *****************************************************************
fbbc275b 2 * X3 Services Example Configuration file.
3 *
4 * Copy it to your x3 runtime dir, and edit to taste.
5 *
6 * This file allows two kinds of comments. Whitespaces between
7 * tokens are ignored. All strings (even if they're just numbers)
8 * MUST be enclosed in double quotes. There must be a semicolon
9 * after every * key/value pair.
d76ed9a9 10 */
11
fbbc275b 12/* UPLINKS (servers we connect to) *********************************
13 * Each subsection describes one server. X3 will try to connect to
14 * each in turn maxtries times, and then will quit.
15 */
d76ed9a9 16"uplinks" {
fbbc275b 17 // This first entry connects to an ircd on teh same server an X3..
18 "Hub" { // This can be any string, just used here for your conveniance
19 "address" "127.0.0.1"; // The IP address of the server
20 "port" "8888"; // What TCP port to connect to
21 "password" "laoo,rpe"; // Both of these passwords must match
22 "their_password" "laoo,rpe"; // the one in the ircd C line for X3.
23 "enabled" "1"; // Set to 0 to disable connecting to this server
24 "max_tries" "10"; // How many times to attemt reconnect before quitting
25 "bind_address" "127.0.0.1"; // LOCAL IP address we want to connect FROM
26 };
27 // This next one connects to an ircd on another server
28 "Hub-west" {
d76ed9a9 29 // IP address and port the server listens on
fbbc275b 30 "address" "192.168.234.123"; // IP of remote server
31 "port" "8888";
32 "password" "ekrpat"; // C line passwords
33 "their_password" "ekrpat"; // Set same as above
34 "enabled" "0"; // Set this to 1 to use this server..
35 "max_tries" "1";
36 "bind_address" "192.168.1.10";
d76ed9a9 37 };
fbbc275b 38};
d76ed9a9 39
fbbc275b 40/* SERVER (Details about our existance) **********************************
41 */
42"server" {
43 "hostname" "X3.AfterNET.Services"; // The servers name. (Use this in the ircd's C line)
44 "description" "AfterNET Network Services"; // Shows up in /links.
45 "network" "AfterNET";
46 "hidden_host" "Users.AfterNET.Org"; // set this if you enabled Nefarious' +x mode
47 /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
48 * x3 does not set the host suffix for users, but must know it when making
49 * things like bans, where it should not show the user's real hostname. */
50 "numeric" "51"; // hint: If you get collisions on link, CHANGE THIS.
be3d31e0 51 /* Type handles some changes in nefarious 1.0 (was 0.5.0)
52 * 4 - nefarious 0.4.x and other ircds
53 * 5 - nefarious 1.0.x and higher
54 */
55 "type" "5";
5006460e 56 "host_in_topic" "1"; //Set to 1 if your Nefarious server have the HOST_IN_TOPIC F:line set to TRUE.
fbbc275b 57 "max_users" "256"; // You can save a little memory by setting this to a lower value.
58 "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
59 "ping_freq" "60";
60 "ping_timeout" "90";
61 "max_cycles" "30"; // max uplink cycles before giving up
62 // Admin information is traditionally: location, location, email
63 // This shows up on a /admin x3.afternet.services command.
64 "admin" (
65 "AfterNET IRC Network",
66 "www.afternet.org",
67 "Support Staff <support@afternet.org>"
68 );
805e7c7a 69 /* extended_accounts -
31543e44 70 * enable this for nefarious 0.4.x and higher and in ircd.conf add F:EXTENDED_ACCOUNTS:TRUE.
71 * Sends 'AC R nick account' instead of 'AC nick account' and allows
72 * for renames, login-on-connect, etc. If you use stock ircu set to 0. */
805e7c7a 73 "extended_accounts" "1";
31543e44 74
fbbc275b 75 /* the following two settings are for ircu's HEAD_IN_SAND features, and are equivelent to
76 * the F: lines in ircu's ircd.conf. both can be disabled by commenting them out. */
77 //"his_servername" "*.AfterNET.org"; // hidden server name, shown in remote /whois requests
78 //"his_servercomment" "AfterNET IRC Network";
d76ed9a9 79};
80
fbbc275b 81/* SERVICES (Bot nicknames) *******************************************
82 * Each section describes one service nickname and the details of that
83 * bot's features
84 * You may disable a service by commenting out its "nick" config item.
85 */
d76ed9a9 86"services" {
fbbc275b 87 /* Nickserv is the bot you register with and auth to.
88 * Afternet uses the name "Authserv" without the nickname reservation
89 * features enabled. Some nets call it Nickserv and configure it to
90 * reserve nicks.
91 */
d76ed9a9 92 "nickserv" {
fbbc275b 93 "nick" "AuthServ"; // The bots nick on IRC
94
95 // If you want to have *@* as the default hostmask, set
96 // default_hostmask. I highly reccomend this, and its required
97 // for login-on-connect to work.
98 "default_hostmask" "1";
99
d76ed9a9 100 // do we warn users when someone new auths to their account?
fbbc275b 101 "warn_clone_auth" "1"; // -X3- warning: foobar has authed to your account
102
103 // default max number of logins allowed on new accounts. Users can set it
104 // to something different using authserv commands.
105 "default_maxlogins" "3";
106
107 // hard_maxlogins is the ammount the user cant override.
d76ed9a9 108 "hard_maxlogins" "10";
fbbc275b 109
d76ed9a9 110 // This names a file that contains easily guessed passwords.
111 // It always contains "password", "<password>" and the user's
112 // account name.
fbbc275b 113 // uncomment if you have a dict file.
114 //"dict_file" "/usr/share/dict/words";
115
d76ed9a9 116 // Minimum number of various types of characters permitted in
fbbc275b 117 // a password. Authserv will enforce these.
d76ed9a9 118 "password_min_length" "4";
fbbc275b 119 "password_min_digits" "0";
d76ed9a9 120 "password_min_upper" "0";
121 "password_min_lower" "0";
fbbc275b 122
d76ed9a9 123 // What should valid account and nicks look like?
124 // If valid_nick_regex is omitted, valid_account_regex is used
125 // for both nicks and accounts.
fbbc275b 126 // Be very carefull changing these. This default is
127 // basically limited to letters, numbers, dash and underscore.
128 "valid_account_regex" "^[-_a-z0-9A-Z]{2,15}$";
d76ed9a9 129 "valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";
130
bf93ca8d 131 // Whats a valid hostname look like for fakehosts?
132 "valid_fakehost_regex" "^[-_a-zA-Z0-9.]+$";
133
fbbc275b 134 // "Nickserv" networks, set this to 0. "Authserv" networks,
135 // set it to 1.
136 "disable_nicks" "1";
137 // One account may only own this many nicks.
138 "nicks_per_account" "4";
139
140 // Send a warning when someone uses a registered nick?
141 "warn_nick_owned" "0";
142
143 // What to do when someone uses the NickServ "reclaim" command?
144 // This can be one of "none", "warn", "svsnick", or "kill", but
7827220c 145 // stock ircu does not support svsnick -- you need nefarious.
fbbc275b 146 "reclaim_action" "none";
147
148 // What (else) to do when someone uses a registered nick?
149 // This can be anything "reclaim_action" can be, but it makes
150 // more sense to use the "warn_nick_owned" instead of "warn".
151 "auto_reclaim_action" "none";
152
153 // How long to wait before doing the auto_reclaim_action?
154 // This is ignored if "auto_reclaim_action" is "none".
155 "auto_reclaim_delay" "0";
d76ed9a9 156
157 // access control for who can change account flags
fbbc275b 158 // See /msg authserv help account flags
d76ed9a9 159 "flag_levels" {
fbbc275b 160 "g" "800"; // God mode
161 "lc_h" "800"; // support helper (lower case h)
162 "uc_H" "800"; // net helper (upper case H)
163 "S" "999"; // O3 access suspended
e42487a5 164 "b" "1"; // Bot (not sure what it does tho)
d76ed9a9 165 };
fbbc275b 166
d76ed9a9 167 // and for who can change epithets for staff
fbbc275b 168 // epithets show up in /whois as another line about the person.
d76ed9a9 169 "set_epithet_level" "800";
fbbc275b 170
d76ed9a9 171 // what opserv access level do you need to set somebody else's level?
172 "modoper_level" "850";
173
174 // how often should accounts be expired?
175 "account_expire_freq" "1d";
fbbc275b 176
d76ed9a9 177 // how long until an account with access to any channel(s) expires?
fbbc275b 178 "account_expire_delay" "900d";
179
d76ed9a9 180 // how long until an account with no access to any channels expires?
fbbc275b 181 "nochan_account_expire_delay" "365d";
182
d76ed9a9 183 // If somebody keeps guessing passwords incorrectly, do we gag them?
184 "autogag_enabled" "1";
185 "autogag_duration" "30m";
186 "auth_policer" {
187 "size" "5";
188 "drain-rate" "0.05";
189 };
fbbc275b 190
d76ed9a9 191 // How to integrate with email cookies?
fbbc275b 192 // In order to use mail, mail must be enabled and configured
193 // down below in the mail section of this config file.
194 "email_enabled" "1"; // Allow account verification and password reset by email.
195 "email_required" "1"; // if above is 1, require verification to authenticate.
196 "cookie_timeout" "2d"; // how long before we expire cookies?
197 "accounts_per_email" "1"; // How many people can use the same email account.
198
199 "email_search_level" "600"; // minimum OpServ level to search based on email address (search print email *foo*)
d76ed9a9 200 "email_visible_level" "800"; // minimum OpServ level to see somebody's email address
fbbc275b 201 "titlehost_suffix" "AfterNET.Org"; // 'USET title' sets a fake hostname of name.title.titlehost on a user.
202 "set_title_level" "900"; // Access to use 'uset title'.
203 "set_fakehost_level" "1000"; //Access to set a freeform fakehost. (uset fakehost)
04009ebf 204
7637f48f 205 // A list of denied words in the fakehosts
206 "denied_fakehost_words" ("sex",
207 "fuck",
208 "asshole");
209
fbbc275b 210 // This is a hacked in feature which exports every account change to a file sync.log. Afternet uses this and
211 // a bunch of custom PHP scripts to make our websites SQL user db the same as authserv, every 5 minutes.
212 // You have to be a pretty handy person with the shell commands and programming to make use of this..
213 "sync_log" "0"; // Log account changes to a file for syncing w/ a website?
338a82b5 214
215 // Nickserv 'style' setting affects .userlist and other outputs.
216 "default_style" "n"; // can be: n = normal, c = clean, or a = advanced.
d76ed9a9 217 };
218
fbbc275b 219 /*
220 * OpServ is the bot opers use to do glines, look at info etc.
221 * Afternet uses the nickname "O3" for this as its easier to type.
222 */
d76ed9a9 223 "opserv" {
fbbc275b 224 "nick" "O3";
d76ed9a9 225 // should use of this service be limited to global opers?
fbbc275b 226 "privileged" "1";
227
d76ed9a9 228 // fullname for service
fbbc275b 229 "description" "Oper Service Bot"; // (for /whois)
230
d76ed9a9 231 // hostname for service; only used if "description" is also set
fbbc275b 232 "hostname" "X3.AfterNET.Services"; // (for /whois)
233
234 // What channel should opserv send debug output to?
235 // I don't have any idea what debug info goes here. You can configure
236 // debugging logs in the log section to go to any channel.
237 // Probably safest to set to your oper channel.
238 "debug_channel" "#TheOps"; // Bot will join this channel, also.
239 "debug_channel_modes" "+tnOS"; // Modes get set every time X3 starts up
240
d76ed9a9 241 // where to send general alerts (e.g. flood alerts)?
fbbc275b 242 "alert_channel" "#TheOps"; // Bot will join this channel, also.
243 "alert_channel_modes" "+"; // Modes get set every time X3 starts up
244
d76ed9a9 245 // who to tell about staff auths?
fbbc275b 246 "staff_auth_channel" "#OperServ"; // Bot will join this channel, also.
247 "staff_auth_channel_modes" "+tnOs"; // modes get set every time X3 starts up
248
7637f48f 249 // which channels should all services autojoin?
250 "autojoin_channels" ("#TheOps", "#OperServ");
251
d76ed9a9 252 // how many clones to allow from an untrusted host?
fbbc275b 253 // Use this carefully, users with half the # of clones will trigger this
254 // when a server pings out and they reconnect before the old connection is noticed
255 // to be dead by the server.. so set it at about twice the # you want to allow to
256 // avoid false positives.
257 "untrusted_max" "6"; // 3 connections and 3 ghosts, 7th connection causes a gline.
258
d76ed9a9 259 // how long of a g-line should be issued if the max hosts is exceeded?
fbbc275b 260 "clone_gline_duration" "2h"; // durations are smhdmy
261
262 // how long to g-line for ?block (or, by default, for trace gline)?
263 "block_gline_duration" "12h";
264
d914d1cb 265 // how long to shun for ?sblock (or, by default, for trace shun)?
266 "block_shun_duration" "12h";
267
fbbc275b 268 // When a user joins an illegal channel, O3 joins it and locks it down.
d76ed9a9 269 // how long to keep an illegal channel locked down (seconds)?
270 "purge_lock_delay" "60";
fbbc275b 271
08895577 272 // ------------------------------------------------------------------
273 // Defcon Settings
274 //
275 // No new channel registrations 1
276 // No New Nick Registrations 2
277 // No Channel Mode changes 4
278 // Force Chan Mode 8
279 // Use Reduced Session Limit 16
280 // KILL any new clients trying to connect 32
281 // Services will ignore everyone but opers 64
282 // Services will silently ignore everyone but opers 128
283 // GLINE all new clients trying to connect 256
284 // No new memos sent to block MemoServ attacks 512
0272358e 285 // SHUN all new clients trying to connect 1024
08895577 286 //
287 // These are the values are added together to determine each defcon setting:
288 "DefCon1" "415";
289 "DefCon2" "159";
290 "DefCon3" "31";
291 "DefCon4" "23";
292
293 // Default defcon level, 5 is running all normally
294 "DefConLevel" "5";
295
296 // If defcon is limiting sessions then how many sessions should O3 allow?
297 "DefConSessionLimit" "2";
298
0272358e 299 // Length of glines and shuns set on newly connecting clients, if defcon is glining
300 // or shunning newly connecting clients
08895577 301 "DefConGlineExpire" "5m";
302
303 // Mode to set on all channels if defcon is forcing channel modes on all channels
304 "DefConChanModes" "+r";
305
306 // If not set to 0, defcon will set back to level 5 after this time
307 "DefConTimeOut" "15m";
308
08895577 309 // Set to 1 to send a notice to all users when defcon levels are changed
310 "GlobalOnDefcon" "0";
311
312 // If set to 1 along with the notice that the levels are changing an extra
313 // notice will be sent
314 "GlobalOnDefconMore" "0";
315
316 // GlobalOnDefconMore notice.
317 "DefconMessage" "Put your message to send your users here. Dont forget to uncomment GlobalOnDefconMore";
318
319 // This notice will be used if GlobalOnDefcon and GlobalOnDefconMore are off
320 "DefConOffMessage" "Services are now back to normal, sorry for any inconvenience";
321
0272358e 322 // Reason placed in defcon Glines and Shuns.
08895577 323 "DefConGlineReason" "This network is currently not accepting connections, please try again later";
324
325 // ------------------------------------------------------------------
326
21f6caee 327 // To use geoip support in Opserv WHOIS then you will need to install
328 // the c GeoIP api. Its available on http://www.maxmind.com, also on
329 // apt on debian and ubuntu. The dat files can also be obtained
330 // from the earlier URL. Place them in your X3 dir and away you go.
331 // X3 will need a recompile once you install the c api. If there is a
332 // GeoIP City Data file then the GeoIP data file will be ignored. However
333 // bear in mind that the city data file is a lot larger than the plain
01a5e8c8 334 // country data file so does take a bit longer to query. If you are
335 // expieriencing ping timeouts you may need to tweak X3's I:line.
21f6caee 336 "geoip_data_file" "./GeoIP.dat";
337 "geoip_city_data_file" "";
338
fbbc275b 339 // The join-flood policer code goes off all the time when a server
340 // goes down (and everyone reconnects) so i don't reccomend using it.
341 // Automatically moderate join flooded channels?
342 "join_flood_moderate" "0";
343 // channel join flood policer params?
344 "join_policer" {
345 "size" "20";
346 "drain-rate" "1";
347 };
348 // Don't moderate and warn channels unless there are more than
349 // join_flood_moderate_threshold users in the channel. the
350 // value 0 will disable the threshold.
351 "join_flood_moderate_threshold" "50";
352 // new user flood policer params
353 "new_user_policer" {
354 "size" "200";
355 "drain-rate" "3";
356 };
1c5f6697 357 // Min opserv level needed to set 'silent' glines in trace/addalert
358 // (nefarious only)
359 "silent_level" "700";
d76ed9a9 360 };
361
362 "chanserv" {
fbbc275b 363 "nick" "X3";
db4e7826 364
d9d33535 365 // The umodes - add +d if you use nefarious 1.0 and you added 'b:lines'
366 // to pass cmdchar through to chanserv anyway.
367 "modes" "+iok";
368
db4e7826 369 // The off_channel setting takes one of three numerical values:
370 // 0 = off
371 // 1 = use a registered channel mode, have services op themselves
372 // 2 = all of the above, and a channel setting to have ChanServ not
373 // idle in the channel
374 // NOTE: +z mode, needed for this to work, is inharently flawed and
375 // will cause desynch, so don't use it IMO -Rubin.
fbbc275b 376 "off_channel" "no";
377
378 // Infolines are sent when channel users join the channel. Users set them with USET INFO in X3.
d76ed9a9 379 // how long should a person be unseen before resending infoline?
380 "info_delay" "120";
fbbc275b 381
382 // Greetings can be configured by the channel manager(s) and sent to users who join the channel.
383 // Many people (rightly) find this annoying, so keep them short.
d76ed9a9 384 // maximum greeting length
fbbc275b 385 "max_greetlen" "120";
386
d76ed9a9 387 // maximum users in a channel userlist
388 "max_chan_users" "512";
389 // maximum bans on a channel banlist
390 "max_chan_bans" "512";
391 // maximum length of a user's infoline
fbbc275b 392 "max_userinfo_length" "400"; // for god sake lower this. 80 seems good.
393
394 // If SET DynLimit is on and there are N users in the channel, ChanServ will
395 // try to keep the limit at N+<adjust_threshold>. This makes the channel
396 // somewhat protected from clone attacks.
397 "adjust_threshold" "5";
d76ed9a9 398 // .. but ChanServ will only increment or decrement the limit this often.
fbbc275b 399 "adjust_delay" "30"; // (seconds)
400
31f23f13 401 // How often to look for expired bans?
402 "ban_timeout_freq" "2m";
403
d76ed9a9 404 // How often to look for channels that have expired?
fbbc275b 405 "chan_expire_freq" "1d";
406
d76ed9a9 407 // How long is a channel unvisited (by masters or above) before it can be expired?
408 "chan_expire_delay" "30d";
fbbc275b 409
d76ed9a9 410 // what !set options should we show when user calls "!set" with no arguments?
fbbc275b 411 "set_shows" ("DefaultTopic", "TopicMask", "Greeting", "UserGreeting", "Modes", "PubCmd", "InviteMe", "UserInfo", "EnfOps", "EnfModes", "EnfTopic", "TopicSnarf", "Setters", "CtcpReaction", "Voice", "Protect", "Toys", "DynLimit", "NoDelete");
412
d76ed9a9 413 // A list of !8ball responses
240a3274 414 "8ball" (
415 "Are you out of your MIND?",
416 "It won't happen, not a chance, definitely no.",
417 "Outlook seems bleak.",
418 "My sources say no.",
419 "You bet!",
420 "It is decidedly so.",
421 "It's hard to be sure.",
422 "Most definitely.",
423 "In your dreams...",
424 "If the prophets wish it...",
425 "Forecast hazy, try again later.",
426 "I don't know!",
d76ed9a9 427 "Absolutely!",
240a3274 428 "Never.",
429 "Yes.",
430 "No.",
431 "Maybe.");
fbbc275b 432
d76ed9a9 433 // channel(s) that support helpers must be in to be helping
434 // if this is a list, any one by itself will do
fbbc275b 435 "support_channel" ("#Operations", "#Help");
436
437 // maximum number of channels a user may have. ( FORCE can override )
438 "max_owned" "2";
439
7637f48f 440 // how long between automatic topic and userlist refreshes with TopicRefresh/Resync
441 "refresh_period" "10h";
fbbc275b 442
d76ed9a9 443 // what should !access say for various staff?
fbbc275b 444 "irc_operator_epithet" "AfterNET IRC Operator";
445 "network_helper_epithet" "AfterNET Network Helper";
446 "support_helper_epithet" "AfterNET Support Helper";
447
d76ed9a9 448 // what should a newly registered channel get as its modes?
449 "default_modes" "+nt";
fbbc275b 450
451 // minimum opserv access to set, clear or override channel nodelete setting?
d76ed9a9 452 "nodelete_level" "1";
7637f48f 453
454 // when does god mode time out?
455 "god_timeout" "30m";
d76ed9a9 456 };
457
fbbc275b 458 /* Global is a service bot that can send out network-wide messages for you. I
459 * like to set ours' nick to 'AfterNET', but some people use 'Global'
460 */
d76ed9a9 461 "global" {
462 "nick" "Global";
463 // should users get community announcements by default or not?
fbbc275b 464 // community announcements are a type of global that users may
465 // opt into (or out of, depending on this setting)
d76ed9a9 466 "announcements_default" "on";
467 };
63c95a47 468
469
470 "spamserv" {
e3e5ba49 471 // You may enable this service by removing the double slashes from the config
472 // item. To disable it again add the double slashes back.
473 // "nick" "SpamServ";
63c95a47 474
475 // debug channel
476 "debug_channel" "#operserv";
477
478 // url of the network rules. if you don't have network rules, remove this key.
479 "network_rules" "http://www.afternet.org/aup";
480
481 // trigger for spamserv; remove this key to disable the trigger
482 "trigger" "%";
483
484 // ban duration of a short timedban.
485 "short_ban_duration" "15m";
486
487 // ban duration of a long timedban.
488 "long_ban_duration" "1h";
489
490 // duration of a gline. SpamServ will issue it after several violations and a kill.
491 "gline_duration" "1h";
492
493 // users may add "exception_max" exceptions to the list. IRCOps can override "exception_max".
494 "exception_max" "10";
495
496 // minimum & maximum length of an exception.
497 "exception_min_len" "4";
498 "exception_max_len" "12";
499
500 // users may add "badword_max" badwords to the list. IRCOps can override badword_max".
501 "badword_max" "10";
502
503 // minimum & maximum length of an badword.
504 "badword_min_len" "4";
505 "badword_max_len" "12";
506
507 // if someone advertises a channel, which doesn't exist (channel is empty, no users),
508 // SpamServ doesn't punish the user.
509 // enable this setting, if SpamServ has to ignore advertisements of channels, which do not exist.
510 // disable this setting, if SpamServ has to punish the users whenever they advertise.
511 "adv_chan_must_exist" "1";
512
513 // remove all mirc codes from messages before checking for advertisements.
514 // if this setting is disabled and someone spams a url which
515 // contains a bold char, SpamServ doesn't punish him.
516 "strip_mirc_codes" "1";
517
518 // enable this, if SpamServ has to "follow" ChanServ, when a channel moves or merges.
519 // disable it, if it shouldn't be possible to move or merge SpamServ with /msg chanserv move|merge.
520 "allow_move_merge" "1";
521 };
d76ed9a9 522};
523
fbbc275b 524/* MODULES (optional components) *************************************************
525 * These must be explicitly compiled in (see ./configure --help)
526 * When enabled, they are configured here..
527 */
d76ed9a9 528"modules" {
fbbc275b 529 /* Helpserv is a help-queue tracker module for your #support channels, if
530 * they are busy. It issues users tickets, and tracks the next available helper.
531 */
d76ed9a9 532 "helpserv" {
533 // The description/fullname field
fbbc275b 534 "description" "Help Queue Manager"; // (for whois)
535
d76ed9a9 536 // HelpServ bots log all of their requests to this file, with
537 // details on when they were opened, closed, their contents,
538 // helper, etc. The file is written in saxdb format for easy
539 // parsing by external programs. Please note that you cannot
fbbc275b 540 // use ?set to change this value while x3 is running.
d76ed9a9 541 "reqlogfile" "helpservreq.log";
fbbc275b 542
d76ed9a9 543 // How long should a helpserv be inactive (no requests assigned)
544 // before it can be unregistered by the expire command?
545 "expiration" "60d";
546 };
fbbc275b 547 /* SockCheck reads sockcheck.conf and can do configurable scans
548 * to probe for open relays in an attempt to stop drones from using
549 * the network. DO NOT enable this unless you have permission from
550 * your ISP.. the probes will show up as attacks on everyones firewalls
551 * and you will get a lot of complaints.
552 */
d76ed9a9 553 "sockcheck" {
fbbc275b 554 // disabling this hopefully
555 "max_sockets" "0"; // 64 is a good # of concurrent clients to be checked
d76ed9a9 556 "max_read" "1024"; // don't read more than 1024 bytes from any client
fbbc275b 557 "gline_duration" "1d"; // issue G-lines lasting one hour
d76ed9a9 558 "max_cache_age" "60"; // only cache results for 60 seconds
fbbc275b 559 "address" "192.168.1.10"; // do proxy tests from this address
d76ed9a9 560 };
fbbc275b 561 /* Snoop sends connect, quit, join, and part messages for every user
562 * on the network, and helps in finding drones. Put it somewhere secure
563 * so your users privacy is honored.
564 */
d76ed9a9 565 "snoop" {
566 // Where to send snoop messages?
fbbc275b 567 "channel" "#MrSnoopy";
568 // Which bot?
569 "bot" "O3";
d76ed9a9 570 // Show new users and joins from net joins? (off by default)
571 "show_bursts" "0";
572 };
ec311f39 573 /* Track works just like Snoop except it only sends events for users
574 * who have been specified
575 */
576 "track" {
577 // What to track by default?
578 "snomask" "nick,join,part,kick,new,del,auth,chanmode,umode";
579 // Where to send snoop messages?
580 "channel" "#MrPeanuts";
581 // Which bot?
582 "bot" "O3";
583 // Show new users and joins from net joins? (off by default)
584 "show_bursts" "0";
585 };
fbbc275b 586 /* Memoserv lets users send messages to other users accounts.
587 */
d76ed9a9 588 "memoserv" {
fbbc275b 589 "bot" "MemoServ";
d76ed9a9 590 "message_expiry" "30d"; // age when messages are deleted; set
591 // to 0 to disable message expiration
acb6d53d 592 "limit" "30"; // Max amount of messages a person can get.
d76ed9a9 593 };
594};
595
596"policers" {
597 "commands-luser" {
598 "size" "5";
599 "drain-rate" "0.5";
600 };
601};
602
603"rlimits" {
604 "data" "50M";
605 "stack" "6M";
606 "vmem" "100M";
607};
608
fbbc275b 609/* MAIL (if and how X3 sends mail ) *********************************
610 * Mainly Authserv/Nickserv send mail, See the Nickserv
611 * section for additional mail settings also.
612 */
d76ed9a9 613"mail" {
fbbc275b 614 "enable" "1";
d76ed9a9 615 "mailer" "/usr/sbin/sendmail";
fbbc275b 616 // OR Afternet uses a custom script to keep the services IP hidden:
617 // "mailer" "/home/x3user/x3/sendmail.sh";
618 "from_address" "supportrobot@afternet.org";
619 "extra_headers" ("AfterNET-Services: x3");
620 "body_prefix_first" ("Welcome to AfterNET, looks like this is your first email from us.");
621 "body_prefix" ("AfterNET Support - User and Channel registration system");
622 "body_suffix_first" ("", "AfterNET IRC Network", "http://www.afternet.org");
623 "body_suffix" ("", "AfterNET IRC Network", "http://www.afternet.org", "support@afternet.org","irc://irc.afternet.org/afternet");
d76ed9a9 624};
625
fbbc275b 626/* DBS (Databases) *************************************************
627 * let you configure what databases go in what files.
628 *
629 * This default sets up everything in one big x3.db file.
630 *
631 * If you leave this section out, each database will be in its own file,
632 * and they will be written out every half hour.
633 */
d76ed9a9 634"dbs" {
635 // This just illustrates how you can jam every database into one huge ("mondo") file.
636 "ChanServ" { "mondo_section" "ChanServ"; };
637 "gline" { "mondo_section" "gline"; };
d914d1cb 638 "shun" { "mondo_section" "shun"; };
d76ed9a9 639 "Global" { "mondo_section" "Global"; };
640 "HelpServ" { "mondo_section" "HelpServ"; };
641 "modcmd" { "mondo_section" "modcmd"; };
642 "NickServ" { "mondo_section" "NickServ"; };
643 "OpServ" { "mondo_section" "OpServ"; };
644 "sendmail" { "mondo_section" "sendmail"; };
63c95a47 645 "SpamServ" { "mondo_section" "SpamServ"; };
d76ed9a9 646
647 // These are the options if you want a database to be in its own file.
648 "mondo" {
649 // Where to put it?
ceafd592 650 "filename" "x3.db";
d76ed9a9 651 // How often should it be saved?
652 // (You can disable automatic saves by setting this to 0.)
653 "frequency" "30m";
654 };
655};
656
fbbc275b 657/* LOGS (If and how X3 logs data ) ***********************************
658 * LOGS sets up where X3 logs various kinds of info to.
659 */
d76ed9a9 660"logs" {
661 // Two kinds of items exist in this section.
662
663 // One is a facility configuration subsection. These have the
664 // name of a log facility (one of "ChanServ", "Global",
ceafd592 665 // "HelpServ", "NickServ", "OpServ", "ProxyCheck", or "x3") and
666 // the value is a subsection. The "x3" log facility is a
d76ed9a9 667 // catch-all/fall-back facility.
ceafd592 668 "x3" {
d76ed9a9 669 // The "max_age" option says how long to keep log audit entries.
fbbc275b 670 "max_age" "10h";
d76ed9a9 671 // The "max_count" option says how many log audit entries to keep.
672 "max_count" "1024";
673 // Audit (command tracking) entries are discarded if they exceed
674 // either limit: for example, if entry 500 is 10 minutes old, it
675 // will be discarded next time any audit command is logged.
676 };
677
678 // The other kind of item is a target list. The name of each is a
679 // description of facility-and-severity combinations, and the value
680 // is a string (or list of strings) that describe where matching
681 // events should be logged. As a special case, the facility * will
682 // specify how to log events regardless of their true facility, and
683 // the severity * will match all severities for a facility.
684 // Log targets use a psuedo-URI syntax: one of "file:filename",
685 // "std:[out|err|n]" where n is a valid file descriptor, or
686 // "irc:#channel" (nicknames or server masks can be used instead
687 // of channel names, but should be used with care).
688 // The severity is one of "replay", "debug", "command", "info",
689 // "override", "staff", "warning", "error", or "fatal".
690 // WARNING: If any severity except "replay" for a facility is left
691 // unspecified, it will use the default target (for example,
692 // "file:chanserv.log"). For "replay" severity, you must ALWAYS
693 // list a target to log it -- this is because it is very rarely
694 // useful.
695 "*.*" ("std:out", "file:everything.log"); // does NOT suppress any defaults
fbbc275b 696 "*.override,error,fatal" "irc:#TheOps"; // report all uses of staff commands
697 "*.staff" "irc:#MrSnoopy"; // report all uses of staff commands
d76ed9a9 698 "ChanServ.*" "file:chanserv.log"; // duplicates the default behavior
699 "ProxyCheck.*" (); // stop it from logging anything
700};