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