About OperServ

OperServ enables IRC operators to better manage the various aspects of EsperNet.

Warning: this service is for IRC operators only. All commands to OperServ are logged!

For a list of commands from OperServ, type:

/MSG OperServ HELP COMMANDS

The following commands can be used with OperServ:

Command Description
GLOBAL

Send a message to all users.

STATS

Show status of Services and network.

SERVERMAP

Show map of servers on network.

These commands are available to Services Operators:
MODE

Change a channel's modes.

KICK

Kick a user from a channel.

CLEARMODES

Removes certain modes from a channel.

CLEARCHAN

Removes all users from a channel (masskick).

KILLCLONES

Kill all users that have a certain host.

AKILL

Manipulate the autokill list.

AKILLCHAN

Autokill all users in a channel.

EXCLUDE

Manipulate the autokill exclusion list.

SGLINE

Manipulate the SGLINE list.

SQLINE

Manipulate the SQLINE list.

SZLINE

Manipulate the SZLINE list.

SESSION

View the list of host sessions.

EXCEPTION

Modify the session-limit exception list.

LOGONNEWS

Define messages to be shown to users at logon.

These commands are available to Services Administrators:
OPERNEWS

Define messages to be shown to users who oper.

OPER

Modify the Services operator list.

JUPE

"Jupiter" a server.

SET

Set various global Services options.

UPDATE

Force the Services databases to be updated on disk immediately.

SHUTDOWN

Save databases and stop Services.

QUIT

Terminate Services without saving databases.

RESTART

Save databases and restart Services.

REHASH

Re-read configuration files.

SU

Obtain Services super-user privileges.

These commands are available to Services Superusers:
ADMIN

Modify the Services admin list.

RAW

Send a raw string to the IRC server.

OperServ Command Details

GLOBAL

GLOBAL message

Allows IRCops to send messages to all users on the network. The message will be sent from the nickname Espernet.

Example:

/msg OperServ GLOBAL This is a global message

STATS

STATS [RESET | NETWORK | 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.

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.

Example:

/msg OperServ STATS ALL

SERVERMAP

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.

Example:

/msg OperServ SERVERMAP

MODE

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 admins.

Example:

/msg OperServ MODE #dragonweyr +nt

KICK

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 admins.

Example:

/msg OperServ KICK #dragonweyr Ketju causing trouble

CLEARMODES

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 admins.

Example:

/msg OperServ

CLEARCHAN

CLEARCHAN channel

Removes all users from a channel (masskick).

Limited to Services admins.

Example:

/msg OperServ CLEARCHAN #dragonweyr

KILLCLONES

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 admins.

Example:

/msg OperServ KILLCLONES Ketju

AKILL

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 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 admins.

Example:

/msg OperServ ADD +30d ketju@esper.net causing trouble

AKILLCHAN

AKILLCHAN [KILL] [+expiry] channel reason

Adds autokills for all users except IRC operators in a given channel, and optionally (if KILL is given) removes them from the network. The reason will be stored with each autokill, and may be displayed in kill messages depending on how Services is configured. expiry takes the same format as in the AKILL ADD command; if not given, it defaults to 7 days.

Autokills added by this command will have the form *@hostname, for each hostname used by a client in the channel. If such an autokill already exists for a hostname, it will not be modified; this may cause the number of autokills added to be less than the number of users affected.

Limited to Services admins.

Example:

/msg OperServ AKILLCHAN KILL +30d #dragonweyr causing trouble

EXCLUDE

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 admins.

Example:

/msg OperServ EXCLUDE ADD +30d ketju@esper.net exclude Ketju from akill.

SGLINE

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 entries 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:

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 admins.

Example:

/msg OperServ SGLINE ADD +0 "bad name" This is a bad name.

SQLINE

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, or a user attempts to change to a nickname matching an SQLINE mask, Services will change that user's nickname to a "guest" nickname, and will 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.

Limited to Services admins.

Example:

Note that IRC operators will not be affected by SQLINE masks. 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 (/msg OperServ HELP SGLINE) for details.

SZLINE

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.

Limited to Services admins.

Example:

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 (/msg OperServ HELP SGLINE) for details.

SESSION

SESSION LIST threshold
SESSION VIEW host

Allows Services operators 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.

Example:

/msg OperServ SESSION LIST 3

EXCEPTION

EXCEPTION ADD [+expiry] mask limit reason
EXCEPTION DEL {mask | list}
EXCEPTION MOVE num newnum
EXCEPTION LIST [mask | list]
EXCEPTION VIEW [mask | list]

Allows Services operators 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.

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 incremented 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.

Example:

/msg OperServ EXCEPTION ADD +30d ketju@esper.net 10 Ketju can have 10 clients

LOGONNEWS

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 operators.

Example:

/msg OperServ LOGONNEWS ADD This is the latest logon news

OPERNEWS

OPERNEWS ADD text
OPERNEWS DEL {num | ALL}
OPERNEWS LIST

Edits or displays the list of oper 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 oper news messages. ADD and DEL may only be used by Services operators.

Example:

/msg OperServ OPERNEWS ADD This is the latest opernews

OPER

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.

Example:

/msg OperServ DEL Ketju

JUPE

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 ", showing the nickname of the person who jupitered the server.

If there is already a server of the same name connected to the network, it will be disconnected automatically.

Limited to Services admins.

Example:

/msg OperServ JUPE discworld.esper.net lee dropped the soap

SET

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.

Example:

/msg OperServ SET SUPASS NewPassword

SET

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.

Example:

/msg OperServ SET READONLY ON

SET

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.

Example:

/msg OperServ SET DEBUG ON

SET

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.

Example:

/msg OperServ SET SUPASS NewPassword

UPDATE

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.

Example:

/msg OperServ UPDATE

SHUTDOWN

SHUTDOWN

Causes Services to save all databases and then shut down.

Limited to Services admins.

Example:

/msg OperServ SHUTDOWN

QUIT

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.

Example:

/msg OperServ QUIT

RESTART

RESTART

Causes Services to save all databases and then restart (i.e. exit and immediately re-run the executable).

Limited to Services admins.

Example:

/msg OperServ RESTART

REHASH

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.

Example:

/msg OperServ REHASH

SU

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.

Example:

/msg OperServ SU SuPassword

ADMIN

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.

Example:

/msg OperServ ADMIN ADD Ketju