]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - doc/sgml/oper-guide/commands.sgml
Add /topic !#channel operspy to sgml docs.
[irc/rqf/shadowircd.git] / doc / sgml / oper-guide / commands.sgml
index 25726e2e4ddc6cfd006f5cb28b53cd8c9eaecd4f..4b615d129f5af5dae7174eec7cd35aa25a669da2 100644 (file)
@@ -4,7 +4,9 @@
       <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>
@@ -42,8 +48,6 @@
            <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>