1 |
/* This is an example configuration for Ermyth. |
2 |
* |
3 |
* All statements end in semi-colons (';'). |
4 |
* Shell style, C style, and C++ style comments may be used. |
5 |
* |
6 |
* Items marked with "(*)" are reconfigurable at runtime via REHASH. |
7 |
*/ |
8 |
|
9 |
/* |
10 |
* These are the modules included with the core distribution of Ermyth 3. |
11 |
* You may be interested in the Ermyth community modules distribution as |
12 |
* well, which adds additional features that may or may not be compatible |
13 |
* with the project paradigms intended for maintainance of the Ermyth core. |
14 |
* |
15 |
* Visit the Ermyth website for more information and to download them. |
16 |
*/ |
17 |
|
18 |
/* Protocol handler. |
19 |
* |
20 |
* Please select a protocol handler. Different servers use different protocols. |
21 |
* Below is a listing of ircd's known to work with the various protocol handlers |
22 |
* available. |
23 |
* |
24 |
* Asuka 1.2.1 or later asuka |
25 |
* Bahamut 1.8.x bahamut |
26 |
* Beware IRCd (bircd) bircd |
27 |
* Charybdis IRCd charybdis |
28 |
* dancer-ircd/hyperion hyperion |
29 |
* DreamForge 4.6.7 or later dreamforge |
30 |
* Hybrid 7.1.2 and later hybrid |
31 |
* ircd-ratbox 2.0 and later ratbox |
32 |
* IRCNet ircd (ircd 2.11) ircnet |
33 |
* ircu 2.10.11.07 or later undernet |
34 |
* IRCXPRO 1.2/OfficeIRC officeirc |
35 |
* InspIRCd 1.1b1 or later inspircd11 |
36 |
* InspIRCd 1.2 [experimental] inspircd12 |
37 |
* Nefarious IRCu 0.4.0 or later nefarious |
38 |
* PleXusIRCd 3.x plexus |
39 |
* PTlink IRCd ptlink |
40 |
* ShadowIRCd 3.3/3.6 family shadowircd |
41 |
* sorircd 1.3.1 or later sorcery |
42 |
* UltimateIRCd 3.0 or later ultimate3 |
43 |
* UnrealIRCd 3.1/3.2 unreal |
44 |
* |
45 |
* If your IRCd vendor has supplied a module file, build it and load it here |
46 |
* instead of one above. |
47 |
*/ |
48 |
protocol "inspircd11"; |
49 |
|
50 |
/* Database backend. |
51 |
* |
52 |
* Please select a database backend. Different backends allow for |
53 |
* different ways in which the services data can be manipulated. YOU MAY |
54 |
* ONLY HAVE ONE OF THESE BACKENDS LOADED. |
55 |
* |
56 |
* The following backends are available: |
57 |
* |
58 |
* Ermyth 0.1 flatfile database format flatfile |
59 |
* |
60 |
* Most networks will want flatfile. |
61 |
*/ |
62 |
backend "flatfile"; |
63 |
|
64 |
/* Crypto handler. |
65 |
* |
66 |
* If you would like encryption for your services passwords, please |
67 |
* select a handler here. Note that upon starting with a crypto handler |
68 |
* YOUR PASSWORDS ARE IMMEDIATELY AND IRREVERSIBLY CONVERTED. Make at |
69 |
* least TWO backups of your database before experimenting with this. |
70 |
* If you have several thousand accounts, this conversion may take |
71 |
* appreciable time. |
72 |
* |
73 |
* The following crypto handlers are available: |
74 |
* |
75 |
* POSIX-style crypt(3) posix |
76 |
* IRCServices (also Anope etc) compatibility ircservices |
77 |
* SorceryNet services compatibility sorservices |
78 |
* |
79 |
* The ircservices and sorservices handlers are only recommended for use with |
80 |
* a database converted from other services with password encryption. |
81 |
*/ |
82 |
crypto "posix"; |
83 |
|
84 |
/* NickServ modules. |
85 |
* |
86 |
* Here you can disable or enable certain features of NickServ, by |
87 |
* defining which modules are loaded. You can even disable NickServ |
88 |
* entirely. Please note however, that an authentication service |
89 |
* (either NickServ, or UserServ) are required for proper functionality. |
90 |
* |
91 |
* Core components nickserv/main |
92 |
* Nickname access lists nickserv/access |
93 |
* DROP command nickserv/drop |
94 |
* GHOST command nickserv/ghost |
95 |
* GROUP and UNGROUP commands nickserv/group |
96 |
* HELP command nickserv/help |
97 |
* Nickname expiry override (HOLD command) nickserv/hold |
98 |
* IDENTIFY command nickserv/identify |
99 |
* INFO command nickserv/info |
100 |
* LIST command nickserv/list |
101 |
* LISTMAIL command nickserv/listmail |
102 |
* LOGIN command (for no_nick_ownership) nickserv/login |
103 |
* LOGOUT command nickserv/logout |
104 |
* MARK command nickserv/mark |
105 |
* FREEZE command nickserv/freeze |
106 |
* LISTCHANS command nickserv/listchans |
107 |
* REGISTER command nickserv/register |
108 |
* Password reset (RESETPASS command) nickserv/resetpass |
109 |
* Password return (RETURN command) nickserv/return |
110 |
* Password retrieval (SENDPASS command) nickserv/sendpass |
111 |
* SET command nickserv/set |
112 |
* Password retrieval uses code (SETPASS cmd) nickserv/setpass |
113 |
* Presence notifications (SUBSCRIBE command) nickserv/subscribe |
114 |
* Nickname enforcement nickserv/enforce |
115 |
* STATUS command nickserv/status |
116 |
* Nickname metadata viewer (TAXONOMY command) nickserv/taxonomy |
117 |
* VERIFY command nickserv/verify |
118 |
* VHOST command nickserv/vhost |
119 |
*/ |
120 |
loadmodule "nickserv/main"; |
121 |
#loadmodule "nickserv/access"; |
122 |
loadmodule "nickserv/drop"; |
123 |
loadmodule "nickserv/ghost"; |
124 |
loadmodule "nickserv/group"; |
125 |
loadmodule "nickserv/help"; |
126 |
loadmodule "nickserv/hold"; |
127 |
loadmodule "nickserv/identify"; |
128 |
loadmodule "nickserv/info"; |
129 |
loadmodule "nickserv/list"; |
130 |
loadmodule "nickserv/listmail"; |
131 |
#loadmodule "nickserv/login"; |
132 |
loadmodule "nickserv/logout"; |
133 |
loadmodule "nickserv/mark"; |
134 |
loadmodule "nickserv/freeze"; |
135 |
loadmodule "nickserv/listchans"; |
136 |
loadmodule "nickserv/register"; |
137 |
loadmodule "nickserv/resetpass"; |
138 |
loadmodule "nickserv/return"; |
139 |
loadmodule "nickserv/sendpass"; |
140 |
loadmodule "nickserv/set"; |
141 |
loadmodule "nickserv/setpass"; |
142 |
loadmodule "nickserv/subscribe"; |
143 |
#loadmodule "nickserv/enforce"; |
144 |
loadmodule "nickserv/status"; |
145 |
loadmodule "nickserv/taxonomy"; |
146 |
loadmodule "nickserv/verify"; |
147 |
loadmodule "nickserv/vhost"; |
148 |
|
149 |
/* ChanServ modules. |
150 |
* |
151 |
* Here you can disable or enable certain features of ChanServ, by |
152 |
* defining which modules are loaded. You can even disable ChanServ |
153 |
* entirely. Please note that ChanServ requires an authentication |
154 |
* service, either NickServ or UserServ will do. |
155 |
* |
156 |
* Core components chanserv/main |
157 |
* AKICK command chanserv/akick |
158 |
* BAN/UNBAN commands chanserv/ban |
159 |
* UNBAN self only (load ban or this not both) chanserv/unban_self |
160 |
* CLOSE command chanserv/close |
161 |
* CLEAR command chanserv/clear |
162 |
* CLEAR BANS command chanserv/clear_bans |
163 |
* CLEAR USERS command chanserv/clear_users |
164 |
* COUNT command chanserv/count |
165 |
* DROP command chanserv/drop |
166 |
* Forced flags changes chanserv/fflags |
167 |
* FLAGS command chanserv/flags |
168 |
* Forced foundership transfers chanserv/ftransfer |
169 |
* GETKEY command chanserv/getkey |
170 |
* HALFOP/DEHALFOP commands chanserv/halfop |
171 |
* HELP command chanserv/help |
172 |
* Channel expiry override (HOLD command) chanserv/hold |
173 |
* INFO command chanserv/info |
174 |
* INVITE command chanserv/invite |
175 |
* KICK/KICKBAN commands chanserv/kick |
176 |
* LIST command chanserv/list |
177 |
* MARK command chanserv/mark |
178 |
* OP/DEOP commands chanserv/op |
179 |
* QUIET command (+q support) chanserv/quiet |
180 |
* Channel takeover recovery (RECOVER command) chanserv/recover |
181 |
* REGISTER command chanserv/register |
182 |
* SET command chanserv/set |
183 |
* STATUS command chanserv/status |
184 |
* Channel metadata viewer (TAXONOMY command) chanserv/taxonomy |
185 |
* TEMPLATE command chanserv/template |
186 |
* TOPIC/TOPICAPPEND commands chanserv/topic |
187 |
* VOICE/DEVOICE commands chanserv/voice |
188 |
* WHY command chanserv/why |
189 |
* VOP/HOP/AOP/SOP commands chanserv/xop |
190 |
* This module provides emulation of the ircservices XOP scheme ONLY. |
191 |
* Do not report discrepencies when using native commands to edit channel |
192 |
* ACLs. This is intentional. |
193 |
*/ |
194 |
loadmodule "chanserv/main"; |
195 |
loadmodule "chanserv/akick"; |
196 |
loadmodule "chanserv/ban"; |
197 |
#loadmodule "chanserv/unban_self"; |
198 |
loadmodule "chanserv/close"; |
199 |
loadmodule "chanserv/clear"; |
200 |
loadmodule "chanserv/clear_bans"; |
201 |
loadmodule "chanserv/clear_users"; |
202 |
loadmodule "chanserv/count"; |
203 |
loadmodule "chanserv/drop"; |
204 |
#loadmodule "chanserv/fflags"; |
205 |
loadmodule "chanserv/flags"; |
206 |
loadmodule "chanserv/ftransfer"; |
207 |
loadmodule "chanserv/getkey"; |
208 |
loadmodule "chanserv/halfop"; |
209 |
loadmodule "chanserv/help"; |
210 |
loadmodule "chanserv/hold"; |
211 |
loadmodule "chanserv/info"; |
212 |
loadmodule "chanserv/invite"; |
213 |
loadmodule "chanserv/kick"; |
214 |
loadmodule "chanserv/list"; |
215 |
loadmodule "chanserv/mark"; |
216 |
loadmodule "chanserv/op"; |
217 |
#loadmodule "chanserv/quiet"; |
218 |
loadmodule "chanserv/recover"; |
219 |
loadmodule "chanserv/register"; |
220 |
loadmodule "chanserv/set"; |
221 |
loadmodule "chanserv/status"; |
222 |
loadmodule "chanserv/taxonomy"; |
223 |
loadmodule "chanserv/template"; |
224 |
loadmodule "chanserv/topic"; |
225 |
loadmodule "chanserv/voice"; |
226 |
loadmodule "chanserv/why"; |
227 |
#loadmodule "chanserv/xop"; |
228 |
|
229 |
/* OperServ modules. |
230 |
* |
231 |
* Here you can disable or enable certain features of OperServ, by |
232 |
* defining which modules are loaded. |
233 |
* |
234 |
* Core components operserv/main |
235 |
* AKILL system operserv/akill |
236 |
* CLEARCHAN command operserv/clearchan |
237 |
* CLONES system operserv/clones |
238 |
* COMPARE command operserv/compare |
239 |
* HELP command operserv/help |
240 |
* IGNORE system operserv/ignore |
241 |
* INJECT command operserv/inject |
242 |
* JUPE command operserv/jupe |
243 |
* MODE command operserv/mode |
244 |
* MODINSPECT command operserv/modinspect |
245 |
* MODLIST command operserv/modlist |
246 |
* MODLOAD command operserv/modload |
247 |
* MODUNLOAD command operserv/modunload |
248 |
* NOOP system operserv/noop |
249 |
* Regex mass akill (RAKILL command) operserv/rakill |
250 |
* RAW command operserv/raw |
251 |
* REHASH command operserv/rehash |
252 |
* RESTART command operserv/restart |
253 |
* Display regex matching (RMATCH command) operserv/rmatch |
254 |
* Most common realnames (RNC command) operserv/rnc |
255 |
* RWATCH system operserv/rwatch |
256 |
* SHUTDOWN command operserv/shutdown |
257 |
* Non-config oper privileges (SOPER command) operserv/soper |
258 |
* Oper privilege display (SPECS command) operserv/specs |
259 |
* UPDATE command operserv/update |
260 |
* UPTIME command operserv/uptime |
261 |
*/ |
262 |
loadmodule "operserv/main"; |
263 |
loadmodule "operserv/akill"; |
264 |
loadmodule "operserv/clearchan"; |
265 |
loadmodule "operserv/clones"; |
266 |
loadmodule "operserv/compare"; |
267 |
loadmodule "operserv/help"; |
268 |
loadmodule "operserv/ignore"; |
269 |
#loadmodule "operserv/inject"; |
270 |
loadmodule "operserv/jupe"; |
271 |
loadmodule "operserv/mode"; |
272 |
loadmodule "operserv/modinspect"; |
273 |
loadmodule "operserv/modlist"; |
274 |
loadmodule "operserv/modload"; |
275 |
loadmodule "operserv/modunload"; |
276 |
loadmodule "operserv/noop"; |
277 |
loadmodule "operserv/rakill"; |
278 |
#loadmodule "operserv/raw"; |
279 |
loadmodule "operserv/rehash"; |
280 |
loadmodule "operserv/restart"; |
281 |
loadmodule "operserv/rmatch"; |
282 |
loadmodule "operserv/rnc"; |
283 |
loadmodule "operserv/rwatch"; |
284 |
loadmodule "operserv/shutdown"; |
285 |
loadmodule "operserv/soper"; |
286 |
loadmodule "operserv/specs"; |
287 |
loadmodule "operserv/update"; |
288 |
loadmodule "operserv/uptime"; |
289 |
|
290 |
/* MemoServ modules. |
291 |
* |
292 |
* Here you can disable or enable certain features of MemoServ, by |
293 |
* defining which modules are loaded. You can even disable MemoServ |
294 |
* entirely. |
295 |
* |
296 |
* Core components memoserv/main |
297 |
* HELP command memoserv/help |
298 |
* SEND command memoserv/send |
299 |
* Channel memos (SENDOPS command) memoserv/sendops |
300 |
* LIST command memoserv/list |
301 |
* READ command memoserv/read |
302 |
* FORWARD command memoserv/forward |
303 |
* DELETE command memoserv/delete |
304 |
* IGNORE command memoserv/ignore |
305 |
*/ |
306 |
loadmodule "memoserv/main"; |
307 |
loadmodule "memoserv/help"; |
308 |
loadmodule "memoserv/send"; |
309 |
loadmodule "memoserv/sendops"; |
310 |
loadmodule "memoserv/list"; |
311 |
loadmodule "memoserv/read"; |
312 |
loadmodule "memoserv/forward"; |
313 |
loadmodule "memoserv/delete"; |
314 |
loadmodule "memoserv/ignore"; |
315 |
|
316 |
/* Global module. |
317 |
* |
318 |
* Like the other services, the Global noticer is a module. You can |
319 |
* disable or enable it to your liking below. Please note that the |
320 |
* Global noticer is dependent on OperServ for full functionality. |
321 |
*/ |
322 |
loadmodule "global/main"; |
323 |
|
324 |
/* SASL agent module. |
325 |
* |
326 |
* Allows clients to authenticate to services via SASL with an appropriate |
327 |
* ircd. You need the core components and at least one mechanism. |
328 |
* |
329 |
* Core components saslserv/main |
330 |
* PLAIN mechanism saslserv/plain |
331 |
* DH-BLOWFISH mechanism saslserv/dh-blowfish |
332 |
*/ |
333 |
#loadmodule "saslserv/main"; |
334 |
#loadmodule "saslserv/plain"; |
335 |
#loadmodule "saslserv/dh-blowfish"; /* requires SSL */ |
336 |
|
337 |
/* Miscellaneous modules. |
338 |
* |
339 |
* These are fully accepted user contributions and modules that don't fit |
340 |
* into a service. Modules in misc can generally be considered stable. |
341 |
* |
342 |
* Perl interface misc/svsperl |
343 |
*/ |
344 |
#loadmodule "misc/svsperl"; |
345 |
|
346 |
/* GameServ modules. |
347 |
* |
348 |
* Here you can disable or enable certain features of GameServ, by |
349 |
* defining which modules are loaded. You can even disable GameServ |
350 |
* entirely. |
351 |
* |
352 |
* Core components gameserv/main |
353 |
* DICE/WOD commands gameserv/dice |
354 |
* HELP commands gameserv/help |
355 |
* NAMEGEN command gameserv/namegen |
356 |
*/ |
357 |
loadmodule "gameserv/main"; |
358 |
loadmodule "gameserv/dice"; |
359 |
loadmodule "gameserv/help"; |
360 |
loadmodule "gameserv/namegen"; |
361 |
|
362 |
/* RPC modules. |
363 |
* |
364 |
* Ermyth includes an optional HTTP server that can be used for integration |
365 |
* with portal software and other useful things. To enable it, load this |
366 |
* module, and uncomment the httpd { } block towards the bottom of the config. |
367 |
* |
368 |
* The RPC handlers require rpc/http to be loaded as it merely registers a |
369 |
* path handler for RPC. The path used for XML-RPC is /xmlrpc. For JSON-RPC, |
370 |
* it registers /jsonrpc. |
371 |
* |
372 |
* XMLRPC handler for the httpd xmlrpc/main |
373 |
*/ |
374 |
loadmodule "rpc/httpd"; // Required |
375 |
loadmodule "rpc/xmlrpc"; |
376 |
#loadmodule "rpc/jsonrpc"; |
377 |
|
378 |
/* Other modules. |
379 |
* |
380 |
* Put any other modules you want to load on startup here. |
381 |
* A list of user contributions and non-core modules is given here. |
382 |
*/ |
383 |
#loadmodule "contrib/cs_kickdots"; |
384 |
#loadmodule "contrib/cs_ping"; |
385 |
#loadmodule "contrib/cs_sync"; |
386 |
#loadmodule "contrib/cs_userinfo"; |
387 |
#loadmodule "contrib/gen_echoserver"; |
388 |
#loadmodule "contrib/gen_listenerdemo"; |
389 |
#loadmodule "contrib/gen_regcheckemail"; |
390 |
#loadmodule "contrib/gen_vhostonreg"; |
391 |
#loadmodule "contrib/graphtastical"; |
392 |
#loadmodule "contrib/ircd_alis"; |
393 |
#loadmodule "contrib/ircd_catserv"; |
394 |
#loadmodule "contrib/ircd_nohalfops"; |
395 |
#loadmodule "contrib/ircd_noowner"; |
396 |
#loadmodule "contrib/ircd_noprotect"; |
397 |
#loadmodule "contrib/ns_fregister"; |
398 |
#loadmodule "contrib/ns_generatepass"; |
399 |
#loadmodule "contrib/ns_mxcheck"; |
400 |
#loadmodule "contrib/ns_ratelimitreg"; |
401 |
#loadmodule "contrib/os_logonnews"; |
402 |
#loadmodule "contrib/os_logstream"; |
403 |
#loadmodule "contrib/os_pingspam"; |
404 |
#loadmodule "contrib/os_tabletest"; |
405 |
#loadmodule "contrib/os_testcmd"; |
406 |
|
407 |
/* The serverinfo{ } block defines how we |
408 |
* appear on the IRC network. |
409 |
*/ |
410 |
serverinfo { |
411 |
/* name |
412 |
* The server name that this program uses on the IRC network. |
413 |
* This is the name you'll have to use in C:/N:Lines. It must be |
414 |
* unique on the IRC network and contain at least one dot, but does |
415 |
* not have to be equal to any DNS name. |
416 |
*/ |
417 |
name = "services.int"; |
418 |
|
419 |
/* desc |
420 |
* The ``server comment'' we send to the IRC network. |
421 |
* If you want server hiding, prefix your desc with "(H)" |
422 |
*/ |
423 |
desc = "Ermyth IRC Services"; |
424 |
|
425 |
/* numeric |
426 |
* Some protocol drivers (Charybdis, Ratbox2, Hybrid, P10, IRCNet, InspIRCd 1.2) |
427 |
* require a server id, also known as a numeric. Please consult your |
428 |
* ircd's documentation when providing this value. |
429 |
*/ |
430 |
numeric = "00A"; |
431 |
|
432 |
/* (*)recontime |
433 |
* The number of seconds before we reconnect to the uplink. |
434 |
*/ |
435 |
recontime = 10; |
436 |
|
437 |
/* (*)netname |
438 |
* The name of your network. |
439 |
*/ |
440 |
netname = "Misconfigured Network"; |
441 |
|
442 |
/* (*)hidehostsuffix |
443 |
* P10 +x host hiding gives <account>.<hidehostsuffix>. |
444 |
* If using +x on asuka/bircd/undernet, this must agree |
445 |
* with F:HIDDEN_HOST. |
446 |
*/ |
447 |
hidehostsuffix = "users.misconfigured"; |
448 |
|
449 |
/* (*)adminname |
450 |
* The name of the person running this service. |
451 |
*/ |
452 |
adminname = "Misconfigured Admin"; |
453 |
|
454 |
/* (*)adminemail |
455 |
* The email address of the person running this service. |
456 |
*/ |
457 |
adminemail = "misconfigured@admin.tld"; |
458 |
|
459 |
/* (*)mta |
460 |
* The full path to your mail transfer agent. |
461 |
* This is used for email authorization and password retrieval. |
462 |
* Comment this out to disable sending email. |
463 |
* Warning: sending email can disclose the IP of your services |
464 |
* unless you take precautions (not discussed here further). |
465 |
*/ |
466 |
mta = "/usr/sbin/sendmail"; |
467 |
|
468 |
/* (*)loglevel |
469 |
* Specify the default categories of logging information to record |
470 |
* in the master Ermyth logfile, usually var/ermyth.log. |
471 |
* |
472 |
* Options include: |
473 |
* debug, all - meta-keyword for all possible categories |
474 |
* trace - meta-keyword for a little bit of info |
475 |
* misc - like trace, but with some more miscillaneous info |
476 |
* notice - meta-keyword for notice-like information |
477 |
* ------------------------------------------------------------------------------ |
478 |
* error - critical errors |
479 |
* info - miscillaneous log notices |
480 |
* commands - all command use |
481 |
* admin - administrative command use |
482 |
* register - account and channel registrations |
483 |
* set - changes of account or channel settings |
484 |
* network - log notices related to network status |
485 |
* rawdata - log raw data sent and received by services |
486 |
* wallops - <not yet used> |
487 |
*/ |
488 |
loglevel = { error; info; admin; network; wallops; }; |
489 |
|
490 |
/* (*)maxlogins |
491 |
* What is the maximum number of sessions allowed to login to one |
492 |
* username? This reduces potential abuse. It is only checked on login. |
493 |
*/ |
494 |
maxlogins = 5; |
495 |
|
496 |
/* (*)maxusers |
497 |
* What are the maximum usernames that one email address can register? |
498 |
*/ |
499 |
maxusers = 5; |
500 |
|
501 |
/* (*)maxnicks |
502 |
* If GROUP is loaded, what are the maximum nicknames that one |
503 |
* username can register? |
504 |
*/ |
505 |
maxnicks = 5; |
506 |
|
507 |
/* (*)maxchans |
508 |
* What are the maximum channels that one username can register? |
509 |
*/ |
510 |
maxchans = 5; |
511 |
|
512 |
/* (*)mdlimit |
513 |
* How many metadata entries can be added to an object? |
514 |
*/ |
515 |
mdlimit = 30; |
516 |
|
517 |
/* (*)emaillimit, emailtime |
518 |
* The maximum number of emails allowed to be sent in |
519 |
* that amount of time (seconds). If this is exceeded, |
520 |
* wallops will be sent, at most one per minute. |
521 |
*/ |
522 |
emaillimit = 10; |
523 |
emailtime = 300; |
524 |
|
525 |
/* (*)auth |
526 |
* What type of username registration authorization do you want? |
527 |
* If "email," Ermyth will send a confirmation email to the address to |
528 |
* ensure it's valid. If "none," no message will be sent and the username |
529 |
* will be fully registered. |
530 |
* Valid values are: email, none. |
531 |
*/ |
532 |
auth = "none"; |
533 |
|
534 |
/* casemapping |
535 |
* Specify the casemapping to use. Almost all TSora (and any that follow |
536 |
* the RFC correctly) ircds will use rfc1459 casemapping. Bahamut, Unreal, |
537 |
* and other ``Dalnet'' ircds will use ascii casemapping. |
538 |
* Valid values are: rfc1459, ascii. |
539 |
*/ |
540 |
casemapping = "rfc1459"; |
541 |
}; |
542 |
|
543 |
/* uplink{ } blocks define connections to IRC servers. |
544 |
* Multiple may be defined but only one will be used at a time (IRC |
545 |
* being a tree shaped network). |
546 |
*/ |
547 |
uplink "irc.xinutec.org" { |
548 |
// the server name goes above |
549 |
|
550 |
// host |
551 |
// The hostname to connect to. |
552 |
host = "127.0.0.1"; |
553 |
|
554 |
// vhost |
555 |
// The source IP to connect from, used on machines with multiple interfaces. |
556 |
#vhost = "202.119.187.31"; |
557 |
|
558 |
// password |
559 |
// The password used for linking. |
560 |
password = "linkage"; |
561 |
|
562 |
// port |
563 |
// The port used for linking. |
564 |
port = 7000; |
565 |
}; |
566 |
|
567 |
/* The nickserv { } block defines settings specific to the nickname/username |
568 |
* registration services client on the IRC network. |
569 |
*/ |
570 |
nickserv { |
571 |
/* If you want NickServ to tell people about how great it is, enable the directive |
572 |
* below. |
573 |
*/ |
574 |
#spam; |
575 |
|
576 |
/* no_nick_ownership |
577 |
* Enable this to disable nickname ownership (old userserv{ }). |
578 |
* This changes changes "nickname" to "account" in most messages, |
579 |
* disables GHOST on users not logged in to the same account and |
580 |
* makes the spam directive ineffective. |
581 |
* It is suggested that the nick be set to UserServ, login.so |
582 |
* be loaded instead of identify.so and ghost.so not be loaded. |
583 |
*/ |
584 |
#no_nick_ownership; |
585 |
|
586 |
/* (*)nick |
587 |
* The nickname we want NickServ to have. |
588 |
*/ |
589 |
nick = "NickServ"; |
590 |
|
591 |
/* user |
592 |
* The username we want NickServ to have. |
593 |
*/ |
594 |
user = "NickServ"; |
595 |
|
596 |
/* host |
597 |
* The hostname we want NickServ to have. |
598 |
*/ |
599 |
host = "services.int"; |
600 |
|
601 |
/* real |
602 |
* The realname (gecos) information we want NickServ to have. |
603 |
*/ |
604 |
real = "Nickname Services"; |
605 |
|
606 |
/* (*)expire |
607 |
* The number of days before inactive registrations are expired. |
608 |
*/ |
609 |
expire = 30; |
610 |
}; |
611 |
|
612 |
/* The chanserv { } block defines settings specific to the channel |
613 |
* services client on the IRC network. |
614 |
*/ |
615 |
chanserv { |
616 |
/* (*)nick |
617 |
* The nickname we want the client to have. |
618 |
*/ |
619 |
nick = "ChanServ"; |
620 |
|
621 |
/* user |
622 |
* The username we want the client to have. |
623 |
*/ |
624 |
user = "ChanServ"; |
625 |
|
626 |
/* host |
627 |
* The hostname we want the client to have. |
628 |
*/ |
629 |
host = "services.int"; |
630 |
|
631 |
/* real |
632 |
* The GECOS of the client. |
633 |
*/ |
634 |
real = "Channel Services"; |
635 |
|
636 |
/* fantasy |
637 |
* Do you want to enable fantasy commands? This can |
638 |
* use a lot of CPU up, and will only work if you have |
639 |
* join_chans (in general) enabled as well. |
640 |
*/ |
641 |
fantasy; |
642 |
|
643 |
/* (*) ca_xop |
644 |
* Defines what flags the xop access levels comprise. |
645 |
* These should all be different and not equal to the empty set, |
646 |
* except that hop may be equal to vop to disable hop. |
647 |
* Each subsequent level should have more flags (except +VHO). |
648 |
* For optimal functioning of /cs forcexop, aop should not have |
649 |
* any of +sRf, hop should not have any of +sRfoOr and vop should |
650 |
* not have any of +sRfoOrhHt. |
651 |
* If this is not specified, the values of Ermyth 0.3 are used, |
652 |
* which are generally less intuitive than these. |
653 |
* Note: changing these leaves the flags of existing channel access |
654 |
* entries unchanged, thus removing them of the view of /cs xop list. |
655 |
* Usually the channel founder can use /cs forcexop to update the |
656 |
* entries to the new levels. |
657 |
*/ |
658 |
vop = "+VA"; |
659 |
hop = "+vVhHtA"; |
660 |
aop = "+vhoOtriA"; |
661 |
sop = "+vhoOtrsifA"; |
662 |
|
663 |
/* (*) changets |
664 |
* Change the channel TS to the registration time when someone |
665 |
* recreates a registered channel, ensuring that they are deopped |
666 |
* and all their modes are undone. When the channel was not recreated |
667 |
* no deops will be done (apart from the SECURE option). |
668 |
* This also solves the "join-mode" problem where someone recreates |
669 |
* a registered channel and then sets some modes before they are |
670 |
* deopped. |
671 |
* This is currently supported for charybdis, hybrid, ratbox and |
672 |
* bahamut. For charybdis, hybrid and ratbox it only fully works |
673 |
* with TS6, with TS5 bans and last-moment modes will still apply. |
674 |
* (That can also be used to advantage, when first enabling this.) |
675 |
*/ |
676 |
#changets; |
677 |
|
678 |
/* (*) trigger |
679 |
* This setting allows you to change the trigger prefix for |
680 |
* ChanServ's in-channel command feature (disableable via chanserv::fantasy). |
681 |
* If no setting is provided, the default is used, which is "!". |
682 |
* |
683 |
* Other settings you could consider trying: ".", "~", "?", "`", "'". |
684 |
*/ |
685 |
trigger = "!"; |
686 |
|
687 |
/* (*)expire |
688 |
* The number of days before inactive registrations are expired. |
689 |
*/ |
690 |
expire = 30; |
691 |
|
692 |
/* (*)maxchanacs |
693 |
* The maximum number of entries allowed in a channel's access list |
694 |
* (both channel ops and akicks), 0 for unlimited. |
695 |
*/ |
696 |
maxchanacs = 0; |
697 |
|
698 |
/* (*)maxfounders |
699 |
* The maximum number of founders allowed in a channel. |
700 |
* Note that all founders have the exact same privileges and |
701 |
* the list of founders is shown in various places. |
702 |
*/ |
703 |
maxfounders = 4; |
704 |
}; |
705 |
|
706 |
/* The global { } block defines settings concerning the global noticer. */ |
707 |
global { |
708 |
/* nick |
709 |
* Sets the nick used for sending out a global notice. |
710 |
*/ |
711 |
nick = "Global"; |
712 |
|
713 |
/* user |
714 |
* Sets the username used for this client. |
715 |
*/ |
716 |
user = "Global"; |
717 |
|
718 |
/* host |
719 |
* The hostname used for this client. |
720 |
*/ |
721 |
host = "services.int"; |
722 |
|
723 |
/* real |
724 |
* The GECOS (real name) of the client. |
725 |
*/ |
726 |
real = "Network Announcements"; |
727 |
}; |
728 |
|
729 |
/* The operserv { } block defines settings concerning the operator service. */ |
730 |
operserv { |
731 |
/* nick |
732 |
* The nickname we want the Operator Service to have. |
733 |
*/ |
734 |
nick = "OperServ"; |
735 |
|
736 |
/* user |
737 |
* Sets the username used for this client. |
738 |
*/ |
739 |
user = "OperServ"; |
740 |
|
741 |
/* host |
742 |
* The hostname used for this client. |
743 |
*/ |
744 |
host = "services.int"; |
745 |
|
746 |
/* real |
747 |
* The GECOS (real name) of the client. |
748 |
*/ |
749 |
real = "Operator Services"; |
750 |
}; |
751 |
|
752 |
/* If you are using SASL, uncomment this */ |
753 |
saslserv { |
754 |
/* (*)nick |
755 |
* The nickname we want SaslServ to have. |
756 |
*/ |
757 |
nick = "SaslServ"; |
758 |
|
759 |
/* user |
760 |
* The username we want SaslServ to have. |
761 |
*/ |
762 |
user = "SaslServ"; |
763 |
|
764 |
/* host |
765 |
* The hostname we want SaslServ to have. |
766 |
*/ |
767 |
host = "services.int"; |
768 |
|
769 |
/* real |
770 |
* The realname (gecos) information we want SaslServ to have. |
771 |
*/ |
772 |
real = "SASL Authentication Agent"; |
773 |
}; |
774 |
|
775 |
/* The httpd { } block defines configuration parameters for the |
776 |
* HTTP server. |
777 |
*/ |
778 |
httpd { |
779 |
/* host |
780 |
* The host that the HTTP server will listen on. |
781 |
* Use 0.0.0.0 if you want to listen on all available hosts. |
782 |
*/ |
783 |
host = "0.0.0.0"; |
784 |
|
785 |
/* www_root |
786 |
* The directory that contains the files that should be served by the httpd. |
787 |
*/ |
788 |
www_root = "/var/www"; |
789 |
|
790 |
/* port |
791 |
* The port that the HTTP server will listen on. |
792 |
*/ |
793 |
port = 8080; |
794 |
}; |
795 |
|
796 |
/* MemoServ */ |
797 |
memoserv { |
798 |
/* (*)nick |
799 |
* The nickname we want MemoServ to have. |
800 |
*/ |
801 |
nick = "MemoServ"; |
802 |
|
803 |
/* user |
804 |
* The username we want MemoServ to have. |
805 |
*/ |
806 |
user = "MemoServ"; |
807 |
|
808 |
/* host |
809 |
* The hostname we want MemoServ to have. |
810 |
*/ |
811 |
host = "services.int"; |
812 |
|
813 |
/* real |
814 |
* The realname (gecos) information we want MemoServ to have. |
815 |
*/ |
816 |
real = "Memo Services"; |
817 |
}; |
818 |
|
819 |
/* The gameserv { } block defines settings concerning GameServ. */ |
820 |
gameserv { |
821 |
/* nick |
822 |
* The nickname we want GameServ to have. |
823 |
*/ |
824 |
nick = "GameServ"; |
825 |
|
826 |
/* user |
827 |
* Sets the username used for this client. |
828 |
*/ |
829 |
user = "GameServ"; |
830 |
|
831 |
/* host |
832 |
* The hostname used for this client. |
833 |
*/ |
834 |
host = "services.int"; |
835 |
|
836 |
/* real |
837 |
* The GECOS (real name) of the client. |
838 |
*/ |
839 |
real = "Game Services"; |
840 |
}; |
841 |
|
842 |
/* |
843 |
* logfile{ } blocks can be used to set up log files other than the master |
844 |
* logfile used by services, which is controlled by serverinfo::loglevel. |
845 |
* |
846 |
* The various logging categories are: |
847 |
* debug, all - meta-keyword for all possible categories |
848 |
* trace - meta-keyword for a little bit of info |
849 |
* misc - like trace, but with some more miscillaneous info |
850 |
* notice - meta-keyword for notice-like information |
851 |
* ------------------------------------------------------------------------------ |
852 |
* error - critical errors |
853 |
* info - miscillaneous log notices |
854 |
* commands - all command use |
855 |
* admin - administrative command use |
856 |
* register - account and channel registrations |
857 |
* set - changes of account or channel settings |
858 |
* network - log notices related to network status |
859 |
* rawdata - log raw data sent and received by services |
860 |
* wallops - <not yet used> |
861 |
*/ |
862 |
|
863 |
/* |
864 |
* This block logs all account and channel registrations and drops, |
865 |
* and account and channel setting changes to var/account.log. |
866 |
*/ |
867 |
logfile "var/account.log" { register; set; }; |
868 |
|
869 |
/* |
870 |
* This block logs all command use to var/commands.log. |
871 |
*/ |
872 |
logfile "var/commands.log" { commands; }; |
873 |
|
874 |
/* The general { } block defines general configuration options. */ |
875 |
general { |
876 |
/* (*)chan |
877 |
* The channel the client joins and sends certain |
878 |
* messages to. |
879 |
* Comment to disable. |
880 |
*/ |
881 |
chan = "#services"; |
882 |
|
883 |
/* (*)silent |
884 |
* If you want to prevent services from sending |
885 |
* WALLOPS/GLOBOPS about things uncomment this. |
886 |
* Not recommended. |
887 |
*/ |
888 |
#silent; |
889 |
|
890 |
/* (*)verbose_wallops |
891 |
* If you want services to send you more information about |
892 |
* events that are occuring (in particular AKILLs), uncomment the |
893 |
* directive below. |
894 |
* |
895 |
* WARNING! This may result in large amounts of wallops/globops |
896 |
* floods. |
897 |
*/ |
898 |
#verbose_wallops; |
899 |
|
900 |
/* (*)use_privmsg |
901 |
* If you want services to send messages via PRIVMSG instead of |
902 |
* NOTICE, uncomment this below. This could be useful for networks |
903 |
* with WEBTV users and various other improperly designed IRC clients |
904 |
* connecting to it, such as flash and java chat clients and IRC |
905 |
* clients for the physically handicapped. |
906 |
* |
907 |
* WARNING! It is against the IRC RFC to respond to PRIVMSG |
908 |
* automatically with another PRIVMSG, because it can cause |
909 |
* feedback loops between bots and services. You have been warned. |
910 |
* Some users may not like this feature very well, it |
911 |
* can be rather annoying. |
912 |
*/ |
913 |
#use_privmsg; |
914 |
|
915 |
/* (*)join_chans |
916 |
* Should ChanServ be allowed to join registered channels? |
917 |
* This option is useful for the fantasy command set. |
918 |
* |
919 |
* If enabled, you can tell ChanServ to join via SET GUARD ON. |
920 |
* |
921 |
* If you use ircu-like ircd (asuka, bircd, undernet), you must |
922 |
* leave this enabled, and put guard in default cflags. |
923 |
* |
924 |
* For ratbox it is recommended to leave it on and put guard in |
925 |
* default cflags, in order that ChanServ does not have to join/part |
926 |
* to do certain things. On the other hand, enabling this increases |
927 |
* potential for bots fighting with ChanServ. |
928 |
* |
929 |
* Regardless of this option, ChanServ will temporarily join |
930 |
* channels which would otherwise be empty if necessary to enforce |
931 |
* akick/staffonly/close. |
932 |
*/ |
933 |
join_chans; |
934 |
|
935 |
/* (*)leave_chans |
936 |
* Do we leave registered channels after everyone else has left? |
937 |
* Turning this off serves little purpose, except to mark "official" |
938 |
* network channels by keeping them open, and to preserve the |
939 |
* topic and +beI lists. |
940 |
*/ |
941 |
leave_chans; |
942 |
|
943 |
/* secure |
944 |
* Do you want to require the use of /msg <service>@<services host>? |
945 |
* Turning this on helps protect against spoofers, but is disabled |
946 |
* as most networks do not presently use it. |
947 |
*/ |
948 |
#secure; |
949 |
|
950 |
/* (*)uflags |
951 |
* The default flags to set for usernames upon registration. |
952 |
* Valid values are: hold, neverop, noop, hidemail, and none. |
953 |
*/ |
954 |
uflags = { none; }; |
955 |
|
956 |
/* (*)cflags |
957 |
* The default flags to set for channels upon registration. |
958 |
* Valid values are: hold, secure, verbose, verbose_ops, keeptopic, |
959 |
* topiclock, guard and none. |
960 |
*/ |
961 |
cflags = { verbose; guard; }; |
962 |
|
963 |
/* (*)raw |
964 |
* Do you want to allow SRAs to use the RAW and INJECT commands? |
965 |
* These commands are for debugging. If you don't know how to use them |
966 |
* then don't enable them. They are not supported. |
967 |
*/ |
968 |
#raw; |
969 |
|
970 |
/* (*)flood_msgs |
971 |
* Do you want services to detect floods? |
972 |
* Set to how many messages before a flood is triggered. |
973 |
* If services receives `flood_msgs' within `flood_time' the user will |
974 |
* trigger the flood protection. |
975 |
* Setting this to zero disables flood protection. |
976 |
*/ |
977 |
flood_msgs = 7; |
978 |
|
979 |
/* (*)flood_time |
980 |
* Do you want services to detect floods? |
981 |
* Set to how long before the counter resets. |
982 |
* If services receives `flood_msgs' within `flood_time' the user will |
983 |
* trigger the flood protection. |
984 |
*/ |
985 |
flood_time = 10; |
986 |
|
987 |
/* (*)kline_time |
988 |
* The default expire time for KLINE's in days. |
989 |
* Setting this to 0 makes all KLINE's permanent. |
990 |
*/ |
991 |
kline_time = 7; |
992 |
|
993 |
/* commit_interval |
994 |
* The time between database writes in minutes. |
995 |
*/ |
996 |
commit_interval = 5; |
997 |
|
998 |
/* (*)default_clone_limit |
999 |
* The default clone limit used by operserv/clones. |
1000 |
*/ |
1001 |
default_clone_limit = 5; |
1002 |
}; |
1003 |
|
1004 |
/* Operator configuration |
1005 |
* See the PRIVILEGES document for more information. |
1006 |
* NOTE: All changes apply immediately upon rehash. You may need |
1007 |
* to send a signal to regain control. |
1008 |
*/ |
1009 |
/* (*) Operclasses specify groups of services operator privileges */ |
1010 |
operclass "sra" { |
1011 |
/* You can have multiple privs { } blocks in an oper class. |
1012 |
* This example uses multiple privs { } blocks to organize the privileges |
1013 |
* granted to the operclass by category. |
1014 |
*/ |
1015 |
privs = { |
1016 |
special:ircop; |
1017 |
}; |
1018 |
|
1019 |
privs = { |
1020 |
user:auspex; |
1021 |
user:admin; |
1022 |
user:sendpass; |
1023 |
user:vhost; |
1024 |
user:mark; |
1025 |
user:hold; |
1026 |
user:regnolimit; |
1027 |
}; |
1028 |
|
1029 |
privs = { |
1030 |
chan:auspex; |
1031 |
chan:admin; |
1032 |
chan:cmodes; |
1033 |
chan:joinstaffonly; |
1034 |
}; |
1035 |
|
1036 |
privs = { |
1037 |
general:auspex; |
1038 |
general:viewprivs; |
1039 |
general:flood; |
1040 |
general:metadata; |
1041 |
general:admin; |
1042 |
}; |
1043 |
|
1044 |
privs = { |
1045 |
operserv:omode; |
1046 |
operserv:akill; |
1047 |
#operserv:massakill; |
1048 |
#operserv:akill-anymask; |
1049 |
operserv:jupe; |
1050 |
operserv:noop; |
1051 |
operserv:global; |
1052 |
operserv:grant; |
1053 |
}; |
1054 |
|
1055 |
/* needoper |
1056 |
* Only grant privileges to IRC users in this oper class if they |
1057 |
* are opered; other use of privilege (channel succession, XMLRPC, |
1058 |
* etc.) is unaffected by this. |
1059 |
*/ |
1060 |
needoper; |
1061 |
}; |
1062 |
|
1063 |
/* The "ircop" operclass specifies privileges all IRCops get. |
1064 |
* This may be empty in which case IRCops get no privs. |
1065 |
* At least chan:cmodes, chan:joinstaffonly and general:auspex are suggested. |
1066 |
*/ |
1067 |
operclass "ircop" { |
1068 |
privs = { |
1069 |
special:ircop; |
1070 |
}; |
1071 |
|
1072 |
privs = { |
1073 |
user:auspex; |
1074 |
user:admin; |
1075 |
user:sendpass; |
1076 |
user:vhost; |
1077 |
user:mark; |
1078 |
}; |
1079 |
|
1080 |
privs = { |
1081 |
chan:auspex; |
1082 |
chan:admin; |
1083 |
chan:cmodes; |
1084 |
chan:joinstaffonly; |
1085 |
}; |
1086 |
|
1087 |
privs = { |
1088 |
general:auspex; |
1089 |
general:viewprivs; |
1090 |
general:flood; |
1091 |
}; |
1092 |
|
1093 |
privs = { |
1094 |
operserv:omode; |
1095 |
operserv:akill; |
1096 |
operserv:jupe; |
1097 |
operserv:global; |
1098 |
}; |
1099 |
}; |
1100 |
|
1101 |
/* (*) Operator blocks specify accounts with certain privileges |
1102 |
* Oper classes must be defined before they are used in operator blocks. |
1103 |
*/ |
1104 |
operator "pippijn" { |
1105 |
operclass = "sra"; |
1106 |
}; |
1107 |
|
1108 |
/* You may also specify other files for inclusion. |
1109 |
* For example: |
1110 |
* |
1111 |
* include "etc/sras.conf"; |
1112 |
*/ |
1113 |
|
1114 |
# vim:ft=c noexpandtab |