]> arthur.barton.de Git - ngircd-alex.git/blobdiff - doc/Commands.txt
Add support to show user links using "STATS L"
[ngircd-alex.git] / doc / Commands.txt
index 72e2eda5e0da83c7e3aa6935eaec6709028a1d42..e4f009045cd42717ea2ef265e307b9c8e58d5549 100644 (file)
@@ -145,7 +145,7 @@ Connection Handling Commands
 
        Please note:
        The RFCs state that the <token> parameter is used to specify the
-       origin of the PING command when forwared in the network, but this
+       origin of the PING command when forwarded in the network, but this
        is not the case: the sender is specified using the prefix as usual,
        and the parameter is used to identify the PONG reply in practice.
 
@@ -256,7 +256,7 @@ General Commands
        modes are returned. Otherwise the modes are adjusted accordingly
        and the changes will be reported back to the client.
        .
-       All user and chnnel "modes" are indicated by single case-sensitive
+       All user and channel "modes" are indicated by single case-sensitive
        characters.
        .
        Please note that a user can only get and set his own modes, and not
@@ -451,17 +451,21 @@ Status and Informational Commands
        Show statistics and other information of type <query> of a particular
        IRC server in the network.
        .
-       The following <query> types are supported (case-insensitive):
+       The following <query> types are supported (case-insensitive where
+       applicable):
        .
         - g  Network-wide bans ("G-Lines").
         - k  Server-local bans ("K-Lines").
-        - l  Link status (parent server and own link only).
+        - L  Link status (servers and user links).
+        - l  Link status (servers and own link).
         - m  Command usage count.
         - u  Server uptime.
        .
        <target> can be a server name, the nickname of a client connected to
        a specific server, or a mask matching a server name in the network.
        The server of the current connection is used when <target> is omitted.
+       .
+       To use "STATS L" the user must be an IRC Operator.
 
        References:
         - RFC 2812, 3.4.4 "Stats message"
@@ -479,12 +483,16 @@ Status and Informational Commands
         - RFC 2812, 3.4.6 "Time message"
 
 - TRACE
-       TRACE [<server>]
+       TRACE [<target>]
        .
        Find the route to a specific server and send information about its
        peers. Each server that processes this command reports back to the
        sender about it: the replies from pass-through servers form a chain
        which shows the route to the destination.
+       .
+       <target> can be a server name, the nickname of a client connected to
+       a specific server, or a mask matching a server name in the network.
+       The server of the current connection is used when <target> is omitted.
 
        References:
         - RFC 2812, 3.4.8 "Trace message"
@@ -611,7 +619,7 @@ Channel Commands
 - LIST
        LIST [<channel>[,<channel>[,...]] [<server>]]
        .
-       List all visible <channels> (comma-seperated list).
+       List all visible <channels> (comma-separated list).
        .
        If <server> is given, the command will be forwarded to <server> for
        evaluation.
@@ -631,7 +639,7 @@ Channel Commands
 - TOPIC
        TOPIC <channel> [<topic>]
        .
-       Cchange or view the topic of a channel.
+       Change or view the topic of a channel.
        .
        The topic for channel <channel> is returned if there is no <topic>
        given. If the <topic> parameter is present, the topic for that
@@ -647,37 +655,64 @@ Administrative Commands
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 - CONNECT
-       CONNECT <target server> [<port> [<remote server> [<mypwd> <peerpwd>]]]
+       CONNECT <server> [<port> [<remote-server> [<my-pwd> <peer-pwd>]]]
+       .
+       Instructs the current server, or <remote-server> if specified,
+       to connect to the server named <server>, which must be configured
+       in the server configuration file.
        .
-       Instructs the current server, or <remote server> if specified,
-       to connect to <target server>.
+       To use this command, the user must be an IRC Operator. To establish
+       a connection on a <remote-server>, you must have remote IRC operator
+       privileges.
        .
-       To connect <remote server> you need to have remote oper status.
-       If <port> is omitted, it uses the server port of the configuration.
-       If <mypwd> and <peerpwd> is given, it uses those passwords instead
-       of the ones in the configuration.
+       If <port>, <my-pwd> and <peer-pwd> are given, these values override
+       the ones specified in the server configuration file.
+
+       References:
+        - RFC 2812, 3.4.7 "Connect message"
 
 - DIE
-       DIE
+       DIE [<message>]
        .
        Instructs the server to shut down.
+       .
+       The optional (and non-standard) <message> text is sent to each client
+       connected to this server before all connections are closed.
+       .
+       To use this command, the user must be an IRC Operator.
+
+       References:
+        - RFC 2812, 4.3 "Die message"
 
 - DISCONNECT
-       DISCONNECT [<remote server>]
+       DISCONNECT <server>
        .
-       Disconnects the current server, or <remote server> if specified.
-       To disconnect a <remote server> you need to have remote oper status.
+       Disconnect and disable a locally linked server.
+       .
+       To use this command, the user must be an IRC Operator.
+
+       References:
+        - This command is not specified in the IRC RFCs, it is an extension
+          of ngIRCd.
 
 - GLINE
-       GLINE <nick!user@hostmask> <seconds> :<reason>
+       GLINE <nick!user@hostmask> [<timeout> :<reason>]
+       .
+       This command provides timed G-Lines (network-wide bans).
        .
-       This command provides timed G-Lines (Network-wide bans).
        If a client matches a G-Line, it cannot connect to any server on
-       the IRC network. If you put 0 as <seconds>, it makes the G-Line
-       permanent.
+       the IRC network for <timeout> seconds. When <timeout> is 0, it make
+       the G-Line permanent.
+       .
+       If no <timeout> and no <reason> is given, the G-Line is removed.
        .
-       To remove a G-Line, type "GLINE <nick!user@hostmask>".
-       To list the G-Lines, type "STATS g".
+       To use this command, the user must be an IRC Operator.
+       .
+       "STATS g" can be used to list all currently active G-Lines.
+
+       References:
+        - This command is not specified in the IRC RFCs, it is an extension
+          of ngIRCd.
 
 - KILL
        KILL <nickname> <reason>
@@ -687,40 +722,78 @@ Administrative Commands
        .
        This command is used internally between servers, too, for example
        to disconnect duplicate <nickname>'s after a "net split".
+       .
+       To use this command, the user must be an IRC Operator.
 
        References:
         - RFC 2812, 3.7.1 "Kill message"
 
 - KLINE
-       KLINE <nick!user@hostmask> <seconds> :<reason>
+       KLINE <nick!user@hostmask> [<timeout> :<reason>]
+       .
+       This command provides timed K-Lines (server-local bans).
        .
-       This command provides timed K-Lines (Server-local bans).
-       If a client matches a K-Line, it cannot connect to the issued server.
-       If you put 0 as <seconds>, it makes the K-Line permanent.
+       If a client matches a K-Line, it cannot connect to this server for
+       <timeout> seconds. When <timeout> is 0, it makes the K-Line permanent.
        .
-       To remove a K-Line, type "KLINE <nick!user@hostmask>".
-       To list the K-Lines, type "STATS k".
+       If no <timeout> and no <reason> is given, the K-Line is removed.
+       .
+       To use this command, the user must be an IRC Operator.
+       .
+       "STATS k" can be used to list all currently active K-Lines.
+
+       References:
+        - This command is not specified in the IRC RFCs, it is an extension
+          of ngIRCd.
 
 - OPER
-       OPER <user> <password>
+       OPER <name> <password>
        .
-       Authenticates <user> as an IRC operator on the current server/network.
+       Authenticates a user named <name> as an IRC operator on the current
+       server/network.
+       .
+       This operator <name> must be configured in the server configuration.
+       .
+       Please note that <name> is NOT related to a nickname at all!
+
+       References:
+        - RFC 2812, 3.1.4 "Oper message"
 
 - REHASH
        REHASH
        .
        Causes the server to re-read and re-process its configuration file(s).
+       .
+       While rehashing, no new connections are accepted, but all already
+       established connections stay connected.
+       .
+       To use this command, the user must be an IRC Operator.
+
+       References:
+        - RFC 2812, 4.2 "Rehash message"
 
 - RESTART
        RESTART
        .
        Restart the server.
+       .
+       While restarting, all connections are reset and no new connections
+       are accepted.
+       .
+       To use this command, the user must be an IRC Operator.
+
+       References:
+        - RFC 2812, 4.4 "Restart message"
 
 - WALLOPS
        WALLOPS <message>
        .
        Sends <message> to all users with user mode "+w".
+       .
+       To use this command, the user must be an IRC Operator.
 
+       References:
+        - RFC 2812, 4.7 "Operwall message"
 
 IRC Service Commands
 ~~~~~~~~~~~~~~~~~~~~
@@ -799,6 +872,8 @@ Server Protocol Commands
        .
        CHANINFO is used by servers to inform each other about a channel:
        its modes, channel key, user limits and its topic.
+       .
+       The CHANINFO command is allowed on server-links only.
 
        References:
         - IRC+, <http://ngircd.barton.de/doc/Protocol.txt>
@@ -826,20 +901,50 @@ Server Protocol Commands
        The METADATA command is used on server-links to update "metadata"
        information of clients, like the hostname, the info text ("real name"),
        or the user name.
+       .
+       The METADATA command is allowed on server-links only.
 
        References:
         - IRC+, <http://ngircd.barton.de/doc/Protocol.txt>
         - IRC+, doc/Protocol.txt
 
 - NJOIN
+       NJOIN <channel> [<mode>]<nick>[,[<mode>]<nick>[,...]]
+       .
+       The NJOIN command is used on server-links to add users with <nick>
+       and <mode> to a <channel> while peering.
+       .
+       The NJOIN command is allowed on server-links only.
+
+       References:
+        - RFC 2813, 4.2.2 "Njoin message"
 
 - SERVER
+       SERVER <servername> <info>
+       SERVER <servername> <hopcount> <info>
+       SERVER <servername> <hopcount> <token> <info>
+       .
+       The first form registers the local connection as a new server in the
+       network, the second (RFC 1459) and third (RFC 2812) form announce a
+       new remote server in the network.
+       .
+       The SERVER command is allowed on unregistered or server-links only.
+
+       References:
+        - RFC 1459, 4.1.4 "Server message"
+        - RFC 2813, 4.1.2 "Server message"
 
 - SQUIT
-       SQUIT <server>
+       SQUIT <server> <comment>
        .
        Disconnects an IRC Server from the network.
+       .
+       This command is used on server-links, but can be used by IRC Operators
+       to forcefully disconnect servers from the network, too.
 
+       References:
+        - RFC 2812, 3.1.8 "Squit"
+        - RFC 2813, 4.1.6 "Server quit message"
 
 Dummy Commands
 ~~~~~~~~~~~~~~
@@ -868,5 +973,19 @@ Dummy Commands
         - RFC 2812, 4.6 "Users"
 
 - GET
+       GET [...]
+       .
+       Fake HTTP GET command. When received, the connection is shut down
+       immediately again to protect against crazy web browsers ...
+
+       References:
+        - ngIRCd GIT commit 33e8c2480649
 
 - POST
+       POST [...]
+       .
+       Fake HTTP POST command. When received, the connection is shut down
+       immediately again to protect against crazy web browsers ...
+
+       References:
+        - ngIRCd GIT commit 33e8c2480649