]> jfr.im git - irc/rqf/shadowircd.git/blob - doc/sgml/oper-guide/commands.sgml
4b615d129f5af5dae7174eec7cd35aa25a669da2
[irc/rqf/shadowircd.git] / doc / sgml / oper-guide / commands.sgml
1 <chapter id="commands">
2 <title>Operator Commands</title>
3 <sect1>
4 <title>Network management commands</title>
5 <note>
6 <para>
7 All commands and names are case insensitive.
8 Parameters consisting of one or more separate letters,
9 such as in MODE, STATS and WHO, are case sensitive.
10 </para>
11 </note>
12 <sect2>
13 <title>CONNECT</title>
14 <cmdsynopsis><command>CONNECT</command>
15 <arg choice=plain><replaceable>target</replaceable></arg>
16 <arg><replaceable>port</replaceable></arg>
17 <arg><replaceable>source</replaceable></arg>
18 </cmdsynopsis>
19 <para>
20 Initiate a connection attempt to server <replaceable class=parameter>target</replaceable>. If a port is
21 given, connect to that port on the target, otherwise use the one given in <filename>ircd.conf</filename>. If
22 <replaceable class=parameter>source</replaceable> is given, tell that server to initiate the connection
23 attempt, otherwise it will be made from the server you are attached to.
24 </para>
25 <para>
26 To use the default port with <replaceable class=parameter>source</replaceable>,
27 specify 0 for <replaceable class=parameter>port</replaceable>.
28 </para>
29 </sect2>
30 <sect2>
31 <title>SQUIT</title>
32 <cmdsynopsis>
33 <command>SQUIT</command>
34 <arg choice=plain><replaceable>server</replaceable></arg>
35 <arg><replaceable>reason</replaceable></arg>
36 </cmdsynopsis>
37 <para>
38 Closes down the link to <replaceable>server</replaceable> from this side of the network. If a reason is
39 given, it will be sent out in the server notices on both sides of the link.
40 </para>
41 </sect2>
42 <sect2>
43 <title>REHASH</title>
44 <cmdsynopsis>
45 <command>REHASH</command>
46 <group>
47 <arg>BANS</arg>
48 <arg>DNS</arg>
49 <arg>MOTD</arg>
50 <arg>OMOTD</arg>
51 <arg>TKLINES</arg>
52 <arg>TDLINES</arg>
53 <arg>TXLINES</arg>
54 <arg>TRESVS</arg>
55 <arg>REJECTCACHE</arg>
56 <arg>HELP</arg>
57 </group>
58 <arg><replaceable>server</replaceable></arg>
59 </cmdsynopsis>
60 <para>
61 With no parameter given, <filename>ircd.conf</filename> will be reread and parsed.
62 The server argument is a wildcard match of server names.
63 </para>
64 <variablelist>
65 <title>Parameters</title>
66 <varlistentry>
67 <term>BANS</term>
68 <listitem>
69 <para>Rereads <filename>kline.conf</filename>, <filename>dline.conf</filename>, <filename>xline.conf</filename>, <filename>resv.conf</filename> and their .perm variants</para>
70 </listitem>
71 </varlistentry>
72 <varlistentry>
73 <term>DNS</term>
74 <listitem>
75 <para>Reread <filename>/etc/resolv.conf</filename>.</para>
76 </listitem>
77 </varlistentry>
78 <varlistentry>
79 <term>MOTD</term>
80 <listitem>
81 <para>Reload the MOTD file</para>
82 </listitem>
83 </varlistentry>
84 <varlistentry>
85 <term>OMOTD</term>
86 <listitem>
87 <para>Reload the operator MOTD file</para>
88 </listitem>
89 </varlistentry>
90 <varlistentry>
91 <term>TKLINES</term>
92 <listitem>
93 <para>Clears temporary K:lines.</para>
94 </listitem>
95 </varlistentry>
96 <varlistentry>
97 <term>TDLINES</term>
98 <listitem>
99 <para>Clears temporary D:lines.</para>
100 </listitem>
101 </varlistentry>
102 <varlistentry>
103 <term>TXLINES</term>
104 <listitem>
105 <para>Clears temporary X:lines.</para>
106 </listitem>
107 </varlistentry>
108 <varlistentry>
109 <term>TRESVS</term>
110 <listitem>
111 <para>Clears temporary reservations.</para>
112 </listitem>
113 </varlistentry>
114 <varlistentry>
115 <term>REJECTCACHE</term>
116 <listitem>
117 <para>Clears the client rejection cache.</para>
118 </listitem>
119 </varlistentry>
120 <varlistentry>
121 <term>HELP</term>
122 <listitem>
123 <para>Refreshes the help system cache.</para>
124 </listitem>
125 </varlistentry>
126 </variablelist>
127 </sect2>
128 <sect2>
129 <title>RESTART</title>
130 <cmdsynopsis>
131 <command>RESTART</command>
132 <arg choice=plain><replaceable>server</replaceable></arg>
133 </cmdsynopsis>
134 <para>
135 Cause an immediate total shutdown of the IRC server, and restart from scratch as if it had just been executed.
136 </para>
137 <para>
138 This reexecutes the ircd using the compiled-in path, visible
139 as SPATH in INFO.
140 </para>
141 <note>
142 <para>This command cannot be used remotely. The server name is used only as a safety measure.</para>
143 </note>
144 </sect2>
145 <sect2>
146 <title>DIE</title>
147 <cmdsynopsis>
148 <command>DIE</command>
149 <arg choice=plain><replaceable>server</replaceable></arg>
150 </cmdsynopsis>
151 <para>Immediately terminate the IRC server, after sending notices to all connected clients and servers</para>
152 <note>
153 <para>This command cannot be used remotely. The server name is used only as a safety measure.</para>
154 </note>
155 </sect2>
156 <sect2>
157 <title>SET</title>
158 <cmdsynopsis>
159 <command>SET</command>
160 <group>
161 <arg>ADMINSTRING</arg>
162 <arg>AUTOCONN</arg>
163 <arg>AUTOCONNALL</arg>
164 <arg>FLOODCOUNT</arg>
165 <arg>IDENTTIMEOUT</arg>
166 <arg>MAX</arg>
167 <arg>OPERSTRING</arg>
168 <arg>SPAMNUM</arg>
169 <arg>SPAMTIME</arg>
170 <arg>SPLITMODE</arg>
171 <arg>SPLITNUM</arg>
172 <arg>SPLITUSERS</arg>
173 </group>
174 <arg choice=plain><replaceable>value</replaceable></arg>
175 </cmdsynopsis>
176 <para>The SET command sets a runtime-configurable value.</para>
177 <para>
178 Most of the <filename>ircd.conf</filename> equivalents have
179 a default_ prefix and are only read on startup. SET is the only
180 way to change these at run time.
181 </para>
182 <para>
183 Most of the values can be queried by omitting
184 <replaceable>value</replaceable>.
185 </para>
186 <variablelist>
187 <varlistentry>
188 <term>ADMINSTRING</term>
189 <listitem><para>
190 Sets string shown in WHOIS for admins.
191 (umodes +o and +a set, umode +S not set).
192 </para></listitem>
193 </varlistentry>
194 <varlistentry>
195 <term>AUTOCONN</term>
196 <listitem><para>
197 Sets auto-connect on or off for a particular server.
198 Takes two parameters, server name and new state.
199 </para><para>
200 To see these values, use /stats c.
201 Changes to this are lost on a rehash.
202 </para></listitem>
203 </varlistentry>
204 <varlistentry>
205 <term>AUTOCONNALL</term>
206 <listitem><para>
207 Globally sets auto-connect on or off. If disabled, no automatic
208 connections are done; if enabled, automatic connections are done
209 following the rules for them.
210 </para></listitem>
211 </varlistentry>
212 <varlistentry>
213 <term>FLOODCOUNT</term>
214 <listitem><para>
215 The number of lines allowed to be sent to a connection before
216 throttling it due to flooding.
217 Note that this variable is used for both
218 channels and clients.
219 </para><para>
220 For channels, op or voice overrides this; for users, IRC
221 operator status or op or voice on a common channel overrides
222 this.
223 </para></listitem>
224 </varlistentry>
225 <varlistentry>
226 <term>IDENTTIMEOUT</term>
227 <listitem><para>
228 Timeout for requesting ident from a client.
229 </para></listitem>
230 </varlistentry>
231 <varlistentry>
232 <term>MAX</term>
233 <listitem><para>
234 Sets the maximum number of connections
235 to <replaceable>value</replaceable>.
236 </para><para>
237 This number cannot exceed maxconnections - MAX_BUFFER.
238 maxconnections is the rlimit for number of open files.
239 MAX_BUFFER is defined in config.h, normally 60.
240 </para><para>
241 MAXCLIENTS is an alias for this.
242 </para></listitem>
243 </varlistentry>
244 <varlistentry>
245 <term>OPERSTRING</term>
246 <listitem><para>
247 Sets string shown in WHOIS for opers
248 (umode +o set, umodes +a and +S not set).
249 </para></listitem>
250 </varlistentry>
251 <varlistentry>
252 <term>SPAMNUM</term>
253 <listitem><para>
254 Sets how many join/parts to channels
255 constitutes a possible spambot.
256 </para></listitem>
257 </varlistentry>
258 <varlistentry>
259 <term>SPAMTIME</term>
260 <listitem><para>
261 Below this time on a channel
262 counts as a join/part as above.
263 </para></listitem>
264 </varlistentry>
265 <varlistentry>
266 <term>SPLITMODE</term>
267 <listitem><para>
268 Sets splitmode to <replaceable>value</replaceable>:
269 <variablelist>
270 <varlistentry>
271 <term>ON</term>
272 <listitem><para>splitmode is permanently on</para></listitem>
273 </varlistentry>
274 <varlistentry>
275 <term>OFF</term>
276 <listitem><para>splitmode is permanently off (default if no_create_on_split and no_join_on_split are disabled)</para></listitem>
277 </varlistentry>
278 <varlistentry>
279 <term>AUTO</term>
280 <listitem><para>ircd chooses splitmode based on SPLITUSERS and SPLITNUM (default if no_create_on_split or no_join_on_split are enabled)</para></listitem>
281 </varlistentry>
282 </variablelist>
283 </para></listitem>
284 </varlistentry>
285 <varlistentry>
286 <term>SPLITUSERS</term>
287 <listitem><para>
288 Sets the minimum amount of users needed to
289 deactivate automatic splitmode.
290 </para></listitem>
291 </varlistentry>
292 <varlistentry>
293 <term>SPLITNUM</term>
294 <listitem><para>
295 Sets the minimum amount of servers needed to
296 deactivate automatic splitmode.
297 Only servers that have finished bursting count for this.
298 </para></listitem>
299 </varlistentry>
300 </variablelist>
301 </sect2>
302 </sect1>
303 <sect1 id="usercommands">
304 <title>User management commands</title>
305 <sect2>
306 <title>KILL</title>
307 <cmdsynopsis>
308 <command>KILL</command>
309 <arg choice=plain><replaceable>nick</replaceable></arg>
310 <arg><replaceable>reason</replaceable></arg>
311 </cmdsynopsis>
312 <para>
313 Disconnects the user with the given nick from the server they are connected to,
314 with the reason given, if present, and broadcast a server notice announcing this.
315 </para>
316 <para>
317 Your nick and the reason will appear on channels.
318 </para>
319 </sect2>
320 <sect2>
321 <title>CLOSE</title>
322 <para>
323 Closes all connections from and to clients and servers who have not completed registering.
324 </para>
325 </sect2>
326 <sect2>
327 <title>KLINE</title>
328 <cmdsynopsis>
329 <command>KLINE</command>
330 <arg><replaceable>length</replaceable></arg>
331 <group>
332 <arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
333 <arg choice=plain><replaceable>user</replaceable>@<replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
334 </group>
335 <arg>ON <replaceable>servername</replaceable></arg>
336 <arg>:<replaceable>reason</replaceable></arg>
337 </cmdsynopsis>
338 <para>
339 Adds a K:line to <filename>kline.conf</filename> to ban the given user@host from using that
340 server.
341 </para>
342 <para>
343 If the optional parameter <replaceable>length</replaceable> is given, the K:line will
344 be temporary (i.e. it will not be stored on disk) and last that
345 long in minutes.
346 </para>
347 <para>
348 If an IP address is given, the ban will be against all hosts matching that IP regardless
349 of DNS. The IP address can be given as a full address (192.168.0.1), as a CIDR mask
350 (192.168.0.0/24), or as a glob (192.168.0.*).
351 </para>
352 <para>
353 All clients matching the K:line will be disconnected from the server immediately.
354 </para>
355 <para>
356 If a reason is specified, it will be sent to the client when they are disconnected, and
357 whenever a connection is attempted which is banned.
358 </para>
359 <para>
360 If the ON part is specified, the K:line is set on servers matching
361 the given mask (provided a matching shared{} block exists there).
362 Otherwise, if specified in a cluster{} block, the K:Line will be
363 propagated across the network accordingly.
364 </para>
365 </sect2>
366 <sect2>
367 <title>UNKLINE</title>
368 <cmdsynopsis>
369 <command>UNKLINE</command>
370 <arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
371 <arg>ON <replaceable>servername</replaceable></arg>
372 </cmdsynopsis>
373 <para>
374 Will attempt to remove a K:line matching user@host from <filename>kline.conf</filename>, and will flush
375 a temporary K:line.
376 </para>
377 </sect2>
378 <sect2>
379 <title>XLINE</title>
380 <cmdsynopsis>
381 <command>XLINE</command>
382 <arg><replaceable>length</replaceable></arg>
383 <arg choice=plain><replaceable>mask</replaceable></arg>
384 <arg>ON <replaceable>servername</replaceable></arg>
385 <arg>:<replaceable>reason</replaceable></arg>
386 </cmdsynopsis>
387 <para>
388 Works similarly to KLINE, but matches against the real name field.
389 The wildcards are * (any sequence), ? (any character),
390 # (a digit) and @ (a letter); wildcard characters can be
391 escaped with a backslash.
392 </para>
393 <para>
394 Use \s for a space; this currently interferes with the
395 check whether the mask is already xlined and UNXLINE.
396 </para>
397 <para>
398 All clients matching the X:line will be disconnected from the server immediately.
399 </para>
400 <para>
401 The reason is never sent to users. Instead, they will be exited
402 with <quote>Bad user info</quote>.
403 </para>
404 <para>
405 If the ON part is specified, the X:line is set on servers matching
406 the given mask (provided a matching shared{} block exists there).
407 Otherwise, if specified in a cluster{} block, the X:line will be
408 propagated across the network accordingly.
409 </para>
410 </sect2>
411 <sect2>
412 <title>UNXLINE</title>
413 <cmdsynopsis>
414 <command>UNXLINE</command>
415 <arg choice=plain><replaceable>mask</replaceable></arg>
416 <arg>ON <replaceable>servername</replaceable></arg>
417 </cmdsynopsis>
418 <para>
419 Will attempt to remove an X:line from <filename>xline.conf</filename>, and will flush
420 a temporary X:line.
421 </para>
422 </sect2>
423 <sect2>
424 <title>RESV</title>
425 <cmdsynopsis>
426 <command>RESV</command>
427 <arg><replaceable>length</replaceable></arg>
428 <group>
429 <arg choice=plain><replaceable>channel</replaceable></arg>
430 <arg choice=plain><replaceable>mask</replaceable></arg>
431 </group>
432 <arg>ON <replaceable>servername</replaceable></arg>
433 <arg>:<replaceable>reason</replaceable></arg>
434 </cmdsynopsis>
435 <para>
436 If used on a channel, <quote>jupes</quote> the channel locally. Joins to the
437 channel will be disallowed and generate a server notice on +y, and
438 users will not be able to send to the channel. Channel jupes cannot
439 contain wildcards.
440 </para>
441 <para>
442 If used on a nickname mask, prevents local users from using a nick
443 matching the mask (the same wildcard characters as xlines). There
444 is no way to exempt the initial nick from this.
445 </para>
446 <para>
447 In neither case will current users of the nick or channel be
448 kicked or disconnected.
449 </para>
450 <para>
451 This facility is not designed to make certain nicks
452 or channels oper-only.
453 </para>
454 <para>
455 The reason is never sent to users.
456 </para>
457 <para>
458 If the ON part is specified, the resv is set on servers matching
459 the given mask (provided a matching shared{} block exists there).
460 Otherwise, if specified in a cluster{} block, the resv will be
461 propagated across the network accordingly.
462 </para>
463 </sect2>
464 <sect2>
465 <title>UNRESV</title>
466 <cmdsynopsis>
467 <command>UNRESV</command>
468 <group>
469 <arg choice=plain><replaceable>channel</replaceable></arg>
470 <arg choice=plain><replaceable>mask</replaceable></arg>
471 </group>
472 <arg>ON <replaceable>servername</replaceable></arg>
473 </cmdsynopsis>
474 <para>
475 Will attempt to remove a resv from <filename>resv.conf</filename>, and will flush
476 a temporary resv.
477 </para>
478 </sect2>
479 <sect2>
480 <title>DLINE</title>
481 <cmdsynopsis>
482 <command>DLINE</command>
483 <arg><replaceable>length</replaceable></arg>
484 <arg choice=plain><replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
485 <arg>ON <replaceable>servername</replaceable></arg>
486 <arg>:<replaceable>reason</replaceable></arg>
487 </cmdsynopsis>
488 <para>
489 Adds a D:line to <filename>dline.conf</filename>, which will deny any connections
490 from the given IP address.
491 The IP address can be given as a full address (192.168.0.1) or
492 as a CIDR mask (192.168.0.0/24).
493 </para>
494 <para>
495 If the optional parameter <replaceable>length</replaceable> is given, the D:line will
496 be temporary (i.e. it will not be stored on disk) and last that
497 long in minutes.
498 </para>
499 <para>
500 All clients matching the D:line will be disconnected from the server immediately.
501 </para>
502 <para>
503 If a reason is specified, it will be sent to the client when they are disconnected, and,
504 if dline_reason is enabled,
505 whenever a connection is attempted which is banned.
506 </para>
507 <para>
508 D:lines are less load on a server, and may be more appropriate if somebody is flooding
509 connections.
510 </para>
511 <para>
512 If the ON part is specified, the D:line is set on servers matching
513 the given mask (provided a matching shared{} block exists there,
514 which is not the case by default).
515 Otherwise, the D:Line will be set on the local server only.
516 </para>
517 <para>
518 Only exempt{} blocks exempt from D:lines.
519 Being a server or having kline_exempt in auth{} does
520 <emphasis>not</emphasis> exempt (different from K/G/X:lines).
521 </para>
522 </sect2>
523 <sect2>
524 <title>UNDLINE</title>
525 <cmdsynopsis>
526 <command>UNDLINE</command>
527 <arg choice=plain><replaceable>a.b.c.d</replaceable></arg>
528 <arg>ON <replaceable>servername</replaceable></arg>
529 </cmdsynopsis>
530 <para>
531 Will attempt to remove a D:line from <filename>dline.conf</filename>, and will flush
532 a temporary D:line.
533 </para>
534 </sect2>
535 <sect2>
536 <title>TESTGECOS</title>
537 <cmdsynopsis>
538 <command>TESTGECOS</command>
539 <arg choice=plain><replaceable>gecos</replaceable></arg>
540 </cmdsynopsis>
541 <para>
542 Looks up X:Lines matching the given gecos.
543 </para>
544 </sect2>
545 <sect2>
546 <title>TESTLINE</title>
547 <cmdsynopsis>
548 <command>TESTLINE</command>
549 <arg><replaceable>nick</replaceable>!</arg>
550 <group>
551 <arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
552 <arg choice=plain><replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
553 </group>
554 </cmdsynopsis>
555 <para>
556 Looks up the given hostmask or IP address and reports back on any auth{} blocks, D: or K: lines found.
557 If <replaceable>nick</replaceable> is given, also searches for
558 nick resvs.
559 </para>
560 <para>
561 For temporary items the number of minutes until the item expires
562 is shown (as opposed to the hit count in STATS q/Q/x/X).
563 </para>
564 <para>
565 This command will not perform DNS lookups; for best
566 results you must testline a host and its IP form.
567 </para>
568 <para>
569 The given username should begin with a tilde (~) if identd is not
570 in use. As of charybdis 2.1.1, no_tilde and username truncation will
571 be taken into account like in the normal client access check.
572 </para>
573 <para>
574 As of charybdis 2.2.0, a channel name can be specified and the
575 RESV will be returned, if there is one.
576 </para>
577 </sect2>
578 <sect2>
579 <title>TESTMASK</title>
580 <cmdsynopsis>
581 <command>TESTMASK</command>
582 <arg choice=plain><replaceable>hostmask</replaceable></arg>
583 <arg><replaceable>gecos</replaceable></arg>
584 </cmdsynopsis>
585 <para>
586 Searches the network for users that match the hostmask and gecos given,
587 returning the number of matching users on this server and other servers.
588 </para>
589 <para>
590 The <replaceable>hostmask</replaceable> is of the form user@host
591 or user@ip/cidr with * and ? wildcards, optionally preceded by
592 nick!.
593 </para>
594 <para>
595 The <replaceable>gecos</replaceable> field accepts the same wildcards
596 as xlines.
597 </para>
598 <para>
599 The IP address checked against is 255.255.255.255 if the IP address
600 is unknown (remote client on a TS5 server) or 0 if the IP address
601 is hidden (auth{} spoof).
602 </para>
603 </sect2>
604 <sect2>
605 <title>LUSERS</title>
606 <cmdsynopsis>
607 <command>LUSERS</command>
608 <arg><replaceable>mask</replaceable></arg>
609 <group>
610 <arg><replaceable>nick</replaceable></arg>
611 <arg><replaceable>server</replaceable></arg>
612 </group>
613 </cmdsynopsis>
614 <para>
615 Shows various user and channel counts.
616 </para>
617 <para>
618 The <replaceable>mask</replaceable> parameter is obsolete
619 but must be used when querying a remote server.
620 </para>
621 </sect2>
622 <sect2>
623 <title>TRACE</title>
624 <cmdsynopsis>
625 <command>TRACE</command>
626 <group>
627 <arg><replaceable>server</replaceable></arg>
628 <arg><replaceable>nick</replaceable></arg>
629 </group>
630 <arg><replaceable>location</replaceable></arg>
631 </cmdsynopsis>
632 <para>
633 With no argument or one argument which is the current server,
634 TRACE gives a list of all connections to the current server
635 and a summary of connection classes.
636 </para>
637 <para>
638 With one argument which is another server, TRACE displays the path
639 to the specified server, and all servers, opers and -i users
640 on that server, along with a summary of connection classes.
641 </para>
642 <para>
643 With one argument which is a client, TRACE displays the
644 path to that client, and that client's information.
645 </para>
646 <para>
647 If location is given, the command is executed on that server;
648 no path is displayed.
649 </para>
650 <para>
651 When listing connections, type, name and class is shown
652 in addition to information depending on the type:
653 </para>
654 <variablelist>
655 <title>TRACE types</title>
656 <varlistentry>
657 <term>Try.</term>
658 <listitem><para>
659 A server we are trying to make a TCP connection to.
660 </para></listitem>
661 </varlistentry>
662 <varlistentry>
663 <term>H.S.</term>
664 <listitem><para>
665 A server we have established a TCP connection to, but is not
666 yet registered.
667 </para></listitem>
668 </varlistentry>
669 <varlistentry>
670 <term>????</term>
671 <listitem><para>
672 An incoming connection that has not yet registered as
673 a user or a server (<quote>unknown</quote>).
674 Shows the username, hostname, IP address
675 and the time the connection has been open. It is possible
676 that the ident or DNS lookups have not completed yet, and in
677 any case no tildes are shown here.
678 Unknown connections may not have a name yet.
679 </para></listitem>
680 </varlistentry>
681 <varlistentry>
682 <term>User</term>
683 <listitem><para>
684 A registered unopered user.
685 Shows the username, hostname, IP address, the time the client
686 has not sent anything (as in STATS l) and the time the user has
687 been idle (from PRIVMSG only, as in WHOIS).
688 </para></listitem>
689 </varlistentry>
690 <varlistentry>
691 <term>Oper</term>
692 <listitem><para>
693 Like User, but opered.
694 </para></listitem>
695 </varlistentry>
696 <varlistentry>
697 <term>Serv</term>
698 <listitem><para>
699 A registered server.
700 Shows the number of servers and users reached via this link,
701 who made this connection and the time the server has not sent
702 anything.
703 </para></listitem>
704 </varlistentry>
705 </variablelist>
706 </sect2>
707 <sect2>
708 <title>ETRACE</title>
709 <cmdsynopsis>
710 <command>ETRACE</command>
711 <arg><replaceable>nick</replaceable></arg>
712 </cmdsynopsis>
713 <para>
714 Shows client information about the given target, or about all local clients if
715 no target is specified.
716 </para>
717 </sect2>
718 <sect2>
719 <title>PRIVS</title>
720 <cmdsynopsis>
721 <command>PRIVS</command>
722 <arg><replaceable>nick</replaceable></arg>
723 </cmdsynopsis>
724 <para>
725 Displays effective operator privileges for
726 the specified nick, or for yourself if no nick is
727 given. This includes all privileges from the operator
728 block, the name of the operator block and those
729 privileges from the auth block that have an effect
730 after the initial connection.
731 </para>
732 <para>
733 The exact output depends on the server the nick is on,
734 see the matching version of this document.
735 If the remote server does not support this extension, you will not
736 receive a reply.
737 </para>
738 </sect2>
739 <sect2>
740 <title>MASKTRACE</title>
741 <cmdsynopsis>
742 <command>MASKTRACE</command>
743 <arg choice=plain><replaceable>hostmask</replaceable></arg>
744 <arg><replaceable>gecos</replaceable></arg>
745 </cmdsynopsis>
746 <para>
747 Searches the local server or network for users that match the hostmask and gecos given.
748 Network searches require the oper_spy privilege and an '!'
749 before the hostmask.
750 The matching works the same way as TESTMASK.
751 </para>
752 <para>
753 The <replaceable>hostmask</replaceable> is of the form user@host
754 or user@ip/cidr with * and ? wildcards, optionally preceded by
755 nick!.
756 </para>
757 <para>
758 The <replaceable>gecos</replaceable> field accepts the same wildcards
759 as xlines.
760 </para>
761 <para>
762 The IP address field contains 255.255.255.255 if the IP address
763 is unknown (remote client on a TS5 server) or 0 if the IP address
764 is hidden (auth{} spoof).
765 </para>
766 </sect2>
767 <sect2>
768 <title>CHANTRACE</title>
769 <cmdsynopsis>
770 <command>CHANTRACE</command>
771 <arg choice=plain><replaceable>channel</replaceable></arg>
772 </cmdsynopsis>
773 <para>
774 Displays information about users in a channel.
775 Opers with the oper_spy privilege
776 can get the information without being on the channel,
777 by prefixing the channel name with an '!'.
778 </para>
779 <para>
780 The IP address field contains 255.255.255.255 if the IP address
781 is unknown (remote client on a TS5 server) or 0 if the IP address
782 is hidden (auth{} spoof).
783 </para>
784 </sect2>
785 <sect2>
786 <title>SCAN</title>
787 <cmdsynopsis>
788 <command>SCAN UMODES</command>
789 <arg choice=plain>+<replaceable>modes</replaceable>-<replaceable>modes</replaceable></arg>
790 <arg>no-list</arg>
791 <arg>list</arg>
792 <arg>global</arg>
793 <arg>list-max <replaceable>number</replaceable></arg>
794 <arg>mask <replaceable>nick!user@host</replaceable></arg>
795 </cmdsynopsis>
796 <para>
797 Searches the local server or network for users that have the umodes given with + and do not have the umodes given with -.
798 no-list disables the listing of matching users and only shows the count.
799 list enables the listing (default).
800 global extends the search to the entire network instead of local users only.
801 list-max limits the listing of matching users to the given amount.
802 mask causes only users matching the given nick!user@host mask
803 to be selected. Only the displayed host is considered, not the
804 IP address or real host behind dynamic spoofs.
805 </para>
806 <para>
807 The IP address field contains 255.255.255.255 if the IP address
808 is unknown (remote client on a TS5 server) or 0 if the IP address
809 is hidden (auth{} spoof).
810 </para>
811 <para>
812 Network searches where a listing is given or the mask option is used
813 are operspy commands.
814 </para>
815 </sect2>
816 <sect2>
817 <title>CHGHOST</title>
818 <cmdsynopsis>
819 <command>CHGHOST</command>
820 <arg choice=plain><replaceable>nick</replaceable></arg>
821 <arg choice=plain><replaceable>value</replaceable></arg>
822 </cmdsynopsis>
823 <para>
824 Set the hostname associated with a particular nick for the duration of this session.
825 This command is disabled by default because of the abuse potential
826 and little practical use.
827 </para>
828 </sect2>
829 </sect1>
830 <sect1 id="misccommands">
831 <title>Miscellaneous commands</title>
832 <sect2>
833 <title>ADMIN</title>
834 <cmdsynopsis>
835 <command>ADMIN</command>
836 <group>
837 <arg><replaceable>nick</replaceable></arg>
838 <arg><replaceable>server</replaceable></arg>
839 </group>
840 </cmdsynopsis>
841 <para>
842 Shows the information in the admin{} block.
843 </para>
844 </sect2>
845 <sect2>
846 <title>INFO</title>
847 <cmdsynopsis>
848 <command>INFO</command>
849 <group>
850 <arg><replaceable>nick</replaceable></arg>
851 <arg><replaceable>server</replaceable></arg>
852 </group>
853 </cmdsynopsis>
854 <para>
855 Shows information about the authors of the IRC server, and
856 some information about this server instance.
857 Opers also get a list of configuration options.
858 </para>
859 </sect2>
860 <sect2>
861 <title>TIME</title>
862 <cmdsynopsis>
863 <command>TIME</command>
864 <group>
865 <arg><replaceable>nick</replaceable></arg>
866 <arg><replaceable>server</replaceable></arg>
867 </group>
868 </cmdsynopsis>
869 <para>
870 Shows the local time on the given server, in a human-readable format.
871 </para>
872 </sect2>
873 <sect2>
874 <title>VERSION</title>
875 <cmdsynopsis>
876 <command>VERSION</command>
877 <group>
878 <arg><replaceable>nick</replaceable></arg>
879 <arg><replaceable>server</replaceable></arg>
880 </group>
881 </cmdsynopsis>
882 <para>
883 Shows version information, a few compile/config options,
884 the SID and the 005 numerics.
885 The 005 numeric will be remapped to 105 for remote requests.
886 </para>
887 </sect2>
888 <sect2>
889 <title>STATS</title>
890 <cmdsynopsis>
891 <command>STATS</command>
892 <arg><replaceable>type</replaceable></arg>
893 <group>
894 <arg><replaceable>nick</replaceable></arg>
895 <arg><replaceable>server</replaceable></arg>
896 </group>
897 </cmdsynopsis>
898 <para>
899 Display various statistics and configuration information.
900 </para>
901 <variablelist>
902 <title>Values for <replaceable>type</replaceable></title>
903 <varlistentry>
904 <term>A</term>
905 <listitem>
906 <para>Show DNS servers</para>
907 </listitem>
908 </varlistentry>
909 <varlistentry>
910 <term>b</term>
911 <listitem>
912 <para>Show active nick delays</para>
913 </listitem>
914 </varlistentry>
915 <varlistentry>
916 <term>B</term>
917 <listitem>
918 <para>Show hash statistics</para>
919 </listitem>
920 </varlistentry>
921 <varlistentry>
922 <term>c</term>
923 <listitem>
924 <para>Show connect blocks</para>
925 </listitem>
926 </varlistentry>
927 <varlistentry>
928 <term>d</term>
929 <listitem>
930 <para>Show temporary D:lines</para>
931 </listitem>
932 </varlistentry>
933 <varlistentry>
934 <term>D</term>
935 <listitem>
936 <para>Show permanent D:lines</para>
937 </listitem>
938 </varlistentry>
939 <varlistentry>
940 <term>e</term>
941 <listitem>
942 <para>Show exempt blocks (exceptions to D:lines)</para>
943 </listitem>
944 </varlistentry>
945 <varlistentry>
946 <term>E</term>
947 <listitem>
948 <para>Show events</para>
949 </listitem>
950 </varlistentry>
951 <varlistentry>
952 <term>f</term>
953 <listitem>
954 <para>Show file descriptors</para>
955 </listitem>
956 </varlistentry>
957 <varlistentry>
958 <term>h</term>
959 <listitem>
960 <para>Show hub_mask/leaf_mask</para>
961 </listitem>
962 </varlistentry>
963 <varlistentry>
964 <term>i</term>
965 <listitem>
966 <para>Show auth blocks, or matched auth blocks</para>
967 </listitem>
968 </varlistentry>
969 <varlistentry>
970 <term>k</term>
971 <listitem>
972 <para>Show temporary K:lines, or matched K:lines</para>
973 </listitem>
974 </varlistentry>
975 <varlistentry>
976 <term>K</term>
977 <listitem>
978 <para>Show permanent K:lines, or matched K:lines</para>
979 </listitem>
980 </varlistentry>
981 <varlistentry>
982 <term>l</term>
983 <listitem>
984 <para>
985 Show hostname and link information about the given nick.
986 With a server name, show information about opers and servers
987 on that server; opers get information about all local
988 connections if they query their own server.
989 No hostname is shown for server connections.
990 </para>
991 </listitem>
992 </varlistentry>
993 <varlistentry>
994 <term>L</term>
995 <listitem>
996 <para>Like l, but show IP address instead of hostname</para>
997 </listitem>
998 </varlistentry>
999 <varlistentry>
1000 <term>m</term>
1001 <listitem>
1002 <para>Show commands and their usage statistics (total counts, total bytes, counts from server connections)</para>
1003 </listitem>
1004 </varlistentry>
1005 <varlistentry>
1006 <term>n</term>
1007 <listitem>
1008 <para>Show blacklist blocks (DNS blacklists) with hit counts since last rehash and (parenthesized) reference counts. The reference count shows how many clients are waiting on a lookup of this blacklist or have been found and are waiting on registration to complete.</para>
1009 </listitem>
1010 </varlistentry>
1011 <varlistentry>
1012 <term>o</term>
1013 <listitem>
1014 <para>Show operator blocks</para>
1015 </listitem>
1016 </varlistentry>
1017 <varlistentry>
1018 <term>p</term>
1019 <listitem>
1020 <para>Show logged on network operators which are not set AWAY.</para>
1021 </listitem>
1022 </varlistentry>
1023 <varlistentry>
1024 <term>P</term>
1025 <listitem>
1026 <para>Show listen blocks (ports)</para>
1027 </listitem>
1028 </varlistentry>
1029 <varlistentry>
1030 <term>q</term>
1031 <listitem>
1032 <para>Show temporarily resv'ed nicks and channels with hit counts</para>
1033 </listitem>
1034 </varlistentry>
1035 <varlistentry>
1036 <term>Q</term>
1037 <listitem>
1038 <para>Show permanently resv'ed nicks and channels with hit counts since last rehash bans</para>
1039 </listitem>
1040 </varlistentry>
1041 <varlistentry>
1042 <term>r</term>
1043 <listitem>
1044 <para>Show resource usage by the ircd</para>
1045 </listitem>
1046 </varlistentry>
1047 <varlistentry>
1048 <term>t</term>
1049 <listitem>
1050 <para>Show generic server statistics about local connections</para>
1051 </listitem>
1052 </varlistentry>
1053 <varlistentry>
1054 <term>u</term>
1055 <listitem>
1056 <para>Show server uptime</para>
1057 </listitem>
1058 </varlistentry>
1059 <varlistentry>
1060 <term>U</term>
1061 <listitem>
1062 <para>Show shared (c), cluster (C) and service (s) blocks</para>
1063 </listitem>
1064 </varlistentry>
1065 <varlistentry>
1066 <term>v</term>
1067 <listitem>
1068 <para>Show connected servers and brief status</para>
1069 </listitem>
1070 </varlistentry>
1071 <varlistentry>
1072 <term>x</term>
1073 <listitem>
1074 <para>Show temporary X:lines with hit counts</para>
1075 </listitem>
1076 </varlistentry>
1077 <varlistentry>
1078 <term>X</term>
1079 <listitem>
1080 <para>Show permanent X:lines with hit counts since last rehash bans</para>
1081 </listitem>
1082 </varlistentry>
1083 <varlistentry>
1084 <term>y</term>
1085 <listitem>
1086 <para>Show class blocks</para>
1087 </listitem>
1088 </varlistentry>
1089 <varlistentry>
1090 <term>z</term>
1091 <listitem>
1092 <para>Show memory usage statistics</para>
1093 </listitem>
1094 </varlistentry>
1095 <varlistentry>
1096 <term>Z</term>
1097 <listitem>
1098 <para>Show ziplinks statistics</para>
1099 </listitem>
1100 </varlistentry>
1101 <varlistentry>
1102 <term>?</term>
1103 <listitem>
1104 <para>Show connected servers and link information about them</para>
1105 </listitem>
1106 </varlistentry>
1107 </variablelist>
1108 </sect2>
1109 <sect2>
1110 <title>WALLOPS</title>
1111 <cmdsynopsis>
1112 <command>WALLOPS</command>
1113 <arg choice=plain>:<replaceable>message</replaceable></arg>
1114 </cmdsynopsis>
1115 <para>
1116 Sends a WALLOPS message to all users who have the +w umode set. This is for
1117 things you don't mind the whole network knowing about.
1118 </para>
1119 </sect2>
1120 <sect2>
1121 <title>OPERWALL</title>
1122 <cmdsynopsis>
1123 <command>OPERWALL</command>
1124 <arg choice=plain>:<replaceable>message</replaceable></arg>
1125 </cmdsynopsis>
1126 <para>
1127 Sends an OPERWALL message to all opers who have the +z umode set. +z is restricted,
1128 OPERWALL should be considered private communications.
1129 </para>
1130 </sect2>
1131 </sect1>
1132 </chapter>
1133 <!-- Keep this comment at the end of the file
1134 Local variables:
1135 mode: sgml
1136 sgml-omittag:t
1137 sgml-shorttag:t
1138 sgml-namecase-general:t
1139 sgml-general-insert-case:lower
1140 sgml-minimize-attributes:nil
1141 sgml-always-quote-attributes:t
1142 sgml-indent-step:2
1143 sgml-indent-data:t
1144 sgml-parent-document: ("charybdis-oper-guide.sgml" "book")
1145 sgml-exposed-tags:nil
1146 sgml-local-ecat-files:nil
1147 fill-column:105
1148 End:
1149 -->