]> jfr.im git - solanum.git/blame - doc/oper-guide/commands.rst
fix duplicate headings, remove duplicate ToC
[solanum.git] / doc / oper-guide / commands.rst
CommitLineData
2ae078d8
AB
1Operator Commands
2=================
3
4Network management commands
8a7d33db 5~~~~~~~~~~~~~~~~~~~~~~~~~~~
2ae078d8
AB
6
7 **Note**
8
9 All commands and names are case insensitive. Parameters consisting
10 of one or more separate letters, such as in MODE, STATS and WHO, are
11 case sensitive.
12
13CONNECT
14-------
15
16CONNECT
17target
18port
19source
20Initiate a connection attempt to server target. If a port is given,
21connect to that port on the target, otherwise use the one given in
22``ircd.conf``. If source is given, tell that server to initiate the
23connection attempt, otherwise it will be made from the server you are
24attached to.
25
26To use the default port with source, specify 0 for port.
27
28SQUIT
29-----
30
31SQUIT
32server
33reason
34Closes down the link to server from this side of the network. If a
35reason is given, it will be sent out in the server notices on both sides
36of the link.
37
38REHASH
39------
40
41REHASH
42BANS
43DNS
44MOTD
45OMOTD
46TKLINES
47TDLINES
48TXLINES
49TRESVS
50REJECTCACHE
51HELP
52server
53With no parameter given, ``ircd.conf`` will be reread and parsed. The
54server argument is a wildcard match of server names.
55
56BANS
57 Rereads ``kline.conf``, ``dline.conf``, ``xline.conf``,
58 ``resv.conf`` and their .perm variants
59
60DNS
61 Reread ``/etc/resolv.conf``.
62
63MOTD
64 Reload the MOTD file
65
66OMOTD
67 Reload the operator MOTD file
68
69TKLINES
70 Clears temporary K:lines.
71
72TDLINES
73 Clears temporary D:lines.
74
75TXLINES
76 Clears temporary X:lines.
77
78TRESVS
79 Clears temporary reservations.
80
81REJECTCACHE
82 Clears the client rejection cache.
83
84HELP
85 Refreshes the help system cache.
86
87RESTART
88-------
89
90RESTART
91server
92Cause an immediate total shutdown of the IRC server, and restart from
93scratch as if it had just been executed.
94
95This reexecutes the ircd using the compiled-in path, visible as SPATH in
96INFO.
97
98 **Note**
99
100 This command cannot be used remotely. The server name is used only
101 as a safety measure.
102
103DIE
104---
105
106DIE
107server
108Immediately terminate the IRC server, after sending notices to all
109connected clients and servers
110
111 **Note**
112
113 This command cannot be used remotely. The server name is used only
114 as a safety measure.
115
116SET
117---
118
119SET
120ADMINSTRING
121AUTOCONN
122AUTOCONNALL
123FLOODCOUNT
124IDENTTIMEOUT
125MAX
126OPERSTRING
127SPAMNUM
128SPAMTIME
129SPLITMODE
130SPLITNUM
131SPLITUSERS
132value
133The SET command sets a runtime-configurable value.
134
135Most of the ``ircd.conf`` equivalents have a default\_ prefix and are
136only read on startup. SET is the only way to change these at run time.
137
138Most of the values can be queried by omitting value.
139
140ADMINSTRING
141 Sets string shown in WHOIS for admins. (umodes +o and +a set, umode
142 +S not set).
143
144AUTOCONN
145 Sets auto-connect on or off for a particular server. Takes two
146 parameters, server name and new state.
147
148 To see these values, use /stats c. Changes to this are lost on a
149 rehash.
150
151AUTOCONNALL
152 Globally sets auto-connect on or off. If disabled, no automatic
153 connections are done; if enabled, automatic connections are done
154 following the rules for them.
155
156FLOODCOUNT
157 The number of lines allowed to be sent to a connection before
158 throttling it due to flooding. Note that this variable is used for
159 both channels and clients.
160
161 For channels, op or voice overrides this; for users, IRC operator
162 status or op or voice on a common channel overrides this.
163
164IDENTTIMEOUT
165 Timeout for requesting ident from a client.
166
167MAX
168 Sets the maximum number of connections to value.
169
170 This number cannot exceed maxconnections - MAX\_BUFFER.
171 maxconnections is the rlimit for number of open files. MAX\_BUFFER
172 is defined in config.h, normally 60.
173
174 MAXCLIENTS is an alias for this.
175
176OPERSTRING
177 Sets string shown in WHOIS for opers (umode +o set, umodes +a and +S
178 not set).
179
180SPAMNUM
181 Sets how many join/parts to channels constitutes a possible spambot.
182
183SPAMTIME
184 Below this time on a channel counts as a join/part as above.
185
186SPLITMODE
187 Sets splitmode to value:
188
189 ON
190 splitmode is permanently on
191
192 OFF
193 splitmode is permanently off (default if no\_create\_on\_split
194 and no\_join\_on\_split are disabled)
195
196 AUTO
197 ircd chooses splitmode based on SPLITUSERS and SPLITNUM (default
198 if no\_create\_on\_split or no\_join\_on\_split are enabled)
199
200SPLITUSERS
201 Sets the minimum amount of users needed to deactivate automatic
202 splitmode.
203
204SPLITNUM
205 Sets the minimum amount of servers needed to deactivate automatic
206 splitmode. Only servers that have finished bursting count for this.
207
208User management commands
8a7d33db 209~~~~~~~~~~~~~~~~~~~~~~~~
2ae078d8
AB
210
211KILL
212----
213
214KILL
215nick
216reason
217Disconnects the user with the given nick from the server they are
218connected to, with the reason given, if present, and broadcast a server
219notice announcing this.
220
221Your nick and the reason will appear on channels.
222
223CLOSE
224-----
225
226Closes all connections from and to clients and servers who have not
227completed registering.
228
229KLINE
230-----
231
232KLINE
233length
234user
235@
236host
237user
238@
239a
240.
241b
242.
243c
244.
245d
246ON
247servername
248:
249reason
250Adds a K:line to ``kline.conf`` to ban the given user@host from using
251that server.
252
253If the optional parameter length is given, the K:line will be temporary
254(i.e. it will not be stored on disk) and last that long in minutes.
255
256If an IP address is given, the ban will be against all hosts matching
257that IP regardless of DNS. The IP address can be given as a full address
258(192.168.0.1), as a CIDR mask (192.168.0.0/24), or as a glob
259(192.168.0.\*).
260
261All clients matching the K:line will be disconnected from the server
262immediately.
263
264If a reason is specified, it will be sent to the client when they are
265disconnected, and whenever a connection is attempted which is banned.
266
267If the ON part is specified, the K:line is set on servers matching the
268given mask (provided a matching shared{} block exists there). Otherwise,
269if specified in a cluster{} block, the K:Line will be propagated across
270the network accordingly.
271
272UNKLINE
273-------
274
275UNKLINE
276user
277@
278host
279ON
280servername
281Will attempt to remove a K:line matching user@host from ``kline.conf``,
282and will flush a temporary K:line.
283
284XLINE
285-----
286
287XLINE
288length
289mask
290ON
291servername
292:
293reason
294Works similarly to KLINE, but matches against the real name field. The
295wildcards are \* (any sequence), ? (any character), # (a digit) and @ (a
296letter); wildcard characters can be escaped with a backslash. The
297sequence \\s matches a space.
298
299All clients matching the X:line will be disconnected from the server
300immediately.
301
302The reason is never sent to users. Instead, they will be exited with
303“Bad user info”.
304
305If the ON part is specified, the X:line is set on servers matching the
306given mask (provided a matching shared{} block exists there). Otherwise,
307if specified in a cluster{} block, the X:line will be propagated across
308the network accordingly.
309
310UNXLINE
311-------
312
313UNXLINE
314mask
315ON
316servername
317Will attempt to remove an X:line from ``xline.conf``, and will flush a
318temporary X:line.
319
320RESV
321----
322
323RESV
324length
325channel
326mask
327ON
328servername
329:
330reason
331If used on a channel, “jupes” the channel locally. Joins to the channel
332will be disallowed and generate a server notice on +y, and users will
333not be able to send to the channel. Channel jupes cannot contain
334wildcards.
335
336If used on a nickname mask, prevents local users from using a nick
337matching the mask (the same wildcard characters as xlines). There is no
338way to exempt the initial nick from this.
339
340In neither case will current users of the nick or channel be kicked or
341disconnected.
342
343This facility is not designed to make certain nicks or channels
344oper-only.
345
346The reason is never sent to users.
347
348If the ON part is specified, the resv is set on servers matching the
349given mask (provided a matching shared{} block exists there). Otherwise,
350if specified in a cluster{} block, the resv will be propagated across
351the network accordingly.
352
353UNRESV
354------
355
356UNRESV
357channel
358mask
359ON
360servername
361Will attempt to remove a resv from ``resv.conf``, and will flush a
362temporary resv.
363
364DLINE
365-----
366
367DLINE
368length
369a
370.
371b
372.
373c
374.
375d
376ON
377servername
378:
379reason
380Adds a D:line to ``dline.conf``, which will deny any connections from
381the given IP address. The IP address can be given as a full address
382(192.168.0.1) or as a CIDR mask (192.168.0.0/24).
383
384If the optional parameter length is given, the D:line will be temporary
385(i.e. it will not be stored on disk) and last that long in minutes.
386
387All clients matching the D:line will be disconnected from the server
388immediately.
389
390If a reason is specified, it will be sent to the client when they are
391disconnected, and, if dline\_reason is enabled, whenever a connection is
392attempted which is banned.
393
394D:lines are less load on a server, and may be more appropriate if
395somebody is flooding connections.
396
397If the ON part is specified, the D:line is set on servers matching the
398given mask (provided a matching shared{} block exists there, which is
399not the case by default). Otherwise, the D:Line will be set on the local
400server only.
401
402Only exempt{} blocks exempt from D:lines. Being a server or having
403kline\_exempt in auth{} does *not* exempt (different from K/G/X:lines).
404
405UNDLINE
406-------
407
408UNDLINE
409a.b.c.d
410ON
411servername
412Will attempt to remove a D:line from ``dline.conf``, and will flush a
413temporary D:line.
414
415TESTGECOS
416---------
417
418TESTGECOS
419gecos
420Looks up X:Lines matching the given gecos.
421
422TESTLINE
423--------
424
425TESTLINE
426nick
427!
428user
429@
430host
431a
432.
433b
434.
435c
436.
437d
438Looks up the given hostmask or IP address and reports back on any auth{}
439blocks, D: or K: lines found. If nick is given, also searches for nick
440resvs.
441
442For temporary items the number of minutes until the item expires is
443shown (as opposed to the hit count in STATS q/Q/x/X).
444
445This command will not perform DNS lookups; for best results you must
446testline a host and its IP form.
447
448The given username should begin with a tilde (~) if identd is not in
449use. As of charybdis 2.1.1, no\_tilde and username truncation will be
450taken into account like in the normal client access check.
451
452As of charybdis 2.2.0, a channel name can be specified and the RESV will
453be returned, if there is one.
454
455TESTMASK
456--------
457
458TESTMASK
459hostmask
460gecos
461Searches the network for users that match the hostmask and gecos given,
462returning the number of matching users on this server and other servers.
463
464The hostmask is of the form user@host or user@ip/cidr with \* and ?
465wildcards, optionally preceded by nick!.
466
467The gecos field accepts the same wildcards as xlines.
468
469The IP address checked against is 255.255.255.255 if the IP address is
470unknown (remote client on a TS5 server) or 0 if the IP address is hidden
471(auth{} spoof).
472
473LUSERS
474------
475
476LUSERS
477mask
478nick
479server
480Shows various user and channel counts.
481
482The mask parameter is obsolete but must be used when querying a remote
483server.
484
485TRACE
486-----
487
488TRACE
489server
490nick
491location
492With no argument or one argument which is the current server, TRACE
493gives a list of all connections to the current server and a summary of
494connection classes.
495
496With one argument which is another server, TRACE displays the path to
497the specified server, and all servers, opers and -i users on that
498server, along with a summary of connection classes.
499
500With one argument which is a client, TRACE displays the path to that
501client, and that client's information.
502
503If location is given, the command is executed on that server; no path is
504displayed.
505
506When listing connections, type, name and class is shown in addition to
507information depending on the type:
508
509Try.
510 A server we are trying to make a TCP connection to.
511
512H.S.
513 A server we have established a TCP connection to, but is not yet
514 registered.
515
516????
517 An incoming connection that has not yet registered as a user or a
518 server (“unknown”). Shows the username, hostname, IP address and the
519 time the connection has been open. It is possible that the ident or
520 DNS lookups have not completed yet, and in any case no tildes are
521 shown here. Unknown connections may not have a name yet.
522
523User
524 A registered unopered user. Shows the username, hostname, IP
525 address, the time the client has not sent anything (as in STATS l)
526 and the time the user has been idle (from PRIVMSG only, as in
527 WHOIS).
528
529Oper
530 Like User, but opered.
531
532Serv
533 A registered server. Shows the number of servers and users reached
534 via this link, who made this connection and the time the server has
535 not sent anything.
536
537ETRACE
538------
539
540ETRACE
541nick
542Shows client information about the given target, or about all local
543clients if no target is specified.
544
545PRIVS
546-----
547
548PRIVS
549nick
550Displays effective operator privileges for the specified nick, or for
551yourself if no nick is given. This includes all privileges from the
552operator block, the name of the operator block and those privileges from
553the auth block that have an effect after the initial connection.
554
555The exact output depends on the server the nick is on, see the matching
556version of this document. If the remote server does not support this
557extension, you will not receive a reply.
558
559MASKTRACE
560---------
561
562MASKTRACE
563hostmask
564gecos
565Searches the local server or network for users that match the hostmask
566and gecos given. Network searches require the oper\_spy privilege and an
567'!' before the hostmask. The matching works the same way as TESTMASK.
568
569The hostmask is of the form user@host or user@ip/cidr with \* and ?
570wildcards, optionally preceded by nick!.
571
572The gecos field accepts the same wildcards as xlines.
573
574The IP address field contains 255.255.255.255 if the IP address is
575unknown (remote client on a TS5 server) or 0 if the IP address is hidden
576(auth{} spoof).
577
578CHANTRACE
579---------
580
581CHANTRACE
582channel
583Displays information about users in a channel. Opers with the oper\_spy
584privilege can get the information without being on the channel, by
585prefixing the channel name with an '!'.
586
587The IP address field contains 255.255.255.255 if the IP address is
588unknown (remote client on a TS5 server) or 0 if the IP address is hidden
589(auth{} spoof).
590
591SCAN
592----
593
594SCAN UMODES
595+
596modes
597-
598modes
599no-list
600list
601global
602list-max
603number
604mask
605nick!user@host
606Searches the local server or network for users that have the umodes
607given with + and do not have the umodes given with -. no-list disables
608the listing of matching users and only shows the count. list enables the
609listing (default). global extends the search to the entire network
610instead of local users only. list-max limits the listing of matching
611users to the given amount. mask causes only users matching the given
612nick!user@host mask to be selected. Only the displayed host is
613considered, not the IP address or real host behind dynamic spoofs.
614
615The IP address field contains 255.255.255.255 if the IP address is
616unknown (remote client on a TS5 server) or 0 if the IP address is hidden
617(auth{} spoof).
618
619Network searches where a listing is given are operspy commands.
620
621CHGHOST
622-------
623
624CHGHOST
625nick
626value
627Set the hostname associated with a particular nick for the duration of
628this session. This command is disabled by default because of the abuse
629potential and little practical use.
630
631Miscellaneous commands
8a7d33db 632~~~~~~~~~~~~~~~~~~~~~~
2ae078d8
AB
633
634ADMIN
635-----
636
637ADMIN
638nick
639server
640Shows the information in the admin{} block.
641
642INFO
643----
644
645INFO
646nick
647server
648Shows information about the authors of the IRC server, and some
649information about this server instance. Opers also get a list of
650configuration options.
651
652TIME
653----
654
655TIME
656nick
657server
658Shows the local time on the given server, in a human-readable format.
659
660VERSION
661-------
662
663VERSION
664nick
665server
666Shows version information, a few compile/config options, the SID and the
667005 numerics. The 005 numeric will be remapped to 105 for remote
668requests.
669
670STATS
671-----
672
673STATS
674type
675nick
676server
677Display various statistics and configuration information.
678
679A
680 Show DNS servers
681
682b
683 Show active nick delays
684
685B
686 Show hash statistics
687
688c
689 Show connect blocks
690
691d
692 Show temporary D:lines
693
694D
695 Show permanent D:lines
696
697e
698 Show exempt blocks (exceptions to D:lines)
699
700E
701 Show events
702
703f
704 Show file descriptors
705
706h
707 Show hub\_mask/leaf\_mask
708
709i
710 Show auth blocks, or matched auth blocks
711
712k
713 Show temporary K:lines, or matched K:lines
714
715K
716 Show permanent K:lines, or matched K:lines
717
718l
719 Show hostname and link information about the given nick. With a
720 server name, show information about opers and servers on that
721 server; opers get information about all local connections if they
722 query their own server. No hostname is shown for server connections.
723
724L
725 Like l, but show IP address instead of hostname
726
727m
728 Show commands and their usage statistics (total counts, total bytes,
729 counts from server connections)
730
731n
732 Show blacklist blocks (DNS blacklists) with hit counts since last
733 rehash and (parenthesized) reference counts. The reference count
734 shows how many clients are waiting on a lookup of this blacklist or
735 have been found and are waiting on registration to complete.
736
737o
738 Show operator blocks
739
740O
741 Show privset blocks
742
743p
744 Show logged on network operators which are not set AWAY.
745
746P
747 Show listen blocks (ports)
748
749q
750 Show temporarily resv'ed nicks and channels with hit counts
751
752Q
753 Show permanently resv'ed nicks and channels with hit counts since
754 last rehash bans
755
756r
757 Show resource usage by the ircd
758
759t
760 Show generic server statistics about local connections
761
762u
763 Show server uptime
764
765U
766 Show shared (c), cluster (C) and service (s) blocks
767
768v
769 Show connected servers and brief status
770
771x
772 Show temporary X:lines with hit counts
773
774X
775 Show permanent X:lines with hit counts since last rehash bans
776
777y
778 Show class blocks
779
780z
781 Show memory usage statistics
782
783Z
784 Show ziplinks statistics
785
786?
787 Show connected servers and link information about them
788
789WALLOPS
790-------
791
792WALLOPS
793:
794message
795Sends a WALLOPS message to all users who have the +w umode set. This is
796for things you don't mind the whole network knowing about.
797
798OPERWALL
799--------
800
801OPERWALL
802:
803message
804Sends an OPERWALL message to all opers who have the +z umode set. +z is
805restricted, OPERWALL should be considered private communications.