summaryrefslogtreecommitdiff
path: root/docs/inspircd.conf.example
blob: a9d42246da2af27120c057afa793d6036b6fa06c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
########################################################################
#                                                                      #
#               ___                ___ ____   ____    _                #
#              |_ _|_ __  ___ _ __|_ _|  _ \ / ___|__| |               #
#               | || '_ \/ __| '_ \| || |_) | |   / _` |               #
#               | || | | \__ \ |_) | ||  _ <| |__| (_| |               #
#              |___|_| |_|___/ .__/___|_| \_\\____\__,_|               #
#                            |_|                                       #
#      ____             __ _                       _   _               #
#     / ___|___  _ __  / _(_) __ _ _   _ _ __ __ _| |_(_) ___  _ __    #
#    | |   / _ \| '_ \| |_| |/ _` | | | | '__/ _` | __| |/ _ \| '_ \   #
#    | |__| (_) | | | |  _| | (_| | |_| | | | (_| | |_| | (_) | | | |  #
#     \____\___/|_| |_|_| |_|\__, |\__,_|_|  \__,_|\__|_|\___/|_| |_|  #
#                            |___/                                     #
#                                                                      #
##################################||####################################
                                 #||#                                   
##################################||####################################
#                                                                      #
#         This is an example of the config file for InspIRCd.          #
#             Change the options to suit your network                  #
#                                                                      #
#                 Last updated on : 04/09/2006                         #
#                 Written by      : CC  (cc@backchat.co.za)            #
#                 Updated by      : katsklaw (katsklaw@gmail.com)      #
#                 Updated by      : brain (brain@inspircd.org)         #
#                                                                      #
#    ____                _   _____ _     _       ____  _ _   _         #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |        #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |        #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|        #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)        #
#                                                                      #
#   Lines prefixed with READ THIS BIT, as shown above, are IMPORTANT   #
#   lines, and you REALLY SHOULD READ THEM. Yes, THIS MEANS YOU. Even  #
#   if you've configured InspIRCd before, these probably indicate      #
#   something new or different to this version and you SHOULD READ IT. #
#                                                                      #
########################################################################
#                                                                      #
#         Unalphabeticalise the modules list at your own risk          #
#                                                                      #
########################################################################


#-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Here is where you enter the information about your server.        #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#     <server name="server.name"                                      #
#      description="Server Description"                               #
#      network="MyNetwork">                                           #
#                                                                     #

<server name="penguin.omega.org.za"
        description="Waddle World"
        network="Omega">


#-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Describes the Server Administrator's real name, nick              #
#   and email address.                                                #
#                                                                     #
#  Syntax is as follows:                                              #
#       <admin name="real name"                                       #
#              nick="nick name"                                       #
#              email="email@address.com">                             #
#                                                                     #

<admin  name="Johnny English"
        nick="MI5"
        email="MI5@the.best.secret.agent">


#-#-#-#-#-#-#-#-#-#-#-#-   PORT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Enter the port and address bindings here.                         #
#                                                                     #
#  bind address - specifies which address ports bind to. Leaving this #
#                 field blank binds the port to all IPs available.    #
#                                                                     #
#  port         - The port number to bind to. You may specify a port  #
#                 range here, e.g. "6667-6669,7000,7001". If you do   #
#                 this, the server will count each port within your   #
#                 range as a seperate binding, making the above       #
#                 example equivalent to five seperate bind tags.      #
#                 A failure on one port in the range does not prevent #
#                 the entire range from being bound, just that one    #
#                 port number.                                        #
#                                                                     #
#  type         - can be 'clients' or 'servers'. The clients type is  #
#                 a standard tcp based socket, the servers type is a  #
#                 also a TCP based connection but of a different      #
#                 format. SSL support is provided by modules, to      #
#                 enable SSL support, please read the module section  #
#                 of this configuration file.                         #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  If you want to link servers to InspIRCd you must load the          #
#  m_spanningtree module! Please see the modules list below for       #
#  information on how to load this module! If you do not load this    #
#  module, server ports will NOT be bound!                            #
#                                                                     #
#  Leaving address empty binds to all available interfaces            #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
# <bind address="ip or host" port="port" type="clients">              #
# <bind address="ip or host" port="port" type="servers">              #
#                                                                     #
# If InspIRCd is built for IPV6, and you wish to accept IPV4 clients, #
# then you must specify your IPV6 clients in the following form:      #
# ::ffff:1.2.3.4, where 1.2.3.4 is the IPV4 address to bind the       #
# port on. If InspIRCd is built  for IPV4 connections (this is the    #
# default) then you do not need to prefix your addresses like this.   #
#                                                                     #

<bind address="" port="6660-6669" type="clients">
<bind address="" port="7000,7001" type="servers">


#-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   You can configure the passwords here which you wish to use for    #
#   the die and restart commands. Only trusted ircops who will        #
#   need this ability should know the die and restart password.       #
#                                                                     #
#  Syntax is as follows:                                              #
#       <power diepass="die password" restartpass="restart password"  #
#        pause="secs before dying">                                   #
#                                                                     #

<power diepass="diepass" restartpass="restartpass" pause="2">


#-#-#-#-#-#-#-#-#-#  INCLUDE CONFIGURATION  #-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# This optional tag allows you to include another config file         #
# allowing you to keep your configuration tidy. The configuration     #
# file you include will be treated as part of the configuration file  #
# which includes it, in simple terms the inclusion is transparent.    #
#                                                                     #
# All paths to config files are relative to the directory of the main #
# config file inspircd.conf, unless the filename starts with a forward#
# slash (/) in which case it is treated as an absolute path.          #
#                                                                     #
# Syntax is as follows:                                               #
#<include file="file.conf">                                           #
#                                                                     #

#-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   This is where you can configure which connections are allowed     #
#   and denied access onto your server.                               #
#   The password is optional.                                         #
#   You may have as many of these as you require.                     #
#   To allow/deny all connections use a *                             #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#       <connect allow="ip mask">                                     #
#       <connect allow="ip mask" password="blahblah">                 #
#       <connect allow="ip mask" password="blah" timeout="10">        #
#       <connect allow="ip mask" timeout="blah" flood="5">            #
#       <connect allow="ip mask" threshold="8" pingfreq="120">        #
#       <connect allow="ip mask" sendq="99999" revcq="696969">        #
#       <connect allow="ip mask" localmax="3" globalmax="3">          #
#       <connect deny="ip mask">                                      #
#                                                                     #
#   IP masks may be specified in CIDR format or wildcard format,      #
#   for IPV4 and IPV6.                                                #
#                                                                     #
#   You may optionally include timeout="x" on any allow line, which   #
#   specifies the amount of time given before an unknown connection   #
#   is closed if USER/NICK/PASS are not given. This value is in secs  #
#                                                                     #
#   You should also include a flood="x" line which indicates          #
#   the number of lines a user may place into their buffer at once    #
#   before they are disconnected for excess flood. This feature can   #
#   not be disabled, however it can be set to exremely high values,   #
#   rendering it effectively disabled. A recommended value is 10.     #
#   A counter is maintained for each user which is reset every        #
#   'threshold' seconds and specifying this threshold value with      #
#   threshold="X" indicates how often the counter is reset. For       #
#   example, with flood="5" and threshold="8", the user may not send  #
#   more than 5 lines in 8 secs.                                      #
#                                                                     #
#   You may optionally specify the sendq size and ping frequency of   #
#   each connect:allow line using the pingfreq="X" and sendq="X"      #
#   settings as shown in the full example below.                      #
#   The ping frequency is specified in seconds, and the sendq size    #
#   in bytes. It is recommended, although not enforced, that you      #
#   should never set your sendq size to less than 8k. Send Queues are #
#   dynamically allocated and can grow as needed up to the maximum    #
#   size specified.                                                   #
#                                                                     #
#   The optional recvq value is the maximum size which users in this  #
#   group may grow their receive queue to. This is recommended to be  #
#   kept pretty low compared to the sendq, as users will always       #
#   recieve more than they send in normal circumstances. The default  #
#   if not specified is 4096.                                         #
#                                                                     #
#   IMPORTANT NOTE, CALL THE CONFUSION POLICE!                        #
#   The sendq is the data waiting to be sent TO THE USER.             #
#   The recvq is the data being received FROM THE USER.               #
#   The names sendq and recvq are from the SERVER'S PERSPECTIVE not   #
#   that of the user... Just to clear up any confusion or complaints  #
#   that these are backwards :p                                       #
#                                                                     #
#   The localmax and globalmax values can be used to enforce local    #
#   and global session limits on connections. The session limits are  #
#   counted against all users, but applied only to users within the   #
#   class. For example, if you had a class 'A' which has a session    #
#   limit of 3, and a class 'B' which has a session limit of 5, and   #
#   somehow, two users managed to get into class B which also match   #
#   class A, there is only one connection left for this IP now in A,  #
#   but if they can connect again to B, there are three. You get the  #
#   idea (i hope).                                                    #
#                                                                     #

<connect allow="196.12.*"  password="secret">
<connect allow="*" timeout="60" flood="20" threshold="1" pingfreq="120" sendq="262144" recvq="8192" localmax="3" globalmax="3">

<connect deny="69.254.*">
<connect deny="3ffe::0/32">


#-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Classes are a group of commands which are grouped together        #
#   and given a unique name. They used to define which commands       #
#   are available to certain types of Operators.                      #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#       <class name="name" commands="oper commands">                  #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  You are not forced to give these classes the names given below.    #
#  You can create your own named classes, if you want, in fact that   #
#  is the whole idea of this system!                                  #
#                                                                     #
#  Note: It is possible to make a class which covers all available    #
#  commands. To do this, specify commands="*". This is not really     #
#  recommended, as it negates the whole purpose of the class system,  #
#  however it is provided for fast configuration (e.g. in test nets)  #
#                                                                     #

<class name="Shutdown" commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOAD">
<class name="ServerLink" commands="CONNECT SQUIT RCONNECT MKPASSWD MKSHA256">
<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE">
<class name="OperChat" commands="WALLOPS GLOBOPS SETIDLE SPYLIST SPYNAMES">
<class name="HostCloak" commands="SETHOST SETIDENT SETNAME CHGHOST CHGIDENT">


#-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   This is where you specify which types of operators you have on    #
#   your server, as well as the commands they are allowed to use.     #
#   This works alongside with the classes specified above.            #
#                                                                     #
#  type name  - a name for the combined class types                   #
#               a type name cannot contain spaces, however if you     #
#               put an _ symbol in the name, it will be translated    #
#               to a space when displayed in a WHOIS.                 #
#                                                                     #
#  classes    - specified above, used for flexibility for the         #
#               server admin to decide on which operators get         #
#               what commands. Class names are case sensitive,        #
#               seperate multiple class names with spaces.            #
#                                                                     #
#  host       - optional hostmask operators will recieve on oper-up.  #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#     <type name="name" classes="class names" host="oper hostmask">   #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  You are not forced to give these types the names given below.      #
#  You can create your own named types, if you want, in fact that     #
#  is the whole idea of this system!                                  #
#                                                                     #

<type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
<type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
<type name="Helper" classes="HostCloak" host="helper.omega.org.za">


#-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Opers are defined here. This is a very important section.         #
#   Remember to only make operators out of truthworthy people.        #
#                                                                     #
#  name        - oper name, This is case sensitive, so it is best to  #
#                use lower-case.                                      #
#                                                                     #
#  password    - password to oper-up, also case sensitive.            #
#                encryption is supported via modules. You may load    #
#                modules for MD5 or SHA256 encryption, and if you do, #
#                this value will be a hash value, otherwise put a     #
#                plaintext password in this value.                    #
#                                                                     #
#  host        - hosts of client allowed to oper-up.                  #
#                wildcards accepted, seperate multiple hosts with a   #
#                space. You may also specify CIDR ip addresses.       #
#                                                                     #
#  fingerprint - When using the m_ssl_oper_cert.so module, you may    #
#                specify a key fingerprint here. This can be obtained #
#                using the /fingerprint command whilst the module is  #
#                loaded, or from the notice given to you when you     #
#                connect to the ircd using a client certificate,      #
#                and will lock this oper block to only the user who   #
#                has that specific key/certificate pair.              #
#                This enhances security a great deal, however it      #
#                requires that opers use clients which can send ssl   #
#                client certificates, if this is configured for that  #
#                oper. Note that if the m_ssl_oper.so module is not   #
#                loaded, and/or one of m_ssl_openssl or m_ssl_gnutls  #
#                is not loaded, this configuration option has no      #
#                effect and will be ignored.                          #
#                                                                     #
#  type        - Sefines the kind of operator. This must match a type #
#                tag you defined above, and is case sensitive.        #
#                                                                     #
#  Syntax is as follows:                                              #
#       <oper name="login"                                            #
#             password="pass"                                         #
#             host="hostmask@of.oper"                                 #
#             fingerprint="hexsequence"                               #
#             type="oper type">                                       #
#                                                                     #

<oper   name="katsklaw"
        password="s3cret"
        host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16"
	fingerprint="a41d730937a53b79f788c0ab13e9e1d5"
        type="NetAdmin">


#-#-#-#-#-#-#-#-#-#-#-  SERVER LINK CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Defines which servers can link to this one, and which servers this  #
# server may create outbound links to.                                #
#                                                                     #
# name        -   The name is the canocial name of the server, does   #
#                 not have to resolve - but it is expected to be set  #
#                 in the remote servers connection info.              #
#                                                                     #
# ipaddr      -   Valid host or ip address for remote server. These   #
#                 hosts are resolved on rehash, and cached, if you    #
#                 specify a hostname, so if you find that your server #
#                 is still trying to connect to an old IP after you   #
#                 have updated your dns, try rehashing and then       #
#                 attempting the connect again.                       #
#                                                                     #
# port        -   The TCP port for the remote server.                 #
#                                                                     #
# sendpass    -   Password to send to create an outbound connection   #
#                 to this server.                                     #
#                                                                     #
# recvpass    -   Password to receive to accept an inbound connection #
#                 from this server.                                   #
#                                                                     #
# autoconnect -   Sets the server to autoconnect. Where x is the num. #
# (optional)      of seconds between attempts. e.g. 300 = 5 minutes.  #
#                                                                     #
# encryptionkey - Encryption key to be used for AES encryption, where #
#                 supported. Links using the spanning tree protocol   #
#                 support AES. The encryption key must be EXACTLY 8,  #
#                 16 or 32 characters in length for a 64, 128 or 256  #
#                 bit key, respectively.                              #
#                                                                     #
# hidden        - When using m_spanningtree.so for linking. you may   #
#                 set this to 'yes', and if you do, the IP address/   #
#                 hostname of this connection will NEVER be shown to  #
#                 any opers on the network. In /STATS c its address   #
#                 will show as *@<hidden>, and during CONNECT and     #
#                 inbound connections, its IP will show as <hidden>   #
#                 UNLESS the connection fails (e.g. due to a bad      #
#                 password or servername)                             #
#                                                                     #
# allowmask     - When this is defined, it indicates a range of IP    #
#                 addresses to allow for this link (You may use CIDR  #
#                 or wildcard form for this address).                 #
#                 e.g. if your server is going to connect to you from #
#                 the range 1.2.3.1 through 1.2.3.255, put 1.2.3.0/24 #
#                 into this value. If it is not defined, then only    #
#                 the ipaddr field of the server shall be allowed.    #
#                                                                     #
# failover      - If you define this option, it must be the name of a #
#                 different link tag in your configuration. This      #
#                 option causes the ircd to attempt a connection to   #
#                 the failover link in the event that the connection  #
#                 to this server fails. For example, you could define #
#                 two hub uplinks to a leaf server, and set an        #
#                 american server to autoconnect, with a european     #
#                 hub as its failover. In this situation, your ircd   #
#                 will only try the link to the european hub if the   #
#                 american hub is unreachable. NOTE that for the      #
#                 intents and purposes of this option, an unreachable #
#                 server is one which DOES NOT ANSWER THE CONNECTION. #
#                 If the server answers the connection with accept(), #
#                 EVEN IF THE CREDENTIALS ARE INVALID, the failover   #
#                 link will not be tried! Failover settings will also #
#                 apply to autoconnected servers as well as manually  #
#                 connected ones.                                     #
#                                                                     #
# timeout       - If this is defined, then outbound connections will  #
#                 time out if they are not connected within this many #
#                 seconds. If this is not defined, the default of ten #
#                 seconds is used.                                    #
#                                                                     #
# to u:line a server (give it extra privilages required for running   #
# services, Q, etc) you must include the <uline server> tag as shown  #
# in the example below. You can have as many of these as you like.    #
#                                                                     #
# WARNING: Unlike other ircds, u:lining a server allows ALL users on  #
# that server to operoverride modes. This should only be used for     #
# services and protected oper servers!                                #
#                                                                     #
# NOTE: If you have built InspIRCd with IPV6 support, and you want    #
# to link to an IPV4 server, you must specify the IP address in the   #
# form '::ffff:1.2.3.4' where 1.2.3.4 is the IP address of the target #
# server. If you have built InspIRCd for IPV4 (this is the default)   #
# you should not prefix your IP addresses in this fashion.            #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  If you want to link servers to InspIRCd you must load the          #
#  m_spanningtree module! Please see the modules list below for       #
#  information on how to load this module! If you do not load this    #
#  module, server links will NOT work!                                #
#                                                                     #

<link name="hub.penguin.org"
        ipaddr="penguin.box.com"
        port="7000"
	allowmask="69.58.44.0/24"
        autoconnect="300"
	failover="hub.other.net"
	timeout="15"
        sendpass="outgoing!password"
        recvpass="incoming!password">

<link name="services.antarctic.com"
        ipaddr="localhost"
        port="7000"
	allowmask="127.0.0.0/8"
        sendpass="penguins"
        recvpass="polarbears">

<uline server="services.antarctic.com">


#-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   These options let you define the path to your motd and rules      #
#   files. If these are relative paths, they are relative to the      #
#   configurtion directory.                                           #
#                                                                     #

<files  motd="inspircd.motd"
        rules="inspircd.rules">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Define your DNS server address here. InspIRCd has its own resolver. #
# If you do not define this value, the first dns server from your     #
# /etc/resolv.conf file is read. If no entries are found in this file #
# or the file cannot be opened, the default value '127.0.0.1' is used #
# instead. The timeout value is in seconds.                           #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
# When choosing a server, be sure to choose one which will do a       #
# RECURSIVE LOOKUP. InspIRCd's resolver does not currently do these   #
# recursive lookups itself, to save time and resources. The dns       #
# server recommended by the InspIRCd team is bind, available from the #
# ISC website. If your DNS server does not do a recursive lookup, you #
# will be able to notice this by the fact that none of your users are #
# resolving even though the DNS server appears to be up! Most ISP and #
# hosting provider DNS servers support recursive lookups.             #
#                                                                     #
# NOTE: If you have built InspIRCd with IPV6 support, and you want    #
# to use an IPV4 nameserver, you must specify the IP address in the   #
# form '::ffff:1.2.3.4' where 1.2.3.4 is the IP address of the target #
# server. If you have built InspIRCd for IPV4 (this is the default)   #
# you should not prefix your IP addresses in this fashion.            #
#                                                                     #
# IF YOUR RESOLV.CONF CONTAINS ONLY IPV4 ADDRESSES, AND YOU ARE USING #
# IPV6, YOU MUST DEFINE THE <DNS SERVER> TAG, AND USE THE ::FFFF      #
# PREFIX NOTATION. IF YOU DO NOT, HOSTS WILL *NOT* RESOLVE.           #
#                                                                     #

<dns server="127.0.0.1" timeout="5">

# An example of using IPV4 nameservers over IPV6
#<dns server="::ffff:127.0.0.1" timeout="5">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#  PID FILE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Define the path to the PID file here. The PID file can be used to   #
# rehash the ircd from the shell or to terminate the ircd from the    #
# shell using shell scripts, perl scripts etc, and to monitor the     #
# ircd's state via cron jobs. If this is a relative path, it will be  #
# relative to the configuration directory, and if it is not defined,  #
# the default of 'inspircd.pid' is used.                              #
#                                                                     #

#<pid file="/path/to/inspircd.pid">

#-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Use these tags to customise the ban limits on a per channel basis.  #
# the tags are read from top to bottom, and any tag found which       #
# matches the channels name applies the banlimit to that channel.     #
# It is advisable to put an entry with the channel as '*' at the      #
# bottom of the list. If none are specified or no maxbans tag is      #
# matched, the banlist size defaults to 64 entries.                   #
#                                                                     #

<banlist chan="#morons" limit="128">
<banlist chan="*" limit="69">

#-#-#-#-#-#-#-#-#-#-#-  DISABLED COMMANDS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# This tag is optional, and specifies one or more commands which are  #
# not available to non-operators. For example you may wish to disable #
# NICK and prevent non-opers from changing their nicknames.           #
# Note that any disabled commands take effect only after the user has #
# 'registered' (e.g. after the initial USER/NICK/PASS on connection)  #
# so for example disabling NICK will not cripple your network.        #
#                                                                     #

#<disabled commands="TOPIC MODE">


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Just remove this... Its here to make you read ALL of the config   #
#   file options ;)                                                   #

<die value="You should probably edit your config *PROPERLY* and try again.">



#-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Settings to define which features are useable on your server.     #
#                                                                     #
#  prefixquit    - a prefix for a client's quit message               #
#                                                                     #
#  loglevel      - specifies what detail of messages to log in the    #
#                  log file. You may select from debug, verbose,      #
#                  default, sparse and none.                          #
#                                                                     #
#  allowhalfop   - allows the +h channel mode                         #
#                                                                     #
#  noservices    - If noservices is true, yes, or 1, then the first   #
#                  user into a channel gets founder status. This is   #
#                  only useful on networks running the m_chanprotect  #
#                  module without services.                           #
#                                                                     #
#  qaprefixes    - If qaprefixes is true, yes, or 1, then users       #
#                  with +q or +a will get the ~ or & prefixes         #
#                  used in unreal. This is only useful on networks    #
#                  running the m_chanprotect module                   #
#                                                                     #
#  deprotectself - If this value is set to yes, true, or 1, then any  #
#                  user with +q or +a may remove the +q or +a from    #
#                  themselves. The default setting is to not enable   #
#                  this feature, which stops even the founder taking  #
#                  away their founder status without using services.  #
#                                                                     #
#  cyclehosts    - If this is set to true, yes or 1, then when a      #
#                  user's hostname changes, they will appear to quit  #
#                  and then rejoin with their new host. This prevents #
#                  clients from being confused by host changes,       #
#                  especially in the case of bots, and it is          #
#                  recommended that this option is enabled.           #
#                                                                     #
#  netbuffersize - size of the buffer used to receive data from       #
#                  clients. The ircd may only read() this amount      #
#                  of text in one go at any time. (OPTIONAL)          #
#                                                                     #
#  maxwho        - The maximum number of results returned by a /WHO   #
#                  query. This is to prevent /WHO being used as a     #
#                  spam vector or means of flooding an ircd. The      #
#                  default is 128, it is not recommended to raise it  #
#                  above 1024. Values up to 65535 are permitted.      #
#                                                                     #
#  somaxconn     - The maximum number of sockets that may be waiting  #
#                  in the accept queue. This usually allows the ircd  #
#                  to soak up more connections in a shorter space of  #
#                  time when increased but please be aware there is a #
#                  system defined maximum value to this, the same way #
#                  there is a system defined maximum number of file   #
#                  descriptors. Some systems may only allow this to   #
#                  be up to 5 (ugh) while others such as FreeBSD will #
#                  default to a much nicer 128.                       #
#                                                                     #
#  moduledir     - This optional value indicates a runtime change of  #
#                  the location where modules are to be found. This   #
#                  does not add a supplementary directory. There can  #
#                  only be one module path.                           #
#                                                                     #
#  softlimit     - This optional feature allows a defined softlimit.  #
#                  if defined sets a soft maxconnections value, has   #
#                  to be less than the ./configure maxclients         #
#                                                                     #
#  userstats     - The userstats field is optional and specifies      #
#                  which stats characters in /STATS may be requested  #
#                  by non-operators. Stats characters in this field   #
#                  are case sensitive and are allowed to users        #
#                  independent of if they are in a module or the core #
#                                                                     #
#  operspywhois  - If this is set then when an IRC operator uses      #
#                  /WHOIS on a user they will see all channels, even  #
#                  ones if channels are secret (+s), private (+p) or  #
#                  if the target user is invisible +i.                #
#                                                                     #
#  customversion - If you specify this configuration item, and it is  #
#                  not set to an empty value, then when a user does   #
#                  a /VERSION command on the ircd, this string will   #
#                  be displayed as the second portion of the output,  #
#                  replacing the system 'uname', compile flags and    #
#                  socket engine/dns engine names. You may use this   #
#                  to enhance security, or simply for vanity.         #
#                                                                     #
#  maxtargets    - The maxtargets field is optional, and if not       #
#                  defined, defaults to 20. It indicates the maximum  #
#                  number of targets which may be given to commands   #
#                  such as PRIVMSG, KICK etc.                         #
#                                                                     #
#  hidesplits    - When set to 'yes', will hide split server names    #
#                  from non-opers. Non-opers will see '*.net *.split' #
#                  instead of the server names in the quit message,   #
#                  identical to the way IRCu displays them.           #
#                                                                     #
#  hidebans      - When set to 'yes', will hide gline, kline, zline   #
#                  and qline quit messages from non-opers. For        #
#                  example, user A who is not an oper will just see   #
#                  (G-Lined) while user B who is an oper will see the #
#                  text (G-Lined: Reason here) instead.               #
#                                                                     #
#  hidewhois     - When defined with a non-empty value, the given     #
#                  text will be used in place of the user's server    #
#                  in WHOIS, when a user is WHOISed by a non-oper.    #
#                  For example, most nets will want to set this to    #
#                  something like '*.netname.net' to conceal the      #
#                  actual server the user is on.                      #
#                                                                     #
#  flatlinks     - When you are using m_spanningtree.so, and this     #
#                  value is set to true, yes or 1, /MAP and /LINKS    #
#                  will be flattened when shown to a non-oper.        #
#                                                                     #
#  hideulines    - When you are using m_spanningtree.so, and this     #
#                  value is set to true, yes or 1, then U-lined       #
#                  servers will be hidden in /LINKS and /MAP. For non #
#                  opers. Please be aware that this will also hide    #
#                  any leaf servers of a U-lined server, e.g. jupes.  #
#                                                                     #
#  nouserdns     - If set to 'yes', 'true' or '1', no user dns        #
#                  lookups will be performed for connecting users.    #
#                  this can save a lot of resources on very busy irc  #
#                  servers.                                           #
#                                                                     #
#  syntaxhints   - If set to 'yes', 'true' or '1', when a user does   #
#                  not give enough parameters for a command, a syntax #
#                  hint will be given (using the RPL_TEXT numeric)    #
#                  as well as the standard ERR_NEEDMOREPARAMS.        #
#                                                                     #
#  announcets    - If this value is defined to 'yes', 'true' or '1',  #
#                  then if a channel's timestamp is updated the users #
#                  on the channel will be informed of the change via  #
#                  a server notice to the channel with the old and    #
#                  new TS values in the timestamp. If you think this  #
#                  is just pointless noise, define the value to 0.    #
#                                                                     #
#  notimesync    - If this value is 'yes', 'true', or '1', time       #
#                  synchronization is disabled on this server. This   #
#                  means any servers you are linked to will not       #
#                  automatically synchronize time with you, and in    #
#                  most cases will just result in more bounced modes  #
#                  on netsplits. This option should be the same on    #
#                  all servers.                                       #
#                                                                     #

<options prefixquit="Quit: "
         loglevel="default"
         netbuffersize="10240"
         maxwho="128"
         noservices="no"
         qaprefixes="no"
         deprotectself="no"
         somaxconn="128"
         softlimit="12800"
         userstats="Pu"
         operspywhois="no"
         customversion=""
         maxtargets="20"
         hidesplits="no"
         hidebans="no"
         hidewhois=""
         flatlinks="no"
         hideulines="no"
         nouserdns="no"
         syntaxhints="no"
         cyclehosts="yes"
         announcets="yes"
         notimesync="no"
         allowhalfop="yes">

#-#-#-#-#-#-#-#-#-#-#-#-#-  WHOWAS OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# This tag lets you define the behaviour of the /whowas command of    #
# your server.                                                        #
#                                                                     #
# groupsize      - Controls the maximum entries per nick shown when   #
#                  performing a /whowas nick. Setting this to 0 dis-  #
#                  ables whowas completely.                           #
#                                                                     #
# maxgroups      - The maximum number of nickgroups that can be added #
#                  to the list. If max is reached, oldest group will  #
#                  be deleted first like a FIFO. A groupsize of 3 and #
#                  a maxgroups of 5000 will allow for 5000 nicks to   #
#                  be stored with a history of 3, thus giving a total #
#                  of 3 * 5000 = 15000 entries. A setting of 0 dis-   #
#                  ables whowas completely.                           #
#                                                                     #
# maxkeep        - The maximum time a nick is kept in the whowas list #
#                  before being pruned. Time may be specified in      #
#                  seconds, or in the following format: 1y2w3d4h5m6s  #
#                  meaning one year, two weeks, three days, 4 hours,  #
#                  5 minutes and 6 seconds. All fields in this format #
#                  are optional. Minimum is 1 hour, if less InspIRCd  #
#                  will default back to 1 hour.                       #
#                                                                     #
#<whowas groupsize="10"                                               #
#        maxgroups="100000"                                           #
#        maxkeep="3d">                                                #


#-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#  These tags define which modules will be loaded on startup by your  #
#  server. Add modules without any paths. When you make your ircd     #
#  using the 'make' command, all compiled modules will be moved into  #
#  the folder you specified when you ran ./configure. The module tag  #
#  automatically looks for modules in this location.                  #
#  If you attempt to load a module outside of this location, either   #
#  in the config, or via /LOADMODULE, you will receive an error.      #
#                                                                     #
#  By default, ALL modules are commented out. You must uncomment them #
#  or add lines to your config to load modules. Please refer to       #
#  http://www.inspircd.org/wiki/Modules_List for a list of modules and#
#  each modules link for any additional conf tags they require.       #
#                                                                     #
#  You may use wildcards in a <module> tag to load all modules which  #
#  match a glob pattern (e.g. m_sa????.so would load m_sajoin,        #
#  m_sapart, m_saquit and m_sanick)                                   #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
# To link servers to InspIRCd, you MUST load the m_spanningtree       #
# module, as shown below. If you DO NOT do this, server links will    #
# NOT work at all. ie. The ports will NOT bind, and /connect will not #
# work properly. This is by design, to allow for the implementation   #
# of other linking protocols in modules in the future.                #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Spanning Tree module - allows linking of servers using the spanning
# tree protocol (see the READ THIS BIT section above).
#
#<module name="m_spanningtree.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alias module: Allows you to define server-side command aliases
#<module name="m_alias.so">
#
#-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you have the m_alias.so module loaded, you may also define       #
# aliases as shown below. They are commonly used to provide shortcut  #
# commands to services, however they are not limited to just this use.#
# An alias tag requires the following values to be defined in it:     #
#                                                                     #
# text        -      The text to detect at the start of the line,     #
#                    must be at the start of the line to trigger the  #
#                    alias. Cant contain spaces, but case insensitive #
# replace     -      The text to replace 'text' with. Usually this    #
#                    will be "PRIVMSG ServiceName :$2-" or similar.   #
#                    You may use the variables $1 through $9 in the   #
#                    replace string, which refer to the first through #
#                    ninth word in the original string typed by the   #
#                    user. You may also use $1- through $9- which     #
#                    refer to the first word onwards, through to the  #
#                    ninth word onwards, e.g. if the user types the   #
#                    command "foo bar baz qux quz" then $3- will hold #
#                    "baz qux quz" and $2 will contain "bar". You may #
#                    also use the special variables: $nick, $ident,   #
#                    $host and $vhost, and you may seperate multiple  #
#                    commands with \n. If you wish to use the ACTUAL  #
#                    characters \ and n together in a line, you must  #
#                    use the sequence "\\n".                          #
# requires    -      If you provide a value for 'requires' this means #
#                    the given nickname MUST be online for the alias  #
#                    to successfully trigger. If they are not, then   #
#                    the user receives a 'no such nick' 401 numeric.  #
# uline       -      Defining this value with 'yes', 'true' or '1'    #
#                    will ensure that the user given in 'requires'    #
#                    must also be on a u-lined server, as well as     #
#                    actually being on the network. If the user is    #
#                    online, but not on a u-lined server, then an     #
#                    oper-alert is sent out as this is possibly signs #
#                    of a user trying to impersonate a service.       #
# operonly    -      Defining this value, with a value of 'yes', '1'  #
#                    or true will make the alias oper only. If a non- #
#                    oper attempts to use the alias, it will appear   #
#                    to not exist.                                    #
#                                                                     #
#<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
#<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
#<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
#<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
#<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
#<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
#<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $3" requires="NickServ" uline="yes">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alltime module: Shows time on all connected servers at once
# #<module name="m_alltime.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Antibear security module: Prevents 'bear.txt' based trojans from
# connecting to your network by sending them a numeric they can't handle.
#<module name="m_antibear.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Antibottler module: Labels bottler leech bots
#<module name="m_antibottler.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ban except module: Adds support for channel ban exceptions (+e)
#<module name="m_banexception.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block amsg module: Attempt to block all usage of /amsg and /ame
#<module name="m_blockamsg.so">
#
#-#-#-#-#-#-#-#-#-#-#-  BLOCKAMSG CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you have the m_blockamsg.so module loaded, you can configure it  #
# with the <blockamsg> tag:                                           #
#                                                                     #
# delay          -   How many seconds between two messages to force   #
#                    them to be recognised as unrelated.              #
# action         -   Any of 'notice', 'noticeopers', 'silent', 'kill' #
#                    or 'killopers'. Define how to take action when   #
#                    a user uses /amsg or /ame.                       #
#
#<blockamsg delay="3" action="killopers">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block CAPS module: Blocking all-CAPS messages with cmode +P
#<module name="m_blockcaps.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block colour module: Blocking colour-coded messages with cmode +c
#<module name="m_blockcolor.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Botmode module: Adds the user mode +B
#<module name="m_botmode.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CBAN module: Lets you disallow channels from being used at runtime.
#<module name="m_cban.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Censor module: Adds the channel mode +G
#<module name="m_censor.so">
#
#-#-#-#-#-#-#-#-#-#-#-  CENSOR  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_censor module, then you must #
# specify some censor tags. See also:                                 #
# http://www.inspircd.org/wiki/Censor_Module                          #
#
#<include file="censor.conf">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel filter module: Allows channel-op defined message
# filtering using simple string matches (channel mode +g)
#<module name="m_chanfilter.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Chanprotect module: gives +q and +a channel modes
#<module name="m_chanprotect.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGHOST module: Adds the /CHGHOST command
#<module name="m_chghost.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGIDENT module: Adds the /CHGIDENT command
#<module name="m_chgident.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Cloaking module: Adds usermode +x and cloaking support
#<module name="m_cloaking.so">
#
#-#-#-#-#-#-#-#-#-#-#- CLOAKING  CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If ypu specify the m_cloaking.so module as above, you    #
# must define cloak keys, and optionally a cloak prefix as shown      #
# below. When using cloaking, the cloak keys are MANDITORY and must   #
# be included. However, if prefix is not included, it will default    #
# to your networks name from the <server> tag.                        #
#                                                                     #
# <cloak key1="543241423"                                             #
#        key2="5378410432"                                            #
#        key3="1143242382"                                            #
#        key4="9504324581"                                            #
#        prefix="mynet">                                              #
#                                                                     #
# Please note that the key values will accept any number, and should  #
# be large numbers. Using small numbers such as "7" or "1924" will    #
# seriously weaken the security of your cloak.                        #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Lusers: Shows the LUSERS output on connect
#<module name="m_conn_lusers.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Usermodes: Set modes on users when they connect
# When this module is loaded <connect:allow> tags may have an optional
# modes="" value, which contains modes to add or remove from users
# when they connect to the server.
#<module name="m_conn_umodes.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Wait-for-Pong: Don't let a user connect until they PONG
#<module name="m_conn_waitpong.so">
#
#-#-#-#-#-#-#-#-#-#-#-   WAITPONG CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you have the m_conn_waitpong.so module loaded, configure it with #
# the <waitpong> tag:                                                 #
#                                                                     #
# sendsnotice    -   Whether to send a snotice on connect, like other #
#                    older ircds                                      #
#                                                                     #
# killonbadreply -   Whether to kill the user if they send the wrong  #
#                    PONG reply.                                      #
#                                                                     #
#<waitpong sendsnotice="yes" killonbadreply="yes">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Connection throttle module. Configuration:
#<module name="m_connflood.so">
#
#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#  seconds, maxconns -  Amount of connections per <seconds>.
#
#  timeout           -  Time to wait after the throttle was activated
#                       before deactivating it. Be aware that the time
#                       is seconds + timeout.
#
#  quitmsg           -  The message that users get if they attempt to
#                       connect while the throttle is active.
#
#  bootwait          -  Amount of time to wait before enforcing the
#                       throttling when the server just booted.
#
#<connflood seconds="30" maxconns="3" timeout="30"
#   quitmsg="Throttled" bootwait="10">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DCCALLOW module: Adds the /DCCALLOW command
#<module name="m_dccallow.so">
#
#-#-#-#-#-#-#-#-#-#-#-  DCCALLOW CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#  blockchat         - Whether to block DCC CHAT as well as DCC SEND
#  length            - Default duration of entries in DCCALLOW list
#  action            - Default action to take if no action is specified
#                      can be 'block' or 'allow'
#
# File configuration:
#  pattern           - The glob pattern to match against
#  action            - Action to take if a user attempts to send a file
#                      that matches this pattern, can be 'block' or 'allow'
#
#<dccallow blockchat="yes" length="5m" action="block">
#<banfile pattern="*.exe" action="block">
#<banfile pattern="*.txt" action="allow">
#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny Channels: Deny Channels from being used by users
#<module name="m_denychans.so"> 
#
#-#-#-#-#-#-#-#-#-#-#-   DENYCHAN DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you have the m_denychans.so module loaded, you need to specify   #
# the channels to deny:                                               #
#                                                                     #
# name        -      The channel name to deny.                        #
#                                                                     #
# allowopers  -      If operators are allowed to override the deny.   #
#                                                                     #
# reason      -      Reason given for the deny.                       #
#                                                                     #
#<badchan name="#gods" allowopers="yes" reason="Tortoises!">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Devoice Module: Let users devoice themselves.
#<module name="m_devoice.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides glob-based message filtering
#<module name="m_filter.so">
# OR
# PCRE filter module: Filters messages using regular expressions
#<module name="m_filter_pcre.so">
#
# You may only use one or the other with these modules, network-wide.
#
#-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_filter or m_filter_pcre      #
# modules, then specfiy below the path to the filter.conf file,       #
# or define some <filter> tags.                                       #
#                                                                     #
#<include file="filter.conf">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Foobar module: does nothing - historical relic
#<module name="m_foobar.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Globops module: gives /GLOBOPS and usermode +g
#<module name="m_globops.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Global load module: Allows loading and unloading of modules network-
# wide (USE WITH EXTREME CAUTION!)
#<module name="m_globalload.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HELPOP module: Provides the /HELPOP command
#<module name="m_helpop.so">
#
#-#-#-#-#-#-#-#-#-#-#-#-  HELPOP  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_helpop.so module, then       #
# specify below the path to the helpop.conf file, or if you like to   #
# make a mess, define your helpop tags in this conf.                  #
#                                                                     #
#<include file="helpop.conf">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HIDECHANS module: Allows opers to hide their channels list from non-
# opers by setting user mode +I on themselves.
# <module name="m_hidechans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HIDEOPER module: Allows opers to hide their oper status from non-
# opers by setting user mode +H on themselves.
# <module name="m_hideoper.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hostchange module: Allows a different style of cloaking
#<module name="m_hostchange.so">
#
#-#-#-#-#-#-#-#-#-#-#-  HOSTCHANGE  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you choose to use the m_hostchange.so module.         #
# Config Help -  See http://www.inspircd.org/wiki/Host_Changer_Module #
#                                                                     #
#<host suffix="polarbears.org">
#<hostchange mask="*@fbi.gov" action="addnick">
#<hostchange mask="*r00t@*" action="suffix">
#<hostchange mask="a@b.com" action="set" value="blah.blah.blah">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# httpd module: Provides http server support for InspIRCd
#<module name="m_httpd.so">
#
#-#-#-#-#-#-#-#-#-#-#-#-  HTTPD   CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#
# Optional - If you choose to use the m_httpd.so module,  then you must
# specify the port number and other details of your http server:
#
#<http ip="192.168.1.10" host="brainwave" port="32006"
#      index="/home/brain/inspircd/http/index.html">
#
# You may have as many of these tags as you wish, each with a different
# IP, port, host or index file. Each one will act as an independent
# HTTP server.
#

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# http stats module: Provides basic stats pages over HTTP
# Requires m_httpd.so to be loaded for it to function.
#<module name="m_httpd_stats.so">
#
#-#-#-#-#-#-#-#-#-#-#-#- HTTPD STATS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
#
#<httpstats stylesheet="http://remote.style/sheet.css">
#

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ident: Provides RFC 1413 ident lookup support
#<module name="m_ident.so">
#
#-#-#-#-#-#-#-#-#-#-#-#-   IDENT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you are using the m_ident.so module, then you can     #
# specify the timeout for ident lookups here. If not defined, it will #
# default to one second. This is a non-blocking timeout which holds   #
# the user in a 'connecting' state until the lookup is complete.      #
#                                                                     #
#<ident timeout="5">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invite except module: Adds support for channel invite exceptions (+I)
#<module name="m_inviteexception.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Join flood module: Adds support for join flood protection (+j)
#<module name="m_joinflood.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Anti-Auto-Rejoin: Adds support for prevention of auto-rejoin (+J)
#<module name="m_kicknorejoin.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Knock module: adds the /KNOCK command and +K channel mode
#<module name="m_knock.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Msg flood module: Adds message/notice flood protection (+f)
#<module name="m_messageflood.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# MySQL module: Allows other SQL modules to access MySQL databases
# through a unified API. You must copy the source for this module
# from the directory src/modules/extra, plus the file m_sqlv2.h
#<module name="m_mysql.so">
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_mysql.so is more complex than described here, see the wiki for    #
# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module      #
#
#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database2">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# NAMESX module: Provides support for the NAMESX extension which allows
# clients to see all the prefixes set on a user without getting confused.
# This is supported by mIRC, x-chat, klient, and maybe more.
#<module name="m_namesx.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Nicklock module: Let opers change a user's nick and then stop that
# user from changing their nick again.
#<module name="m_nicklock.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No ctcp module: Adds the channel mode +C to block CTCPs
#<module name="m_noctcp.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Noinvite module: Gives channel mode +V
#<module name="m_noinvite.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No kicks module: Adds the +Q channel mode
#<module name="m_nokicks.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No nicks module: Adds the +N channel mode
#<module name="m_nonicks.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No Notice module: adds the channel mode +T
#<module name="m_nonotice.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper channels mode: Adds the +O channel mode
#<module name="m_operchans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper Join module: Forces opers to join a channel on oper-up
#<module name="m_operjoin.so">
#
#-#-#-#-#-#-#-#-#-#-#   OPERJOIN CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you are using the m_operjoin.so module, specify the channel here #
#                                                                     #
#<operjoin channel="#channel">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MOTD module: Provides support for seperate message of the day
# on oper-up
#<module name="m_opermotd.so">
#
#-#-#-#-#-#-#-#-#-#-#   OPERMOTD CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you are using the m_opermotd.so module, specify the motd here    #
#                                                                     #
#<opermotd file="oper.motd">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Override module: Adds support for oper override
#<module name="m_override.so">
#
#-#-#-#-#-#-#-#-#-#-#   OVERRIDE CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_override.so is too complex it describe here, see the wiki:        #
# http://www.inspircd.org/wiki/Oper_Override_Module                   #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper levels module: Gives each oper a level and prevents
# actions being taken against higher level opers
# Specify the level as the 'level' parameter of the <type> tag
#<module name="m_operlevels.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MD5 module: Allows MD5 hashed oper passwords
#<module name="m_opermd5.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper SHA256 module: Allows SHA256 hashed oper passwords
# This module is in src/modules/extra
#<module name="m_opersha256.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper modes module: Allows you to specify modes to add/remove on oper
# Specify the modes as the 'modes' parameter of the <type> tag
#<module name="m_opermodes.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# PostgreSQL module: Allows other SQL modules to access PgSQL databases
# through a unified API. You must copy the source for this module
# from the directory src/modules/extra, plus the file m_sqlv2.h
#<module name="m_pgsql.so">
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_pgsql.so is more complex than described here, see the wiki for    #
# more: http://www.inspircd.org/wiki/SQL_Service_Provider_Module      #
#
#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database" ssl="no">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Random Quote module: provides a random quote on connect.
# NOTE: Some of these may mimic fatal errors and confuse users and 
# opers alike! - BEWARE!
#<module name="m_randquote.so">
#
#-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_randquote.so module, then    #
# specify below the path to the randquotes.conf file.                 #
#                                                                     #
#<randquote file="randquotes.conf">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Redirect module: Adds channel redirection (mode +L)
#<module name="m_redirect.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Remove module: Adds the /REMOVE command which is a peaceful
# alternative to /KICK
#<module name="m_remove.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restrict banned users module:
# Disallows banned users on a channel from messaging the channel,
# changing nick, or changing the topic, if loaded.
#<module name="m_restrictbanned.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restricted channels module: Allows only opers to create channels
#<module name="m_restrictchans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restrict message module: Allows users to only message opers
#<module name="m_restrictmsg.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Provide /LIST throttling (to prevent flooding) and /LIST safety to
# prevent excess flood when the list is large.
#<module name="m_safelist.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAJOIN module: Adds the /SAJOIN command
#<module name="m_sajoin.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAMODE module: Adds the oper /SAMODE command
#<module name="m_samode.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SANICK module: Allows opers to change user's nicks
#<module name="m_sanick.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAPART module: Adds the oper /SAPART command
#<module name="m_sapart.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAQUIT module: Adds the oper /SAQUIT command (abusable!!!)
#<module name="m_saquit.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
# Secure list module: Prevent /LIST in the first minute of connection,
# crippling most spambots and trojan spreader bots.
#<module name="m_securelist.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Set Idle module: Adds a command for opers to change their
# idle time (mainly a toy)
#<module name="m_setidle.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Services support module: Adds several usermodes such as +R and +M
# this module implements the 'identified' state via user mode +r, which
# is similar to the DALnet and dreamforge systems.
#<module name="m_services.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Services support module: Adds several usermodes such as +R and +M
# this module implements the 'identified' state via account names (AC)
# and is similar in operation to the way asuka and ircu handle services.
# it cannot be used at the same time as m_services, above.
#<module name="m_services_account.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Sethost module: Adds the /SETHOST command
#<module name="m_sethost.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Setident module: Adds the /SETIDENT command
#<module name="m_setident.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SETNAME module: Adds the /SETNAME command
#<module name="m_setname.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Show Whois module: Adds the +W usermode which allows opers
# to see when they are whois'ed (can be annoying).
#<module name="m_showwhois.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Spy module: Adds the commands SPYLIST and SPYNAMES that let opers
# see who is in a +s channel, and list +s channels, show keys of keyed
# channels the oper is not a member of etc. (standard 'abusive' features
# of many other ircds, modulized here in InspIRCd).
#<module name="m_spy.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL channel mode module: Adds support for SSL-only channels (+z).
# does not do anything useful without a working SSL module (see below)
#<module name="m_sslmodes.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Dummy ssl module: If you have other servers on your network which
# have SSL, but your server does not have ssl enabled, you should load
# this module, which will handle SSL metadata (e.g. the "Is using ssl"
# field in the WHOIS information).
#<module name="m_ssl_dummy.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GnuTLS ssl module: Adds support for client-server SSL using GnuTLS,
# if enabled. You must copy the source for this module from the directory
# src/modules/extra, or answer 'yes' in ./configure when asked if you
# want to enable this, or it will not load.
#<module name="m_ssl_gnutls.so">
#
#-#-#-#-#-#-#-#-#-#-#-  GNUTLS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_ssl_gnutls.so is too complex it describe here, see the wiki:      #
# http://www.inspircd.org/wiki/GnuTLS_SSL_Module                      #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL Info module: Allows users to retrieve information about other
# user's peer SSL certificates and keys. This can be used by client
# scripts to validate users. For this to work, one of m_ssl_gnutls.so
# or m_ssl_openssl.so must be loaded. You must symlink the source for
# this module from the directory src/modules/extra.
#<module name="m_sslinfo.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL,
# if enabled. You must copy the source for this module from the directory
# src/modules/extra, or answer 'yes' in ./configure when asked if you
# want to enable this, or it will not load.
#<module name="m_ssl_openssl.so">
#
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_ssl_openssl.so is too complex it describe here, see the wiki:     #
# http://www.inspircd.org/wiki/OpenSSL_SSL_Module                     #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL Cert Oper module: Allows opers to oper up using the key fingerprint
# stored within their SSL certificate and key pair.
# When using this module, one of m_ssl_gnutls.so or m_ssl_openssl.so must
# be loaded. An extra value should be added to enabled opers, which
# is in the following format: fingerprint="<hash>". For more information,
# see the example in the oper blocks.
#<module name="m_ssl_oper_cert.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Strip colour module: Adds the channel mode +S
#<module name="m_stripcolor.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SILENCE module: Adds support for /SILENCE
#<module name="m_silence.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Extended SILENCE module: Adds support for /SILENCE with additional
# features to silence based on invites, channel messages, etc.
#<module name="m_silence_ext.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQLutils module: Provides some utilities to SQL client modules, such
# as mapping queries to users and channels. You must copy the source
# for this module from the directory src/modules/extra/m_sqlutils.cpp
# and src/modules/extra/m_sqlutils.h into /src/modules
# Needed for, and loaded before: SQLauth and SQLoper
#<module name="m_sqlutils.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL authentication module: Allows IRCd connections to be tied into
# a database table (for example a forum). You must copy the source for
# this module from the directory src/modules/extra
# Depends on the SQLutils module being loaded first.
#<module name="m_sqlauth.so">
#
#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# m_sqlauth.so is too complex it describe here, see the wiki:         #
# http://www.inspircd.org/wiki/SQL_Authentication_Module              #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL logging module: Allows you to log network-wide data for your
# network in a fully normalized set of SQL tables. You must copy the
# source for this module from the directory src/modules/extra
#<module name="m_sqllog.so">
#
#-#-#-#-#-#-#-#-#-#-#-  SQLLOG CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# dbid       - Database ID to use (see m_sql)                         #
#                                                                     #
# See also: http://www.inspircd.org/wiki/SQL_Logging_Module           #
#                                                                     #
#<sqllog dbid="1">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL oper module: Allows you to store oper credentials in an SQL table
# You must copy the source for this module from the directory src/modules/extra
# Depends on the SQLutils module being loaded first.
#<module name="m_sqloper.so">
#
#-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# dbid       - Database ID to use (see m_sql)                         #
#                                                                     #
# See also: http://www.inspircd.org/wiki/SQL_Oper_Storage_Module      #
#                                                                     #
#<sqloper dbid="1">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SWHOIS module: Allows you to add arbitary lines to user WHOIS.
#<module name="m_swhois.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Test command module: Does nothing significant. Read: pointless.
#<module name="m_testcommand.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Timed bans module: Adds timed bans and the /TBAN command
#<module name="m_timedbans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Test line module: Adds the /TLINE command, used to test how many
# users a /GLINE or /ZLINE etc would match.
#<module name="m_tline.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Uninvite module: Adds the /UNINVITE command which lets users remove
# pending invites from channels without waiting for the user to join.
#<module name="m_uninvite.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Userip module: Adds the /USERIP command
#<module name="m_userip.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Vhost module: Adds the VHOST command which allows for adding virtual
# hosts which are accessible using a username and password in the config.
#<module name="m_vhost.so">
#
#-#-#-#-#-#-#-#-#-#-#- VHOST CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# user       - Username for the vhost.                                #
#                                                                     #
# pass       - Password for the vhost.                                #
#                                                                     #
# host       - Vhost to set.                                          #
#
#<vhost user="some_username" pass="some_password" host="some.host">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Watch module: Adds the WATCH command, which is used by clients to 
# maintain notify lists.
#<module name="m_watch.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-  BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# The ban tags define nick masks, host masks and ip ranges which are  #
# banned from your server. All details in these tags are local to     #
# Your server.                                                        #
#                                                                     #
#                                                                     #
# badip lines ban an ip range (same as a zline)                       #
#                                                                     #
# ipmask       -          The ip range to ban (wildcards possible)    #
#                         CIDR is supported in the IP mask.           #
# reason       -          Reason to display when disconnected         #
#                                                                     #
# badnick lines ban a nick mask (same as a qline)                     #
#                                                                     #
# nick         -          Nick mask to ban (wildcards possible)       #
# reason       -          Reason to display on /NICK                  #
#                                                                     #
# badhost lines ban a user@host mask (same as a kline)                #
#                                                                     #
# host         -          ident@hostname (wildcards possible)         #
#                         If you specify an IP, CIDR is supported.    #
# reason       -          Reason to display on disconnection          #
#                                                                     #
# exception lines define a hostmask that is excempt from [kzg]lines   #
#                                                                     #
# host         -          ident@hostname (wildcards possible)         #
#                         If you specify an IP, CIDR is supported.    #
# reason       -          Reason, shown only in /stats e              #
#                                                                     #

<badip ipmask="69.69.69.69" reason="No porn here thanks.">

<badnick nick="ChanServ" reason="Reserved For Services">
<badnick nick="NickServ" reason="Reserved For Services">
<badnick nick="OperServ" reason="Reserved For Services">
<badnick nick="MemoServ" reason="Reserved For Services">

<badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
<badhost host="*@localhost" reason="No irc from localhost!">
<badhost host="*@172.32.0.0/16" reason="This subnet is bad.">

<exception host="*@ircop.host.com" reason="Opers hostname">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   You should already know what to do here :)                        #

<die value="No, i wasnt joking. You should probably edit your config *PROPERLY* and try again.">


#########################################################################
#                                                                       #
#                     - InspIRCd Development Team -                     #
#                        http://www.inspircd.org                        #
#                                                                       #
#########################################################################