StatServ
From Afterxwiki
Introduction
StatServ is a utility which displays statistics relating to the network's servers. It provides IRC operators with statistics relating to the network's servers and users. Type /msg StatServ HELP COMMANDS for a list of StatServ commands; to use a command type /msg StatServ command, or for more information on a command type /msg StatServ HELP command.
StatServ Commands
GLOBAL
- Syntax:
- GLOBAL message
Allows IRCops to send messages to all users on the network. The message will be sent from the nickname "Global" (which can be changed with the GlobalName option in modules.conf).
STATS
- Syntax:
- STATS [RESET | NETWORK | AKILL | ALL]
Without any option, shows the current number of users and IRCops online (excluding Services), the highest number of users online since Services was started, and the length of time Services has been running.
With the RESET option, resets the maximum user count to the number of users currently online.
With the NETWORK option, shows the amount of data sent to and received from the remote server, and the amount of memory used by network send/receive buffers. The ratio of the current buffer memory usage to the buffer size limit is also displayed as a percentage if a limit is configured (via NetBufferSize in ircservices.conf).
With the AKILL option, displays the current size of the AKILL list and the current default expiry time.
The ALL option is available only to Services admins, and displays information on Services' memory usage. Using this option can freeze Services for a short period of time on large networks, so don't overuse it!
UPTIME may be used as a synonym for STATS.
SERVERMAP
- Syntax:
- SERVERMAP
Displays a map of servers connected to the network, from the viewpoint of Services. "Fake" servers—Services itself and any servers jupitered with the JUPE command—have "(*)" displayed after the sever name.
OPER
- Syntax:
- OPER ADD nickname
OPER DEL nickname
OPER LIST
Allows Services admins to add or remove nicknames to or from the Services operator list. A user whose nickname is on the Services operator list and who has identified to NickServ will be able to access Services operator commands.
Any IRC operator may use the OPER LIST form of the command. All other use limited to Services admins.
ADMIN
- Syntax:
- ADMIN ADD nickname
ADMIN DEL nickname
ADMIN LIST
Allows the Services super-user to add or remove nicknames to or from the Services admin list. A user whose nickname is on the Services admin list and who has identified to NickServ will be able to access Services admin commands.
Any IRC operator may use the ADMIN LIST form of the command. All other use limited to Services super-user.
MODE
- Syntax:
- MODE channel modes
Allows Services operators to set channel modes for any channel. Parameters are the same as for the standard /MODE command.
Limited to Services operators.
CLEARMODES
- Syntax:
- CLEARMODES channel [ALL]
Clears all binary modes (n, s, t, k, l, and so on) and bans from a channel. If ALL is given, also clears all user modes (like +o and +v) from the channel.
Limited to Services operators.
CLEARCHAN
- Syntax:
- CLEARCHAN channel
Removes all users from a channel (masskick).
Limited to Services operators.
KICK
- Syntax:
- KICK channel user reason
Allows IRCops to kick a user from any channel. Parameters are the same as for the standard /KICK command. The kick message will have the nickname of the IRCop sending the KICK command prepended; for example:
*** SpamMan has been kicked off channel #my_channel by OperServ (Alcan (Flood))
Limited to Services operators.
AKILL (requires the operserv/akill module)
- Syntax:
- AKILL ADD [+expiry] mask reason
AKILL DEL mask
AKILL LIST [mask] [NOEXPIRE]
AKILL VIEW [mask] [NOEXPIRE]
AKILL COUNT
Allows Services operators to manipulate the autokill (AKILL) list. If a user matching an AKILL mask attempts to connect, Services will issue a KILL for that user and, on supported server types, will instruct all servers to add a ban (K-line) for the mask which the user matched.
AKILL ADD adds the given user@host mask to the AKILL list for the given reason (which must be given). AKILL DEL removes the given mask from the AKILL list if it is present. AKILL LIST shows all current AKILLs; if the optional mask is given, the list is limited to those AKILLs matching the mask. AKILL VIEW is a more verbose version of AKILL LIST, and will show who added an AKILL, the date it was added, and when it expires, as well as the user@host mask and reason. If the NOEXPIRE option is given, then only AKILLs that will not expire, and match the given user@host mask, will be displayed. AKILL COUNT simply returns the number of AKILLs in the AKILL list.
Optionally, an expiry time can be given with the AKILL ADD command. The expiry time precedes the user@host mask, and is specified as an integer followed by one of "d" (days), "h" (hours), or "m" (minutes). Combinations (such as 1h30m) are also permitted. If a unit specifier is not included, the default is days (so +30 by itself means 30 days). To add an AKILL which does not expire, use +0. If the usermask to be added starts with a +, an expiry time must be given, even if it is the same as the default. The current AKILL default expiry time can be found with the STATS AKILL command.
The reason should describe why the entry is being added; depending on how Services is configured, it may also be displayed to users in KILL messages.
If the OperMaxExpiry option is set in modules.conf, Services operators may only set an expiry time up to that limit; otherwise, they may set any expiry time. Services administrators can always set any expiry time.
Limited to Services operators.
EXCLUDE (requires the operserv/akill module)
- Syntax:
- EXCLUDE ADD [+expiry] mask reason
EXCLUDE DEL mask
EXCLUDE LIST [mask] [NOEXPIRE]
EXCLUDE VIEW [mask] [NOEXPIRE]
EXCLUDE COUNT
Allows Services operators to manipulate the autokill exclusion list. When a user matching an autokill exclusion mask connects to the network, Services will not issue a KILL for that user even if the user would otherwise match an autokill mask. This is useful if you have wide autokill masks, and still want specific hosts or users that match those masks to be able to connect.
The ADD, DEL, LIST, VIEW, and COUNT subcommands function the same way as the subcommands for the AKILL command; see the AKILL help for more information.
Limited to Services operators.
SGLINE (requires the operserv/sline module)
- Syntax:
- SGLINE ADD [+expiry] mask reason
SGLINE DEL mask
SGLINE LIST [mask] [NOEXPIRE]
SGLINE VIEW [mask] [NOEXPIRE]
SGLINE COUNT
Allows Services operators to manipulate the SGLINE list. If a user whose "real name" matches an SGLINE mask attempts to connect, Services will issue a KILL for that user and, on supported server types, will instruct all servers to add a ban (server G-line) for the mask which the user matched.
SGLINE ADD adds the given real name mask to the SGLINE list for the given reason (which must be given). SGLINE DEL removes the given mask from the SGLINE list if it is present. SGLINE LIST shows all SGLINE entries; if the optional mask is given, the list is limited to those entries matching the mask. SGLINE VIEW is a more verbose version of SGLINE LIST, and will show who added each SGLINE entry, the date it was added, when it was last used, and when it expires, as well as the mask and reason. If the NOEXPIRE option is given, then only entriess that both will not expire and match the given mask will be displayed. SGLINE COUNT simply returns the number of entries in the SGLINE list. The mask parameter may be enclosed in double quotes, and must be when the mask contains spaces; for example:
/msg OperServ SGLINE ADD +0 "bad name" This is a bad name.
Optionally, an expiry time can be given with the SGLINE ADD
command. The expiry time precedes the user@host mask, and
is specified as an integer followed by one of "d" (days),
"h" (hours), or "m" (minutes). Combinations (such as 1h30m)
are also permitted. If a unit specifier is not included,
the default is days (so +30 by itself means 30 days). To
add an entry which does not expire, use +0. If the
mask to be added starts with a + and no expiry time is
given, the mask must be enclosed in double quotes, as
described above.
The reason should describe why the entry is being added;
depending on how Services is configured, it may also be
displayed to users in KILL messages.
Limited to Services operators.
SQLINE (requires the operserv/sline module)
- Syntax:
- SQLINE ADD [+expiry] mask reason
SQLINE DEL mask
SQLINE LIST [mask] [NOEXPIRE]
SQLINE VIEW [mask] [NOEXPIRE]
SQLINE COUNT
Allows Services operators to manipulate the SQLINE list. If a user whose nickname matches an SQLINE mask attempts to connect, Services will either (1) if the SQlineKill option is set in modules.conf or the IRC server type in use does not support forced nick changing, issue a KILL for that user; or (2) change the user's nickname to a "guest" nickname, and send the user a message that will normally cause the user's IRC client to request a new nickname. On supported server types, Services will also instruct all servers to add a ban (server Q-line) for the mask which the user matched.
If the SQlineIgnoreOpers option is set in modules.conf, then IRC operators will not be affected by SQlines.
The ADD, DEL, LIST, and VIEW, and COUNT subcommands can be used to add, delete, view (short or long version), or count the number of entries in the SQLINE list. See the help for SGLINE for details.
Limited to Services operators.
SZLINE (requires the operserv/sline module)
- Syntax:
- SZLINE ADD [+expiry] mask reason
SZLINE DEL mask
SZLINE LIST [mask] [NOEXPIRE]
SZLINE VIEW [mask] [NOEXPIRE]
SZLINE COUNT
Allows Services operators to manipulate the SZLINE list. If a user whose IP address matches an SZLINE mask attempts to connect, Services will issue a KILL for that user and, on supported server types, will instruct all servers to add a ban (server Z-line) for the mask which the user matched.
The ADD, DEL, LIST, and VIEW, and COUNT subcommands can be used to add, delete, view (short or long version), or count the number of entries in the SZLINE list. See the help for SGLINE for details.
Note that SZlines are not supported by all IRC servers, and this command will not be available when using a server without SZline support. Some servers may require the ImmediatelySendSline option in modules.conf to be set in order to use SZlines.
Limited to Services operators.
EXCEPTION (requires the operserv/sessions module)
- Syntax:
- EXCEPTION ADD [+expiry] mask limit reason
EXCEPTION DEL {mask | list}
EXCEPTION MOVE num newnum
EXCEPTION LIST [mask | list]
EXCEPTION VIEW [mask | list]
Allows Services admins to manipulate the list of hosts that have specific session limits, allowing certain machines, such as shell servers, to carry more than the default number of clients at a time. Once a host reaches its session limit, all clients attempting to connect from that host will be killed. Before the user is killed, they are notified, via a /NOTICE from OperServ, of a source of help regarding session limiting. The content of this notice is a configuration setting (SessionLimitExceeded and SessionLimitDetailsLoc in modules.conf).
EXCEPTION ADD adds the given host mask to the exception list. Note that nick!user@host and user@host masks are invalid! Only real host masks, such as box.host.dom and *.host.dom, are allowed because sessions limiting does not take nick or user names into account. limit must be a number greater than or equal to zero; this determines how many sessions this host may carry at a time (a value of zero means the host has an unlimited session limit).
Optionally, an expiry time can be given with the EXCEPTION ADD command. The expiry time precedes the host mask, and is specified as an integer followed by one of "d" (days), "h" (hours), or "m" (minutes). Combinations (such as 1h30m) are also permitted. If a unit specifier is not included, the default is days (so +30 by itself means 30 days). To add an entry which does not expire, use +0. If the mask to be added starts with a +, an expiry time must be given, even if it is the same as the default.
EXCEPTION DEL removes the given mask or numbered entry or entries from the exception list (entry numbers can be found with VIEW or LIST).
EXCEPTION MOVE moves exception num to newnum. If newnum is already used by another exception, its number will be increased to make room.
EXCEPTION LIST and EXCEPTION VIEW show all current exceptions; if the optional mask is given, the list is limited to those exceptions matching the mask. The difference between the two commands is that EXCEPTION VIEW is more verbose, displaying the name of the person who added the exception, its session limit, reason, host mask and the expiry date and time, as well as the last time the exception was "used", i.e. the last time a user connected who matched the exception's mask.
Note that a connecting client will "use" the first exception their host matches. Large exception lists and widely matching exception masks are likely to degrade Services' performance.
Limited to Services admins.
SESSION (requires the operserv/sessions module)
- Syntax:
- SESSION LIST threshold
SESSION VIEW host
Allows Services admins to view the session list.
SESSION LIST lists hosts with at least threshold sessions. The threshold must be a number greater than 1, to prevent accidental listing of the large number of single session hosts.
SESSION VIEW displays detailed information about a specific host, including the current session count and session limit. The host value may not include wildcards.
See the EXCEPTION help for more information about session limiting and how to set session limits specific to certain hosts and groups thereof.
Limited to Services admins.
SU
- Syntax:
- SU password
Allows access to functions which require Services super-user privileges. The password is the same as that set with the SET SUPASS command; note that the password must be set once before using this command. Super-user privileges last until you quit IRC.
WARNING: If you enter an incorrect password, Services will broadcast a warning message to all IRC operators.
Limited to Services admins.
SET
- Syntax:
- SET option setting
Sets various global Services options. Option names currently defined are:
- READONLY
- Set read-only or read-write mode
- DEBUG
- Activate or deactivate debug mode
- SUPASS
- Set password for SU command (super-user)
Limited to Services admins; the SUPASS option may only be set by the Services super-user.
SET READONLY
- Syntax:
- SET READONLY {ON | OFF}
Sets read-only mode on or off. In read-only mode, normal users will not be allowed to modify any Services data, including channel and nickname access lists, etc. IRCops with sufficient Services privileges will be able to modify Services' AKILL list and drop or forbid nicknames and channels, but any such changes will not be saved unless read-only mode is deactivated before Services is terminated or restarted.
This option is equivalent to the command-line option -readonly.
SET DEBUG
- Syntax:
- SET DEBUG {ON | OFF | num}
Sets debug mode on or off. In debug mode, all data sent to and from Services as well as a number of other debugging messages are written to the log file. If num is given, debug mode is activated, with the debugging level set to num.
This option is equivalent to the command-line option -debug.
SET SUPASS
- Syntax:
- SET SUPASS [password]
Sets the password to be used for the SU command. The password must be set once before using the SU command for the first time. If no password is given, the SU command will be unavailable.
This option may only be set by the Services super-user.
JUPE
- Syntax:
- JUPE server [reason]
Tells Services to jupiter a server—that is, to create a fake "server" connected to Services which prevents the real server of that name from connecting. The jupe may be removed using a standard /SQUIT. If a reason is given, it is placed in the server information field; otherwise, the server information field will contain the text "Jupitered by nickname", showing the nickname of the person who jupitered the server.
Limited to Services admins.
RAW
- Syntax:
- RAW text
Sends a string of text directly to the server to which Services is connected. This command has a very limited range of uses, and can wreak havoc on a network or cause Services to crash if used improperly. DO NOT USE THIS COMMAND unless you are absolutely certain you know what you are doing!
Limited to the Services super-user.
UPDATE
- Syntax:
- UPDATE [FORCE]
Causes Services to update all database files as soon as you send the command. If the FORCE option is given, Services will attempt to unlock the databases before performing the update; this can be used to fix "databases are locked" errors when updating the databases.
Limited to Services admins.
QUIT
- Syntax:
- QUIT
Causes Services to do an immediate shutdown; databases are not saved. This command should not be used unless damage to the in-memory copies of the databases is feared and they should not be saved. For normal shutdowns, use the SHUTDOWN command.
Limited to Services admins.
SHUTDOWN
- Syntax:
- SHUTDOWN
Causes Services to save all databases and then shut down.
Limited to Services admins.
RESTART
- Syntax:
- RESTART
Causes Services to save all databases and then restart (i.e. exit and immediately re-run the executable).
Limited to Services admins.
REHASH
- Syntax:
- REHASH
Causes Services to re-read its configuration files and update active settings. Some settings, such as RemoteServer (which sets the hostname of the IRC server to connect to), cannot be changed with REHASH, and will only take effect when Services is restarted; in these cases, a message will be written to the Services log file, and a notice will be sent notifying you of this.
If LoadModule lines have been added to or removed from the main Services configuration file (ircservices.conf), modules will be loaded or unloaded as needed. Modules which no longer have a LoadModule line will be unloaded in reverse order of loading; then, after the remaining modules have been rehashed, new modules will be loaded in the order listed in the configuration file. If an error occurs at any step, rehashing will be aborted.
Note that due to module dependencies, some modules cannot be removed or changed via REHASH; in such cases, you will need to restart Services for the changes to take effect.
Limited to Services admins.
KILLCLONES
- Syntax:
- KILLCLONES nickname
Kills all users who have the same hostname as nickname. A temporary AKILL, in the form *@host, is added to prevent the offending clients from immediately reconnecting. A WALLOPS is also sent indicating who used the command, which host was affected, and how many users were killed. It's useful for removing numerous clones from the network.
Limited to Services operators.
LOGONNEWS
- Syntax:
- LOGONNEWS ADD text LOGONNEWS DEL {num | ALL} LOGONNEWS LIST
Edits or displays the list of logon news messages. When a user connects to the network, these messages will be sent to them. (However, no more than three messages will be sent in order to avoid flooding the user. If there are more than three news messages, only the three most recent will be sent.)
LOGONNEWS LIST may be used by any IRC operator to list the current news messages. ADD and DEL may only be used by Services administrators.
OPERNEWS
- Syntax:
- OPERNEWS ADD text OPERNEWS DEL {num | ALL} OPERNEWS LIST
Edits or displays the list of logon news messages. When a user opers up (with the /OPER command), these messages will be sent to them. (However, no more than three messages will be sent in order to avoid flooding the user. If there are more than three news messages, only the three most recent will be sent.)
OPERNEWS LIST may be used by any IRC operator to list the current news messages. ADD and DEL may only be used by Services administrators.
