-
Notifications
You must be signed in to change notification settings - Fork 0
/
ignitionserver.xml
681 lines (621 loc) · 30.1 KB
/
ignitionserver.xml
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
<?xml version="1.0" encoding="UTF-8" ?>
<ignitionserver
m:xmlns="http://www.ignition-project.com/xmlns/ignitionserver-macros/1.0"
xmlns="http://www.ignition-project.com/xmlns/ignitionserver/1.0">
<!--
ignitionServer 0.3.7 Server Configuration
=========================================
This XML file contains all of the settings
required for ignitionServer to properly
function. Using comments, we attempt to
completely document what each line changes
and what each line does, so PLEASE read the
comments!
Comments may span multiple lines, be on the
same line, etc. All comments are enclosed
with characters like this comment block is.
It shouldn't be too hard to figure out :).
P.S. DON'T FORGET! Set the "die" option to false,
or else your server will say it's misconfigured!
-->
<!-- also note: tags are CASE SENSITIVE -->
<core>
<!--
ignitionServer Core Settings
============================
This section sets all of the core server settings, like
server address, server name, server description, server
location, and server administrator information.
NOTES:
Server address must be one word, and can only contain
letters that domains can contain (A-Z, a-z, 0-9, dash [-],
and dot [.]). It must begin with a letter or number. For
best results, server address should be a resolvable hostname,
but it's not necessarily required.
-->
<server>
<serverAddress>localhost</serverAddress>
<serverName>ignitionServer Test Server</serverName>
<serverLocation>Oklahoma, US</serverLocation>
<serverDescription>IRCXpro - $300. Exchange - $1500. ignitionServer - Priceless.</serverDescription>
<administrator>
<administratorLocation>Some Location, Earth</administratorLocation>
<administratorName>Your Name Here</administratorName>
<administratorEmail>[email protected]</administratorEmail>
</administrator>
</server>
</core>
<ports>
<!--
ignitionServer Port Setup
=========================
This section defines what ports and
adapters that ignitionServer listens on for
connections. It also allows you to set
various options on the port. Currently,
there are no supported options, however we
intend on adding them.
Currently supported nodes:
port/portAdapter: specify the IP address of the adapter to bind to (0.0.0.0 binds to every adapter, the default)
port/portNumber: number of the port to bind to (6667 usually)
port/portOptions
port/portOptions/portMOTD: Message of the day file to use for users connecting to this port. Default path is where ignitionServer is installed. (optional)
port/portOptions/portUseSSL: Port should use SSL (true/false) [unsupported, planned for addition]
port/portProtocol: protocol in use on this port. Possible options: irc, telnet (future), irp (ignition remote protocol - future); default = irc
port/portSecurity
port/portSecurity/portAuth: Name of the authentication mechanism to use. Possible options: digest, proxy, plain, none (default = none)
Add multiple port nodes to make ignitionServer bind to multiple ports
-->
<port>
<portAdapter>0.0.0.0</portAdapter>
<portNumber>6667</portNumber>
<portOptions>
<portMOTD>ircx.motd</portMOTD>
</portOptions>
<portProtocol>irc</portProtocol>
<portSecurity>
<portAuth>none</portAuth>
</portSecurity>
</port>
</ports>
<security>
<!--
ignitionServer Security Settings
================================
This section contains all of the security-related settings,
including the advanced security settings. The defaults will
usually be fine, but you'll probably want to double-check the
settings here first.
-->
<!--
/restart and /die passwords
If password encrpytion is enabled, they are encrypted.
defaults:
/restart: restart
/die: die
-->
<restartpass>8a7ef1c3e82395341b7000b79c239eb4</restartpass>
<diepass>81b63b9d54b303edeaf9765a6915ee13</diepass>
<!-- in all of the following, 0 means "infinite" (which really means 4,294,967,296) -->
<!-- Use infinite with extreme caution! Setting the maximum nickname length to infinite will allow Denial of Service attacks! -->
<!-- total number of connections the server can handle -->
<maxConnections>1024</maxConnections>
<!-- maximum number of connections from a particular IP address -->
<maxClones>5</maxClones>
<!-- maximum number of channels a user can be in -->
<maxChansPerUser>10</maxChansPerUser>
<!-- maximum length of a nickname -->
<nickLen>32</nickLen>
<!-- maximum length of a channel's topic -->
<topicLen>150</topicLen>
<!-- maximum length of a kick message -->
<kickLen>150</kickLen>
<!-- maximum length of a part message -->
<partLen>150</partLen>
<!-- maximum length of a host/owner/member key -->
<keyLen>32</keyLen>
<!-- maximum length of a quit message -->
<quitLen>150</quitLen>
<!-- maximum number of users to return in a /who -->
<whoLen>200</whoLen>
<!-- maximum number of channels to return in a /list or /listx -->
<maxListLen>0</maxListLen>
<!-- maximum number of messages in a user's queue - in a large network, set this to about 20 for adequate flood protection -->
<maxMessageQueue>0</maxMessageQueue>
<!-- in the following settings, 0 does NOT mean "infinite" -->
<!--
passcrypt: set the password encryption type
Currently, the only supported password encryption is MD5 (casing does not matter).
-->
<passCrypt>md5</passCrypt>
<hostmasking>
<!--
ignitionServer Hostmasking Settings
===================================
hostmaskMode: set how to mask hostnames
Currently, the following options are valid:
none - do not mask hostnames
md5 - mask hostnames with the MD5 sum of the hostname
host - custom hostname masking
hostmaskHost: set the hostname mask for use when hostmaskmode is host
The user's signon nickname is appended to the hostname with a dot.
Example: nickname.hostname
-->
<hostmaskMode>md5</hostmaskMode>
<hostmaskHost>users.yoursite.com</hostmaskHost>
</hostmasking>
<operProt>
<!--
ignitionServer Operator Protection Settings
===========================================
This section sets what level an oper gets in
a channel when he/she is +P or +p. Both options
take the same kind of values, and the following
values are valid:
owner - give this operator protection level owner access when they join channels
host - give this operator protection level host access when they join channels
voice - give this operator protection level voice when they join channels
normal - give this operator protection level normal access to channels
-->
<!-- highprot = +P -->
<highProt>owner</highProt>
<!-- lowprot = +p -->
<lowProt>host</lowProt>
</operProt>
</security>
<connections>
<!--
ignitionServer Connection Access Control
========================================
This section controls what clients get assigned
to what groups, and also allows you to define new
groups and filters for these groups.
For those of you who are familiar with the old-style
configuration, groups are Y: lines and rules are I: lines.
-->
<classes>
<!--
ignitionServer Connection Class Settings
========================================
When setting up your server, it helps to
designate certain ranges of IDs for certain
purposes.
For the purposes of this configuration, we use
the following ranges (FYI: more than one user can
belong to a class):
1-99: Normal Clients
100-199: IRC Operators
200-299: Servers
300-399: Services
You are encouraged to come up with your own numbering convention,
but they MUST be numbers, and cannot be higher than 32767.
By the way, IRC Operators must have their own class, for security
reasons. The server automatically assigns them to whatever class
is specified in their <user /> node, however it must be different from
the class they were assigned to previously by a connection rule.
Description of Values:
classId: any number from 1 to 32767, must be unique
classPing: the number of seconds between pings when the user is inactive. 0 disables pinging.
classFlood: the number of seconds required between clients "joining" the class. if a client
joins faster than this, they are not allowed to associate with the class. 0 disables this feature.
A good use for this would be to limit the speed at which IRC operators can become
IRC operators; this would prevent oper flooding if you get a disgruntled oper.
classMaxClients: the maximum number of clients that can belong to this class. 0 means infinite.
classSendQ: the length (in bytes) of the output buffer for members of the class. this buffer is used
whenever the server cannot immediately process a request (it's busy). this buffer is in
place because malicious clients could easily bog the server down without it. if a client exceeds
their class's SendQ, they are killed and removed from the server.
classTitle: gives a name to the class, used in user interfaces.
== future ==
classRequireAuth: Boolean. If true, authentication will be required for this group. If
false, authentication is disabled.
authtype (ignored if requireauth is false, required if requireauth is true): the type of
authentication to require. Currently, only "Digest" is supported. This will be ignored
if requireauth is false. You can specify multiple forms of allowed authentication if you
seperate each type with spaces.
Recommended SendQ Lengths:
Normal Clients: 20 RFC 1459 lines (512 bytes): 10240
IRC Operators: 30 RFC 1459 lines (512 bytes): 15360
Servers: 60 RFC 1459 lines (512 bytes): 30720
-->
<!-- Default Normal Client Class -->
<class>
<classId>1</classId>
<classPing>180</classPing>
<classFlood>0</classFlood>
<classMaxClients>10000</classMaxClients>
<classSendQ>10240</classSendQ>
<classTitle>Default Normal Client Class</classTitle>
<classRequireAuth>false</classRequireAuth>
<classAuthType>digest</classAuthType>
</class>
<!-- Default IRC Operator Class -->
<class>
<classId>100</classId>
<classPing>180</classPing>
<classFlood>0</classFlood>
<classMaxClients>100</classMaxClients>
<classSendQ>15360</classSendQ>
<classTitle>Default IRC Operator Group</classTitle>
<classRequireAuth>false</classRequireAuth>
<classAuthType>digest</classAuthType>
</class>
<!-- Default Server Class -->
<class>
<classId>200</classId>
<classPing>180</classPing>
<classFlood>0</classFlood>
<classMaxClients>100000</classMaxClients>
<classSendQ>30720</classSendQ>
<classTitle>Default Server Class</classTitle>
<classRequireAuth>false</classRequireAuth>
<classAuthType>digest</classAuthType>
</class>
</classes>
<rules>
<!--
ignitionServer Client Assignment Rules
======================================
Client assignment rules assign clients to particular
classes based on rules. Rules do not "cascade"; you cannot
make one rule that allows all users with one password, and
then have the same rule with a different password. However,
rules are processed in order, and clients are assigned based
on the first rule they match. THIS MEANS THAT IF YOU HAVE
CUSTOM RULES, YOU MUST PLACE THEM BEFORE THE DEFAULT "ALL"
RULE! If you do not do this, all clients will be assigned to
the first rule their hosts match, which would be the
"everybody" rule.
If you remove the "all users" rule and someone connects who
does not match, they will not be allowed to connect.
Assignment rules allow you to give certain hosts or IP addresses
different classes. For example, you could create a "Netherlands" class,
and assign any user whose host is *.nl to it. This class could benefit
from a larger sendq, a less frequent ping, and possibly a higher client
number. This would be extremely handy if your server was located in the
Netherlands. Clients from elsewhere will be slower from clients located
in the Netherlands.
NOTE: DO NOT MODIFY THE DEFAULT RULE UNLESS YOU UNDERSTAND WHAT YOU
ARE DOING! NORMALLY, CHANGING THE DEFAULT RULE OR ADDING MORE RULES IS
UNNECESSARY!
Description of Fields:
matchIP: the IP to match. if you want to match using the hostname, leave this
blank. wildcards ? and * permitted
matchHost: the host to match, if matchIP is blank. wildcards ? and * permitted.
rulePassword (optional): password required to log in if a user matches this rule. servers must not have a
rule password and a link password (you need to create a new rule for them if the
server would match a rule that requires a password). if encryption is enabled,
the password is encrypted.
ruleClass: class to assign the user to. must exist as a <class /> above.
ruleMode: either permit or deny. permit is the default. if set to permit, anything that matches
the rule will be allowed on the server (assuming they didn't match a previous rule). if
set to deny, anyone matching it (assuming they didn't match a previous rule) will not be
able to connect (the error will read "Connections not accepted from your host").
ruleTitle (optional): gives a name to the rule
Users may end up in a different class if they authenticate (if enabled), or if they /oper. Rules only
apply when users connect.
-->
<rule>
<matchIP>*</matchIP>
<matchHost>*</matchHost>
<rulePassword></rulePassword>
<ruleClass>1</ruleClass>
<ruleMode>permit</ruleMode>
<ruleTitle>Default Normal Client Rule</ruleTitle>
</rule>
</rules>
<users>
<!--
ignitionServer Users
====================
NEW INSTALLATIONS: ADMIN PASS IS "admin"
Use included PassCrypt to generate passwords or log on to your server
and type /passcrypt MD5 password (replace password with your password)
NOTE: Encrypted passwords only encrypt the passwords on disk - /oper'ing
is still the same (/oper user pass).. And when opering, you do NOT use
the encrypted password (in the default case, you'd still go
/oper admin admin).
DO NOT FORGET! CHANGE THE DEFAULT PASSWORD FROM "admin" TO SOMETHING
ELSE! YOUR SERVER **WILL** BE COMPROMISED IF YOU FAIL TO DO THIS!
NEW! You don't have to include a lot of modes now! Here's the simplified
list:
N - Network Administrator (NOocekbBKCRDWH)
O - Global Operator (OocekbBKCW)
o - Local Operator (ocekbB)
In addition, you may want to add the following modes:
s - Gets Server Messages (good idea)
w - Gets Wallops (good idea)
P - Is High Protected (see X:HIGHPROT)
p - Is Low Protected (see X:LOWPROT)
The following modes may or may not be automatically given to a specific
oper level (for security reasons), but are given automatically to some
oper levels:
W - Can send WallOps (automatic for global oper and netadmin, unless
mode expansion is off [then it's netadmin only])
H - Can /chghost and /chgnick (automatic for netadmin)
Of course, you can always stick with the old long list of modes, if you
like (or if you want to customize a particular user's privledges). To do
this, prefix the list of modes with a dash (-). For example, to make a
user a local operator only, their <operModes /> line might look like this:
<operModes>-o</operModes>.
The - simply tells ignitionServer to switch off mode expansion for the rest
of the line.
Please note: NetAdmin gets access to some really powerful commands, so
do NOT just copy and paste the default modes from the default user node
for the rest of your opers!
You can also add other kinds of users, like vhosted users, or authenticated
users. Flags only apply to opers. Group is not required unless the user is
an operator. The following types of users are allowed:
oper - IRC operator
vhost - virtual host
auth - a user which can be authenticated. they receive no special privileges,
but if the server requires authentication, these users will be allowed in,
if they authenticate.
NOTE: OPERS AND VHOSTS DO NOT NEED A SEPERATE AUTH USER: THEY CAN ALWAYS AUTHENTICATE.
You can make the class of the user change when the user logs in by setting userClass. You
must set userClass for operators, and it must be a different class than was used in the rule
they matched upon connection.
If authentication is allowed for the type of user in the particular line (i.e. if they're
opers or auth type users), the following parameters also apply:
authResource - the name of the resource the user belongs in. this is usually "default", unless
you want to use a custom resource name, or to have the same username present in
different resources
digestRealPass - used in digest authentication, which needs to know the real password to be able to
authenticate. If this user won't be authenticating using digest, this paramter isn't
needed. if they try to authenticate using digest auth and this is not set, authentication
will fail unless the password isn't hashed/encrypted (option crypt = false)
-->
<user>
<userName>admin</userName>
<userType>oper</userType>
<userPassword>21232f297a57a5a743894a0e4a801fc3</userPassword>
<userHostmask>*</userHostmask>
<operModes>NPs</operModes>
<userClass>100</userClass>
</user>
<user>
<userName>admin</userName>
<userType>vhost</userType>
<userPassword>21232f297a57a5a743894a0e4a801fc3</userPassword>
<userHostmask>*</userHostmask>
</user>
</users>
</connections>
<bannednicks>
<!--
ignitionServer Banned Nicknames (Quarantines)
=============================================
This section allows you to ban certain nicknames
from being used. Wildcards * and ? are allowed.
Only local clients/nicknames can be banned.
Description of Fields:
banNick: the nickname/nickname mask that is disallowed
banReason: the reason to display to the client
banAction (optional): either warn or kill. the default action is
warn - a standard erroneous nickname message
is sent, and the user is expected to change
the nickname. if the action is set to kill,
the user is killed by the server (useful for
clonebots that keep joining your server)
-->
<!-- standard services -->
<bannednick>
<banNick>*Serv</banNick>
<banReason>Reserved for services</banReason>
</bannednick>
<!-- undernet and other networks use X and Q for services -->
<bannednick>
<banNick>X</banNick>
<banReason>Reserved for services</banReason>
</bannednick>
<bannednick>
<banNick>Q</banNick>
<banReason>Reserved for services</banReason>
</bannednick>
<!-- common IRC operator nicknames -->
<bannednick>
<banNick>DALnet*</banNick>
<banReason>Reserved for IRC Operators</banReason>
</bannednick>
<bannednick>
<banNick>IRCop*</banNick>
<banReason>Reserved for IRC Operators</banReason>
</bannednick>
<bannednick>
<banNick>Sysop*</banNick>
<banReason>Reserved for IRC Operators</banReason>
</bannednick>
<bannednick>
<banNick>Admin*</banNick>
<banReason>Reserved for IRC Operators</banReason>
</bannednick>
<bannednick>
<banNick>HelpOp*</banNick>
<banReason>Reserved for IRC Operators</banReason>
</bannednick>
<!-- example of the kill action -->
<bannednick>
<banNick>localhost</banNick>
<banReason>You are not localhost!</banReason>
<banAction>kill</banAction>
</bannednick>
</bannednicks>
<klines>
<!--
ignitionServer Kill Lines
=========================
Kill lines automatically kill a user when they become a user (and not before).
This can be used to ban pesky bots, or annoying users. Kill lines are different
from the command /kline in that kill lines are permanent (until removed from this file).
Bans added with /kline exist only while the server is running, and are forgotten when
the server is rehashed or restarted.
Description of Fields:
klineHost: a mask of the host to kill
klineMessage: the message to kill the user with
klineIdent: a mask of the ident of the user - for example, you could kline a user with
an ident matching that of a known clonebot.
klineTitle: a title describing the line
Examples:
<kline>
<klineHost>*aol.com</klineHost>
<klineIdent>*</klineIdent>
<klineMessage>Use your free minutes elsewhere!</klineMessage>
<klineTitle>Ban for AOL users</klineTitle>
</kline>
<kline>
<klineHost>*</klineHost>
<klineIdent>1337BOT*</klineIdent>
<klineMessage>You think you're so cool with your floodbot, don't you?</klineMessage>
<klineTitle>Ban for a floodbot that uses an ident of 1337BOT with anything else at the end</klineTitle>
</kline>
<kline>
<klineHost>*</klineHost>
<klineIdent>*</klineIdent>
<klineMessage>Go Away!</klineMessage>
<klineTitle>Bans everyone</klineTitle>
</kline>
-->
</klines>
<zlines>
<!--
ignitionServer IP Bans
======================
IP bans are less powerful than kill lines, however IP bans are triggered when the user connects.
Kill lines only kill users when they have become known as users to the server. IP bans
also require less server power to enforce.
Description of Fields:
zlineIP: a mask of the IP address
zlineMessage: the message to show to the user
zlineTitle: optional. a description of the Z-Line.
Examples:
<zline ipmask="12.*" message="We don't like your ISP" /> - bans AT&T
<zline>
<zlineIP>12.*</zlineIP>
<zlineMessage>We don't like your ISP</zlineMessage>
<zlineTitle>Bans anyone who uses AT&T WorldNet or who uses an ISP which uses AT&T</zlineTitle>
</zline>
<zline>
<zlineIP>192.168.*</zlineIP>
<zlineMessage>Do not connect from the LAN</zlineMessage>
<zlineTitle>Bans all class C private networks</zlineTitle>
</zline>
<zline>
<zlineIP>*</zlineIP>
<zlineMessage>Go Away!</zlineMessage>
<zlineTitle>Ban Everybody</zlineTitle>
</zline>
-->
</zlines>
<options>
<!--
ignitionServer Generic Options
==============================
These are options that cannot be categorized elsewhere. Values depend on the setting.
Compare to "classic" X: lines.
-->
<!-- Die: Prevent the server from starting; requires you to at least look at this file -->
<!-- options: true (default), false. Please set this to false when you're ready to bring your server up -->
<option>
<name>die</name>
<value>true</value>
</option>
<!-- Offline Mode: Switch the server online or offline. -->
<!-- options: online (default), offline. Set this to offline to bring the server offline
(rehash the server to take effect) -->
<option>
<name>offlineMode</name>
<value>online</value>
</option>
<!-- Offline Message: The message to give users when the server is offline -->
<!-- value: string -->
<option>
<name>offlineMessage</name>
<value>This server is currently offline for maintenance. Please try again later.</value>
</option>
<!-- Custom Auth Notice: A custom message to give users when connecting. If null, no custom message is sent. -->
<option>
<name>customAuthNotice</name>
<value>Welcome to the <m:IRCNetwork />, powered by ignitionServer: http://www.ignition-project.com/ignition/server/</value>
</option>
<!-- DNS Masking, Operator Protection, and Encryption: Please see the security section -->
<!-- Server Location: Please see the core section -->
<!-- Allow Multiple Instances: [ADVANCED FEATURE] Allow ignitionServer to be started multiple times. This will break the monitor, and will
require a lot of configuration checks on your part -->
<!-- values: false (default), true -->
<option>
<name>allowMultipleInstances</name>
<value>false</value>
</option>
<!--
Gag Mode - Set how gag (usermode +z) functions
ircx - (default) Do not show the user getting gagged that they are getting gagged, bounce messages (IRCX defined method)
nice - Show the user getting gagged they are getting gagged, bounce messages
mean - Do not show the user getting gagged and do not bounce messages (the user will not see any messages bounce and will likely blame it
on the server)
-->
<option>
<name>gagMode</name>
<value>ircx</value>
</option>
<!--
IRCX Method - Set how to send replies that exist in both IRCX and RFC1459
rfc1459only - (default) Only send RFC1459 messages. IRCX-enabled clients will not receive the IRCX raws for commands that can generate
either RFC1459 replies or IRCX replies.
normal - For replies that have an IRCX equavilent, send RFC1459 clients the RFC1459 reply and IRCX clients the IRCX reply. Some clients
may say they support IRCX but may not properly function with this mode and therefore it is not the default. However, if you're
sure that all of the clients connecting support IRCX properly (or, don't support IRCX at all [like X-Chat]), this mode is the
preferred choice.
both - Send both the IRCX reply and the RFC1459 reply to all clients. Ensures the most compatibility, but causes some clients to show
messages twice (mIRC for example). Modes not supported in RFC1459 will be filtered out, so non-IRCX clients can safely get IRCX
messages.
- NOTE -
Currently, mode +k isn't parsed or handled by this option. This is a known bug.
-->
<option>
<name>ircxMethod</name>
<value>rfc1459only</value>
</option>
<!--
Registered Channel Behavior - Set whether or not registered channels are handled as persistant channels
persist - Registered channels always stay open
nopersist - Registered channels never stay open
selectivepersist - Registered channels with mode +R always stay open; all others do not
-->
<option>
<name>registeredChannelBehavior</name>
<value>persist</value>
</option>
<!-- Error Log: Critical errors are logged here. -->
<option>
<name>errorLog</name>
<value>true</value>
</option>
<!-- Auto VHost: Automatically give operators VHosts if a VHost exists with the same username and password as the oper. See README for more
info -->
<option>
<name>autoVirtualHost</name>
<value>true</value>
</option>
<!-- createBehavior: Control who can create channels on the server
normal - (default) All users can create channels
operonly - Only IRC operators can create channels
privileged - Only IRC operators and +r (registered/identified) users can create channels
-->
<option>
<name>createBehavior</name>
<value>normal</value>
</option>
<!-- activityLog: Log server activity. Options:
disable (default): don't log
channelpublic - Log channel conversations
channelall - Log channel conversations and whispers
all - Log channel conversations, channel whispers, and private messages.
WARNING: IT MAY BE ILLEGAL TO ENABLE LOGGING IN YOUR STATE/COUNTRY/CITY/COUNTY WITHOUT
NOTIFYING USERS WHO CONNECT. YOU ACCEPT FULL RESPONSIBILITY IF YOU BREAK THE LAW!
-->
<option>
<name>activityLog</name>
<value>disable</value>
</option>
</options>
</ignitionserver>