0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-26 07:23:53 +01:00
construct/doc/sgml/oper-guide/commands.sgml

1066 lines
32 KiB
Text
Raw Normal View History

<chapter id="commands">
<title>Operator Commands</title>
<sect1>
<title>Network management commands</title>
<note>
<para>
Except STATS letters, all commands and names are case insensitive.
</para>
</note>
<sect2>
<title>CONNECT</title>
<cmdsynopsis><command>CONNECT</command>
<arg choice=plain><replaceable>target</replaceable></arg>
<arg><replaceable>port</replaceable></arg>
<arg><replaceable>source</replaceable></arg>
</cmdsynopsis>
<para>
Initiate a connection attempt to server <replaceable class=parameter>target</replaceable>. If a port is
given, connect to that port on the target, otherwise use the one given in <filename>ircd.conf</filename>. If
<replaceable class=parameter>source</replaceable> is given, tell that server to initiate the connection
attempt, otherwise it will be made from the server you are attached to.
</para>
</sect2>
<sect2>
<title>SQUIT</title>
<cmdsynopsis>
<command>SQUIT</command>
<arg choice=plain><replaceable>server</replaceable></arg>
<arg><replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
Closes down the link to <replaceable>server</replaceable> from this side of the network. If a reason is
given, it will be sent out in the server notices on both sides of the link.
</para>
</sect2>
<sect2>
<title>REHASH</title>
<cmdsynopsis>
<command>REHASH</command>
<group>
<arg>BANS</arg>
<arg>DNS</arg>
<arg>MOTD</arg>
<arg>OMOTD</arg>
<arg>TKLINES</arg>
<arg>TDLINES</arg>
<arg>TXLINES</arg>
<arg>TRESVS</arg>
<arg>REJECTCACHE</arg>
<arg>HELP</arg>
</group>
<arg><replaceable>server</replaceable></arg>
</cmdsynopsis>
<para>
With no parameter given, <filename>ircd.conf</filename> will be reread and parsed.
The server argument is a wildcard match of server names.
</para>
<variablelist>
<title>Parameters</title>
<varlistentry>
<term>BANS</term>
<listitem>
<para>Rereads <filename>kline.conf</filename>, <filename>dline.conf</filename>, <filename>xline.conf</filename>, <filename>resv.conf</filename> and their .perm variants</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DNS</term>
<listitem>
<para>Reread <filename>/etc/resolv.conf</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>MOTD</term>
<listitem>
<para>Reload the MOTD file</para>
</listitem>
</varlistentry>
<varlistentry>
<term>OMOTD</term>
<listitem>
<para>Reload the operator MOTD file</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TKLINES</term>
<listitem>
<para>Clears temporary K:lines.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TDLINES</term>
<listitem>
<para>Clears temporary D:lines.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TXLINES</term>
<listitem>
<para>Clears temporary X:lines.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TRESVS</term>
<listitem>
<para>Clears temporary reservations.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>REJECTCACHE</term>
<listitem>
<para>Clears the client rejection cache.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>HELP</term>
<listitem>
<para>Refreshes the help system cache.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>RESTART</title>
<cmdsynopsis>
<command>RESTART</command>
<arg choice=plain><replaceable>server</replaceable></arg>
</cmdsynopsis>
<para>
Cause an immediate total shutdown of the IRC server, and restart from scratch as if it had just been executed.
</para>
<para>
This reexecutes the ircd using the compiled-in path, visible
as SPATH in INFO.
</para>
<note>
<para>This command cannot be used remotely. The server name is used only as a safety measure.</para>
</note>
</sect2>
<sect2>
<title>DIE</title>
<cmdsynopsis>
<command>DIE</command>
<arg choice=plain><replaceable>server</replaceable></arg>
</cmdsynopsis>
<para>Immediately terminate the IRC server, after sending notices to all connected clients and servers</para>
<note>
<para>This command cannot be used remotely. The server name is used only as a safety measure.</para>
</note>
</sect2>
<sect2>
<title>SET</title>
<cmdsynopsis>
<command>SET</command>
<group>
<arg>LOG</arg>
<arg>MAX</arg>
<arg>SPLITDELAY</arg>
<arg>SMALLNET</arg>
<arg>SPAMNUM</arg>
<arg>SPAMTIME</arg>
</group>
<arg choice=plain><replaceable>value</replaceable></arg>
</cmdsynopsis>
<para>The SET command sets a runtime-configurable value</para>
<variablelist>
<varlistentry>
<term>LOG</term>
<listitem>
<para>Logging level for ircd.log and syslog</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term>MAX</term>
<listitem>
<para>Set the maximum connections allowed (may not exceed the compiled-in value HARD_FDLIMIT)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DRONETIME</term>
<listitem>
<para>Number of seconds in which DRONECOUNT messages must occur to trip the drone alarm</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DRONECOUNT</term>
<listitem>
<para>Number of messages which constitutes a drone flood. 0 disables drone flood checking.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SPLITDELAY</term>
<listitem>
<para>Number of minutes after a connect burst begins until joining an empty channel will give you ops</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SMALLNET</term>
<listitem>
<para>Sets the number of servers which are needed to constitute <quote>attached to the network</quote>, as opposed to <quote>split</quote></para>
</listitem>
</varlistentry>
<varlistentry>
<term>SPAMNUM</term>
<listitem>
<para>Sets the number of JOINs/PARTs which constitutes a possible spambot</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SPAMTIME</term>
<listitem>
<para>Staying on a channel for less than this length of time adds to the SPAMNUM count</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
<sect1 id="usercommands">
<title>User management commands</title>
<sect2>
<title>KILL</title>
<cmdsynopsis>
<command>KILL</command>
<arg choice=plain><replaceable>nick</replaceable></arg>
<arg><replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
Disconnects the user with the given nick from the server they are connected to,
with the reason given, if present, and broadcast a server notice announcing this.
</para>
<para>
Your nick and the reason will appear on channels.
</para>
</sect2>
<sect2>
<title>CLOSE</title>
<para>
Closes all connections from and to clients and servers who have not completed registering.
</para>
</sect2>
<sect2>
<title>KLINE</title>
<cmdsynopsis>
<command>KLINE</command>
<arg><replaceable>length</replaceable></arg>
<group>
<arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
<arg choice=plain><replaceable>user</replaceable>@<replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
</group>
<arg>ON <replaceable>servername</replaceable></arg>
<arg>:<replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
Adds a K:line to <filename>kline.conf</filename> to ban the given user@host from using that
server.
</para>
<para>
If the optional parameter <replaceable>length</replaceable> is given, the K:line will
be temporary (i.e. it will not be stored on disk) and last that
long in minutes.
</para>
<para>
If an IP address is given, the ban will be against all hosts matching that IP regardless
of DNS. The IP address can be given as a full address (192.168.0.1), as a CIDR mask
(192.168.0.0/24), or as a glob (192.168.0.*).
</para>
<para>
All clients matching the K:line will be disconnected from the server immediately.
</para>
<para>
If a reason is specified, it will be sent to the client when they are disconnected, and
whenever a connection is attempted which is banned.
</para>
<para>
If the ON part is specified, the K:line is set on servers matching
the given mask (provided a matching shared{} block exists there).
Otherwise, if specified in a cluster{} block, the K:Line will be
propagated across the network accordingly.
</para>
</sect2>
<sect2>
<title>UNKLINE</title>
<cmdsynopsis>
<command>UNKLINE</command>
<arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
<arg>ON <replaceable>servername</replaceable></arg>
</cmdsynopsis>
<para>
Will attempt to remove a K:line matching user@host from <filename>kline.conf</filename>, and will flush
a temporary K:line.
</para>
</sect2>
<sect2>
<title>XLINE</title>
<cmdsynopsis>
<command>XLINE</command>
<arg><replaceable>length</replaceable></arg>
<arg choice=plain><replaceable>mask</replaceable></arg>
<arg>ON <replaceable>servername</replaceable></arg>
<arg>:<replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
Works similarly to KLINE, but matches against the real name field.
The wildcards are * (any sequence), ? (any character),
# (a digit) and @ (a letter); wildcard characters can be
escaped with a backslash.
</para>
<para>
Use \s for a space; this currently interferes with the
check whether the mask is already xlined and UNXLINE.
</para>
<para>
All clients matching the X:line will be disconnected from the server immediately.
</para>
<para>
The reason is never sent to users. Instead, they will be exited
with <quote>Bad user info</quote>.
</para>
<para>
If the ON part is specified, the X:line is set on servers matching
the given mask (provided a matching shared{} block exists there).
Otherwise, if specified in a cluster{} block, the X:line will be
propagated across the network accordingly.
</para>
</sect2>
<sect2>
<title>UNXLINE</title>
<cmdsynopsis>
<command>UNXLINE</command>
<arg choice=plain><replaceable>mask</replaceable></arg>
<arg>ON <replaceable>servername</replaceable></arg>
</cmdsynopsis>
<para>
Will attempt to remove an X:line from <filename>xline.conf</filename>, and will flush
a temporary X:line.
</para>
</sect2>
<sect2>
<title>RESV</title>
<cmdsynopsis>
<command>RESV</command>
<arg><replaceable>length</replaceable></arg>
<group>
<arg choice=plain><replaceable>channel</replaceable></arg>
<arg choice=plain><replaceable>mask</replaceable></arg>
</group>
<arg>ON <replaceable>servername</replaceable></arg>
<arg>:<replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
If used on a channel, <quote>jupes</quote> the channel locally. Joins to the
channel will be disallowed and generate a server notice on +y, and
users will not be able to send to the channel. Channel jupes cannot
contain wildcards.
</para>
<para>
If used on a nickname mask, prevents local users from using a nick
matching the mask (the same wildcard characters as xlines). There
is no way to exempt the initial nick from this.
</para>
<para>
In neither case will current users of the nick or channel be
kicked or disconnected.
</para>
<para>
This facility is not designed to make certain nicks
or channels oper-only.
</para>
<para>
The reason is never sent to users.
</para>
<para>
If the ON part is specified, the resv is set on servers matching
the given mask (provided a matching shared{} block exists there).
Otherwise, if specified in a cluster{} block, the resv will be
propagated across the network accordingly.
</para>
</sect2>
<sect2>
<title>UNRESV</title>
<cmdsynopsis>
<command>UNRESV</command>
<group>
<arg choice=plain><replaceable>channel</replaceable></arg>
<arg choice=plain><replaceable>mask</replaceable></arg>
</group>
<arg>ON <replaceable>servername</replaceable></arg>
</cmdsynopsis>
<para>
Will attempt to remove a resv from <filename>resv.conf</filename>, and will flush
a temporary resv.
</para>
</sect2>
<sect2>
<title>DLINE</title>
<cmdsynopsis>
<command>DLINE</command>
<arg><replaceable>length</replaceable></arg>
<arg choice=plain><replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
2008-04-21 01:54:24 +02:00
<arg>ON <replaceable>servername</replaceable></arg>
<arg>:<replaceable>reason</replaceable></arg>
</cmdsynopsis>
<para>
Adds a D:line to <filename>dline.conf</filename>, which will deny any connections
from the given IP address.
[svn] Backport from early 3.x: -- nenolod 2006/09/27 16:39:14 UTC (20060927-2178) Log: - remove "Processing connection to foobar.net" message Changes: Modified: +0 -3 trunk/src/s_auth.c (File Modified) nenolod 2006/09/27 16:34:26 UTC (20060927-2176) Log: - missed the processing connection one (actually, we can probably nuke this one) Changes: Modified: +1 -2 trunk/src/s_auth.c (File Modified) river 2006/09/27 16:33:05 UTC (20060927-2174) Log: get_client_name = stupid Changes: Modified: +10 -7 trunk/modules/core/m_kill.c (File Modified) nenolod 2006/09/27 16:32:37 UTC (20060927-2172) Log: - remove excessive arguments Changes: Modified: +1 -2 trunk/src/s_conf.c (File Modified) +1 -1 trunk/src/s_user.c (File Modified) nenolod 2006/09/27 16:30:59 UTC (20060927-2170) Log: - use sendto_one_notice() for on-connect notices too. Changes: Modified: +10 -10 trunk/src/s_auth.c (File Modified) nenolod 2006/09/27 16:27:01 UTC (20060927-2168) Log: - use sendto_one_notice() in the core, too. Changes: Modified: +2 -2 trunk/src/chmode.c (File Modified) +8 -15 trunk/src/modules.c (File Modified) +3 -5 trunk/src/s_conf.c (File Modified) +1 -2 trunk/src/s_newconf.c (File Modified) +20 -57 trunk/src/s_user.c (File Modified) river 2006/09/27 16:19:25 UTC (20060927-2166) Log: the KILL command will use get_client_name(, SHOW_IP) instead of target->name, and will show a more useful error for local opers Changes: Modified: +6 -4 trunk/modules/core/m_kill.c (File Modified) nenolod 2006/09/27 16:09:48 UTC (20060927-2164) Log: - fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients Changes: Modified: +4 -2 trunk/src/send.c (File Modified) nenolod 2006/09/27 16:05:46 UTC (20060927-2161) Log: - back out r2159 Changes: Modified: +1 -1 trunk/include/client.h (File Modified) nenolod 2006/09/27 16:04:05 UTC (20060927-2159) Log: - get_id(): fall back to "*" if client has no known name Changes: Modified: +1 -1 trunk/include/client.h (File Modified) nenolod 2006/09/27 16:01:29 UTC (20060927-2157) Log: - convert to sendto_one_notice(). Changes: Modified: +2 -3 trunk/unsupported/m_clearchan.c (File Modified) +4 -6 trunk/unsupported/m_force.c (File Modified) nenolod 2006/09/27 15:57:11 UTC (20060927-2155) Log: - use sendto_one_notice() in many places instead of sendto_one(source_p, ":%s NOTICE %s :", ...); Changes: Modified: +10 -25 trunk/extensions/example_module.c (File Modified) +5 -14 trunk/extensions/hurt.c (File Modified) +1 -2 trunk/extensions/m_42.c (File Modified) +7 -12 trunk/extensions/m_mkpasswd.c (File Modified) +1 -2 trunk/extensions/m_ojoin.c (File Modified) +1 -2 trunk/extensions/m_opme.c (File Modified) +3 -3 trunk/extensions/spy_whois_notice.c (File Modified) +3 -3 trunk/extensions/spy_whois_notice_global.c (File Modified) +3 -7 trunk/modules/core/m_die.c (File Modified) +2 -4 trunk/modules/core/m_kill.c (File Modified) +2 -2 trunk/modules/core/m_squit.c (File Modified) +1 -2 trunk/modules/m_challenge.c (File Modified) +11 -15 trunk/modules/m_connect.c (File Modified) +20 -28 trunk/modules/m_dline.c (File Modified) +2 -2 trunk/modules/m_etrace.c (File Modified) +11 -21 trunk/modules/m_gline.c (File Modified) +2 -4 trunk/modules/m_kline.c (File Modified) +1 -2 trunk/modules/m_rehash.c (File Modified) +3 -7 trunk/modules/m_restart.c (File Modified) +31 -45 trunk/modules/m_set.c (File Modified) +2 -4 trunk/modules/m_testmask.c (File Modified) +5 -8 trunk/modules/m_unreject.c (File Modified) +2 -5 trunk/modules/m_xline.c (File Modified) --
2007-01-25 08:23:01 +01:00
The IP address can be given as a full address (192.168.0.1) or
as a CIDR mask (192.168.0.0/24).
</para>
<para>
If the optional parameter <replaceable>length</replaceable> is given, the D:line will
be temporary (i.e. it will not be stored on disk) and last that
long in minutes.
</para>
<para>
All clients matching the D:line will be disconnected from the server immediately.
</para>
<para>
If a reason is specified, it will be sent to the client when they are disconnected, and,
if dline_reason is enabled,
whenever a connection is attempted which is banned.
</para>
<para>
D:lines are less load on a server, and may be more appropriate if somebody is flooding
connections.
</para>
<para>
2008-04-21 01:54:24 +02:00
If the ON part is specified, the D:line is set on servers matching
the given mask (provided a matching shared{} block exists there,
which is not the case by default).
Otherwise, the D:Line will be set on the local server only.
</para>
<para>
Only exempt{} blocks exempt from D:lines.
Being a server or having kline_exempt in auth{} does
<emphasis>not</emphasis> exempt (different from K/G/X:lines).
</para>
</sect2>
<sect2>
<title>UNDLINE</title>
<cmdsynopsis>
<command>UNDLINE</command>
<arg choice=plain><replaceable>a.b.c.d</replaceable></arg>
2008-04-21 01:54:24 +02:00
<arg>ON <replaceable>servername</replaceable></arg>
</cmdsynopsis>
<para>
Will attempt to remove a D:line from <filename>dline.conf</filename>, and will flush
a temporary D:line.
</para>
</sect2>
<sect2>
<title>TESTGECOS</title>
<cmdsynopsis>
<command>TESTGECOS</command>
<arg choice=plain><replaceable>gecos</replaceable></arg>
</cmdsynopsis>
<para>
Looks up X:Lines matching the given gecos.
</para>
</sect2>
<sect2>
<title>TESTLINE</title>
<cmdsynopsis>
<command>TESTLINE</command>
<arg><replaceable>nick</replaceable>!</arg>
<group>
<arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
<arg choice=plain><replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
</group>
</cmdsynopsis>
<para>
2008-04-19 18:05:26 +02:00
Looks up the given hostmask or IP address and reports back on any auth{} blocks, D: or K: lines found.
If <replaceable>nick</replaceable> is given, also searches for
nick resvs.
</para>
<para>
For temporary items the number of minutes until the item expires
is shown (as opposed to the hit count in STATS q/Q/x/X).
</para>
<para>
This command will not perform DNS lookups; for best
results you must testline a host and its IP form.
</para>
<para>
The given username should begin with a tilde (~) if identd is not
in use. As of charybdis 2.1.1, no_tilde and username truncation will
be taken into account like in the normal client access check.
</para>
<para>
As of charybdis 2.2.0, a channel name can be specified and the
RESV will be returned, if there is one.
</para>
</sect2>
<sect2>
<title>TESTMASK</title>
<cmdsynopsis>
<command>TESTMASK</command>
<arg choice=plain><replaceable>hostmask</replaceable></arg>
<arg><replaceable>gecos</replaceable></arg>
</cmdsynopsis>
<para>
Searches the network for users that match the hostmask and gecos given,
returning the number of matching users on this server and other servers.
</para>
<para>
The <replaceable>hostmask</replaceable> is of the form user@host
or user@ip/cidr with * and ? wildcards, optionally preceded by
nick!.
</para>
<para>
The <replaceable>gecos</replaceable> field accepts the same wildcards
as xlines.
</para>
<para>
The IP address checked against is 255.255.255.255 if the IP address
is unknown (remote client on a TS5 server) or 0 if the IP address
is hidden (auth{} spoof).
</para>
</sect2>
<sect2>
<title>LUSERS</title>
<cmdsynopsis>
<command>LUSERS</command>
<arg><replaceable>mask</replaceable></arg>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Shows various user and channel counts.
</para>
<para>
The <replaceable>mask</replaceable> parameter is obsolete
but must be used when querying a remote server.
</para>
</sect2>
<sect2>
<title>TRACE</title>
<cmdsynopsis>
<command>TRACE</command>
<group>
<arg><replaceable>server</replaceable></arg>
<arg><replaceable>nick</replaceable></arg>
</group>
<arg><replaceable>location</replaceable></arg>
</cmdsynopsis>
<para>
With no argument or one argument which is the current server,
TRACE gives a list of all connections to the current server
and a summary of connection classes.
</para>
<para>
With one argument which is another server, TRACE displays the path
to the specified server, and all servers, opers and -i users
on that server, along with a summary of connection classes.
</para>
<para>
With one argument which is a client, TRACE displays the
path to that client, and that client's information.
</para>
<para>
If location is given, the command is executed on that server;
no path is displayed.
</para>
<para>
When listing connections, type, name and class is shown
in addition to information depending on the type:
</para>
<variablelist>
<title>TRACE types</title>
<varlistentry>
<term>Try.</term>
<listitem><para>
A server we are trying to make a TCP connection to.
</para></listitem>
</varlistentry>
<varlistentry>
<term>H.S.</term>
<listitem><para>
A server we have established a TCP connection to, but is not
yet registered.
</para></listitem>
</varlistentry>
<varlistentry>
<term>????</term>
<listitem><para>
An incoming connection that has not yet registered as
a user or a server (<quote>unknown</quote>).
Shows the username, hostname, IP address
and the time the connection has been open. It is possible
that the ident or DNS lookups have not completed yet, and in
any case no tildes are shown here.
Unknown connections may not have a name yet.
</para></listitem>
</varlistentry>
<varlistentry>
<term>User</term>
<listitem><para>
A registered unopered user.
Shows the username, hostname, IP address, the time the client
has not sent anything (as in STATS l) and the time the user has
been idle (from PRIVMSG only, as in WHOIS).
</para></listitem>
</varlistentry>
<varlistentry>
<term>Oper</term>
<listitem><para>
Like User, but opered.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Serv</term>
<listitem><para>
A registered server.
Shows the number of servers and users reached via this link,
who made this connection and the time the server has not sent
anything.
</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>ETRACE</title>
<cmdsynopsis>
<command>ETRACE</command>
<arg><replaceable>nick</replaceable></arg>
</cmdsynopsis>
<para>
Shows client information about the given target, or about all local clients if
no target is specified.
</para>
</sect2>
2008-04-24 23:58:47 +02:00
<sect2>
<title>PRIVS</title>
<cmdsynopsis>
<command>PRIVS</command>
<arg><replaceable>nick</replaceable></arg>
</cmdsynopsis>
<para>
Displays effective operator privileges for
the specified nick, or for yourself if no nick is
given. This includes all privileges from the operator
block, the name of the operator block and those
privileges from the auth block that have an effect
after the initial connection.
</para>
<para>
The exact output depends on the server the nick is on,
see the matching version of this document.
If the remote server does not support this extension, you will not
receive a reply.
</para>
</sect2>
<sect2>
<title>MASKTRACE</title>
<cmdsynopsis>
<command>MASKTRACE</command>
<arg choice=plain><replaceable>hostmask</replaceable></arg>
<arg><replaceable>gecos</replaceable></arg>
</cmdsynopsis>
<para>
Searches the local server or network for users that match the hostmask and gecos given.
Network searches require the oper_spy privilege and an '!'
before the hostmask.
The matching works the same way as TESTMASK.
</para>
<para>
The <replaceable>hostmask</replaceable> is of the form user@host
or user@ip/cidr with * and ? wildcards, optionally preceded by
nick!.
</para>
<para>
The <replaceable>gecos</replaceable> field accepts the same wildcards
as xlines.
</para>
<para>
The IP address field contains 255.255.255.255 if the IP address
is unknown (remote client on a TS5 server) or 0 if the IP address
is hidden (auth{} spoof).
</para>
</sect2>
<sect2>
<title>CHANTRACE</title>
<cmdsynopsis>
<command>CHANTRACE</command>
<arg choice=plain><replaceable>channel</replaceable></arg>
</cmdsynopsis>
<para>
Displays information about users in a channel.
Opers with the oper_spy privilege
can get the information without being on the channel,
by prefixing the channel name with an '!'.
</para>
<para>
The IP address field contains 255.255.255.255 if the IP address
is unknown (remote client on a TS5 server) or 0 if the IP address
is hidden (auth{} spoof).
</para>
</sect2>
<sect2>
<title>SCAN</title>
<cmdsynopsis>
<command>SCAN UMODES</command>
<arg choice=plain>+<replaceable>modes</replaceable>-<replaceable>modes</replaceable></arg>
<arg>no-list</arg>
<arg>list</arg>
<arg>global</arg>
<arg>list-max <replaceable>number</replaceable></arg>
<arg>mask <replaceable>nick!user@host</replaceable></arg>
</cmdsynopsis>
<para>
Searches the local server or network for users that have the umodes given with + and do not have the umodes given with -.
no-list disables the listing of matching users and only shows the count.
list enables the listing (default).
global extends the search to the entire network instead of local users only.
list-max limits the listing of matching users to the given amount.
mask causes only users matching the given nick!user@host mask
to be selected. Only the displayed host is considered, not the
IP address or real host behind dynamic spoofs.
</para>
<para>
The IP address field contains 255.255.255.255 if the IP address
is unknown (remote client on a TS5 server) or 0 if the IP address
is hidden (auth{} spoof).
</para>
<para>
Network searches where a listing is given or the mask option is used
are operspy commands.
</para>
</sect2>
<sect2>
<title>CHGHOST</title>
<cmdsynopsis>
<command>CHGHOST</command>
<arg choice=plain><replaceable>nick</replaceable></arg>
<arg choice=plain><replaceable>value</replaceable></arg>
</cmdsynopsis>
<para>
Set the hostname associated with a particular nick for the duration of this session.
This command is disabled by default because of the abuse potential
and little practical use.
</para>
</sect2>
</sect1>
<sect1 id="misccommands">
<title>Miscellaneous commands</title>
<sect2>
<title>ADMIN</title>
<cmdsynopsis>
<command>ADMIN</command>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Shows the information in the admin{} block.
</para>
</sect2>
<sect2>
<title>INFO</title>
<cmdsynopsis>
<command>INFO</command>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Shows information about the authors of the IRC server, and
some information about this server instance.
Opers also get a list of configuration options.
</para>
</sect2>
<sect2>
<title>TIME</title>
<cmdsynopsis>
<command>TIME</command>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Shows the local time on the given server, in a human-readable format.
</para>
</sect2>
<sect2>
<title>VERSION</title>
<cmdsynopsis>
<command>VERSION</command>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Shows version information, a few compile/config options,
the SID and the 005 numerics.
The 005 numeric will be remapped to 105 for remote requests.
</para>
</sect2>
<sect2>
<title>STATS</title>
<cmdsynopsis>
<command>STATS</command>
<arg><replaceable>type</replaceable></arg>
<group>
<arg><replaceable>nick</replaceable></arg>
<arg><replaceable>server</replaceable></arg>
</group>
</cmdsynopsis>
<para>
Display various statistics and configuration information.
</para>
<variablelist>
<title>Values for <replaceable>type</replaceable></title>
<varlistentry>
<term>A</term>
<listitem>
<para>Show DNS servers</para>
</listitem>
</varlistentry>
<varlistentry>
<term>b</term>
<listitem>
<para>Show active nick delays</para>
</listitem>
</varlistentry>
<varlistentry>
<term>B</term>
<listitem>
<para>Show hash statistics</para>
</listitem>
</varlistentry>
<varlistentry>
<term>c</term>
<listitem>
<para>Show connect blocks</para>
</listitem>
</varlistentry>
<varlistentry>
<term>d</term>
<listitem>
<para>Show temporary D:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<term>D</term>
<listitem>
<para>Show permanent D:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<term>e</term>
<listitem>
<para>Show exempt blocks (exceptions to D:lines)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>E</term>
<listitem>
<para>Show events</para>
</listitem>
</varlistentry>
<varlistentry>
<term>f</term>
<listitem>
<para>Show file descriptors</para>
</listitem>
</varlistentry>
<varlistentry>
<term>h</term>
<listitem>
<para>Show hub_mask/leaf_mask</para>
</listitem>
</varlistentry>
<varlistentry>
<term>i</term>
<listitem>
<para>Show auth blocks, or matched auth blocks</para>
</listitem>
</varlistentry>
<varlistentry>
<term>k</term>
<listitem>
<para>Show temporary K:lines, or matched K:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<term>K</term>
<listitem>
<para>Show permanent K:lines, or matched K:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<term>l</term>
<listitem>
<para>
Show hostname and link information about the given nick.
With a server name, show information about opers and servers
on that server; opers get information about all local
connections if they query their own server.
No hostname is shown for server connections.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>L</term>
<listitem>
<para>Like l, but show IP address instead of hostname</para>
</listitem>
</varlistentry>
<varlistentry>
<term>m</term>
<listitem>
<para>Show commands and their usage statistics (total counts, total bytes, counts from server connections)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>n</term>
<listitem>
<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>
</listitem>
</varlistentry>
<varlistentry>
<term>o</term>
<listitem>
<para>Show operator blocks</para>
</listitem>
</varlistentry>
<varlistentry>
<term>p</term>
<listitem>
<para>Show logged on network operators which are not set AWAY.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>P</term>
<listitem>
<para>Show listen blocks (ports)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>q</term>
<listitem>
<para>Show temporarily resv'ed nicks and channels with hit counts</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Q</term>
<listitem>
<para>Show permanently resv'ed nicks and channels with hit counts since last rehash bans</para>
</listitem>
</varlistentry>
<varlistentry>
<term>r</term>
<listitem>
<para>Show resource usage by the ircd</para>
</listitem>
</varlistentry>
<varlistentry>
<term>t</term>
<listitem>
<para>Show generic server statistics about local connections</para>
</listitem>
</varlistentry>
<varlistentry>
<term>u</term>
<listitem>
<para>Show server uptime</para>
</listitem>
</varlistentry>
<varlistentry>
<term>U</term>
<listitem>
<para>Show shared (c), cluster (C) and service (s) blocks</para>
</listitem>
</varlistentry>
<varlistentry>
<term>v</term>
<listitem>
<para>Show connected servers and brief status</para>
</listitem>
</varlistentry>
<varlistentry>
<term>x</term>
<listitem>
<para>Show temporary X:lines with hit counts</para>
</listitem>
</varlistentry>
<varlistentry>
<term>X</term>
<listitem>
<para>Show permanent X:lines with hit counts since last rehash bans</para>
</listitem>
</varlistentry>
<varlistentry>
<term>y</term>
<listitem>
<para>Show class blocks</para>
</listitem>
</varlistentry>
<varlistentry>
<term>z</term>
<listitem>
<para>Show memory usage statistics</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Z</term>
<listitem>
<para>Show ziplinks statistics</para>
</listitem>
</varlistentry>
<varlistentry>
<term>?</term>
<listitem>
<para>Show connected servers and link information about them</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>WALLOPS</title>
<cmdsynopsis>
<command>WALLOPS</command>
<arg choice=plain>:<replaceable>message</replaceable></arg>
</cmdsynopsis>
<para>
Sends a WALLOPS message to all users who have the +w umode set. This is for
things you don't mind the whole network knowing about.
</para>
</sect2>
<sect2>
<title>OPERWALL</title>
<cmdsynopsis>
<command>OPERWALL</command>
<arg choice=plain>:<replaceable>message</replaceable></arg>
</cmdsynopsis>
<para>
Sends an OPERWALL message to all opers who have the +z umode set. +z is restricted,
OPERWALL should be considered private communications.
</para>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document: ("charybdis-oper-guide.sgml" "book")
sgml-exposed-tags:nil
sgml-local-ecat-files:nil
fill-column:105
End:
-->