<title>Network management commands</title>
<note>
<para>
- Except STATS letters, all commands and names are case insensitive.
+ All commands and names are case insensitive.
+ Parameters consisting of one or more separate letters,
+ such as in MODE, STATS and WHO, are case sensitive.
</para>
</note>
<sect2>
<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>
+ <para>
+ To use the default port with <replaceable class=parameter>source</replaceable>,
+ specify 0 for <replaceable class=parameter>port</replaceable>.
+ </para>
</sect2>
<sect2>
<title>SQUIT</title>
<arg>DNS</arg>
<arg>MOTD</arg>
<arg>OMOTD</arg>
- <arg>GLINES</arg>
- <arg>PGLINES</arg>
<arg>TKLINES</arg>
<arg>TDLINES</arg>
<arg>TXLINES</arg>
<para>Reload the operator MOTD file</para>
</listitem>
</varlistentry>
- <varlistentry>
- <term>GLINES</term>
- <listitem>
- <para>Clears G:lines.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>PGLINES</term>
- <listitem>
- <para>Clears pending G:lines.</para>
- </listitem>
- </varlistentry>
<varlistentry>
<term>TKLINES</term>
<listitem>
<cmdsynopsis>
<command>SET</command>
<group>
- <arg>LOG</arg>
+ <arg>ADMINSTRING</arg>
+ <arg>AUTOCONN</arg>
+ <arg>AUTOCONNALL</arg>
+ <arg>FLOODCOUNT</arg>
+ <arg>IDENTTIMEOUT</arg>
<arg>MAX</arg>
- <arg>SPLITDELAY</arg>
- <arg>SMALLNET</arg>
+ <arg>OPERSTRING</arg>
<arg>SPAMNUM</arg>
<arg>SPAMTIME</arg>
+ <arg>SPLITMODE</arg>
+ <arg>SPLITNUM</arg>
+ <arg>SPLITUSERS</arg>
</group>
<arg choice=plain><replaceable>value</replaceable></arg>
</cmdsynopsis>
- <para>The SET command sets a runtime-configurable value</para>
+ <para>The SET command sets a runtime-configurable value.</para>
+ <para>
+ Most of the <filename>ircd.conf</filename> equivalents have
+ a default_ prefix and are only read on startup. SET is the only
+ way to change these at run time.
+ </para>
+ <para>
+ Most of the values can be queried by omitting
+ <replaceable>value</replaceable>.
+ </para>
<variablelist>
<varlistentry>
- <term>LOG</term>
- <listitem>
- <para>Logging level for ircd.log and syslog</para>
- </listitem>
+ <term>ADMINSTRING</term>
+ <listitem><para>
+ Sets string shown in WHOIS for admins.
+ (umodes +o and +a set, umode +S not set).
+ </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>
+ <term>AUTOCONN</term>
+ <listitem><para>
+ Sets auto-connect on or off for a particular server.
+ Takes two parameters, server name and new state.
+ </para><para>
+ To see these values, use /stats c.
+ Changes to this are lost on a rehash.
+ </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>
+ <term>AUTOCONNALL</term>
+ <listitem><para>
+ Globally sets auto-connect on or off. If disabled, no automatic
+ connections are done; if enabled, automatic connections are done
+ following the rules for them.
+ </para></listitem>
</varlistentry>
<varlistentry>
- <term>DRONECOUNT</term>
- <listitem>
- <para>Number of messages which constitutes a drone flood. 0 disables drone flood checking.</para>
- </listitem>
+ <term>FLOODCOUNT</term>
+ <listitem><para>
+ The number of lines allowed to be sent to a connection before
+ throttling it due to flooding.
+ Note that this variable is used for both
+ channels and clients.
+ </para><para>
+ For channels, op or voice overrides this; for users, IRC
+ operator status or op or voice on a common channel overrides
+ this.
+ </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>
+ <term>IDENTTIMEOUT</term>
+ <listitem><para>
+ Timeout for requesting ident from a client.
+ </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>
+ <term>MAX</term>
+ <listitem><para>
+ Sets the maximum number of connections
+ to <replaceable>value</replaceable>.
+ </para><para>
+ This number cannot exceed maxconnections - MAX_BUFFER.
+ maxconnections is the rlimit for number of open files.
+ MAX_BUFFER is defined in config.h, normally 60.
+ </para><para>
+ MAXCLIENTS is an alias for this.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>OPERSTRING</term>
+ <listitem><para>
+ Sets string shown in WHOIS for opers
+ (umode +o set, umodes +a and +S not set).
+ </para></listitem>
</varlistentry>
<varlistentry>
<term>SPAMNUM</term>
- <listitem>
- <para>Sets the number of JOINs/PARTs which constitutes a possible spambot</para>
- </listitem>
+ <listitem><para>
+ Sets how many join/parts to channels
+ 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>
+ <listitem><para>
+ Below this time on a channel
+ counts as a join/part as above.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>SPLITMODE</term>
+ <listitem><para>
+ Sets splitmode to <replaceable>value</replaceable>:
+ <variablelist>
+ <varlistentry>
+ <term>ON</term>
+ <listitem><para>splitmode is permanently on</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>OFF</term>
+ <listitem><para>splitmode is permanently off (default if no_create_on_split and no_join_on_split are disabled)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>AUTO</term>
+ <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>
+ </varlistentry>
+ </variablelist>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>SPLITUSERS</term>
+ <listitem><para>
+ Sets the minimum amount of users needed to
+ deactivate automatic splitmode.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>SPLITNUM</term>
+ <listitem><para>
+ Sets the minimum amount of servers needed to
+ deactivate automatic splitmode.
+ Only servers that have finished bursting count for this.
+ </para></listitem>
</varlistentry>
</variablelist>
</sect2>
<command>DLINE</command>
<arg><replaceable>length</replaceable></arg>
<arg choice=plain><replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
+ <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.
+ 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,
connections.
</para>
<para>
- D:lines cannot be set remotely on other servers.
+ 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 on initial connection.
+ 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>
<cmdsynopsis>
<command>UNDLINE</command>
<arg choice=plain><replaceable>a.b.c.d</replaceable></arg>
+ <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>GLINE</title>
- <cmdsynopsis>
- <command>GLINE</command>
- <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 choice=plain>:<replaceable>reason</replaceable></arg>
- </cmdsynopsis>
- <para>
- Attempts to add a network-wide ban for the given mask.
- It takes three different opers on three different servers
- requesting the same G:line to have it triggered for a configured
- time.
- </para>
- <para>
- Once triggered, a G:line is similar to a temporary K:line on
- each server. No further propagation or on-disk storage is done.
- </para>
- <note><para>
- This command can be enabled or disabled in the configuration file.
- If it is disabled, no oper on the server can issue a G:line and no
- G:lined user is banned, but G:lines are still propagated to other
- servers which may have G:lines enabled.
- </para></note>
- </sect2>
- <sect2>
- <title>UNGLINE</title>
- <cmdsynopsis>
- <command>UNGLINE</command>
- <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>
- </cmdsynopsis>
- <para>
- Removes the given G:line on this server.
- </para>
- </sect2>
<sect2>
<title>TESTGECOS</title>
<cmdsynopsis>
</group>
</cmdsynopsis>
<para>
- Looks up the given hostmask or IP address and reports back on any auth{} blocks, D:, G:, or K: lines found.
+ 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>
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>
no target is specified.
</para>
</sect2>
+ <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>
<para>Show file descriptors</para>
</listitem>
</varlistentry>
- <varlistentry>
- <term>g</term>
- <listitem>
- <para>Show pending glines</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>G</term>
- <listitem>
- <para>Show active glines</para>
- </listitem>
- </varlistentry>
<varlistentry>
<term>h</term>
<listitem>
<varlistentry>
<term>k</term>
<listitem>
- <para>Show temporary K:lines, or matched temporary K:lines</para>
+ <para>Show temporary K:lines, or matched K:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<term>K</term>
<listitem>
- <para>Show permanent K:lines, or matched permanent K:lines</para>
+ <para>Show permanent K:lines, or matched K:lines</para>
</listitem>
</varlistentry>
<varlistentry>
<para>
Show hostname and link information about the given nick.
With a server name, show information about opers and servers
- on that server; opers also get information about all local users
- if they query their own server.
+ 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>n</term>
<listitem>
- <para>Show blacklist blocks (DNS blacklists) with hit counts.</para>
+ <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>
<varlistentry>
<term>P</term>
<listitem>
- <para>Show listen blocks</para>
+ <para>Show listen blocks (ports)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>q</term>
<listitem>
- <para>Show temporarily resv'ed nicks and channels</para>
+ <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</para>
+ <para>Show permanently resv'ed nicks and channels with hit counts since last rehash bans</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>t</term>
<listitem>
- <para>Show generic server statistics</para>
+ <para>Show generic server statistics about local connections</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>x</term>
<listitem>
- <para>Show temporary X:lines</para>
+ <para>Show temporary X:lines with hit counts</para>
</listitem>
</varlistentry>
<varlistentry>
<term>X</term>
<listitem>
- <para>Show permanent X:lines</para>
+ <para>Show permanent X:lines with hit counts since last rehash bans</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry>
<term>?</term>
<listitem>
- <para>Show connected servers and sendq information about them</para>
+ <para>Show connected servers and link information about them</para>
</listitem>
</varlistentry>
</variablelist>