1-1. Introduction
1-2. Overview of IRC Services clients
1-3. IRC Services home page and download URL
1-4. IRC Services discussion forums
1-5. Credits and acknowledgements
IRC Services (also called just "Services" for short) is a system of services to be used with Internet Relay Chat networks. Services provides for definitive nickname and channel ownership, as well as the ability to send messages ("memos") to offline users, and gives IRC operators considerably more control over the network.
In particular, Services provides the following features to an IRC network:
Furthermore, each of these sets of features can be configured or disabled to match individual networks' policies.
Each of the major feature groups mentioned in section 1-1 above is controlled through a Services client, a nickname associated with that particular set of features. (These are often called "pseudoclients", since they are not true clients, like IRC programs used by humans, but simply conveniences to simplify access to Services' features.) These clients, as well as others which handle smaller areas of network control, are discussed below; a more detailed discussion of each feature is presented in section 3, while complete descriptions of the commands used to control each client can be found in section 4.
NickServ handles registration and maintenance of nicknames. Its primary functions include:
Services has the ability to send messages to users in multiple languages; a user who has registered their nickname can select from any of the supported languages (currently English, Dutch, French, German, Hungarian, Spanish, and Turkish, with partial support for Italian, Japanese, and Portugese). A default language can also be configured for users who have not registered their nicknames or have not selected a specific language.
Furthermore, NickServ has the ability to verify E-mail addresses associated with nicknames, by sending an "authentication code" to the E-mail address and not allowing the owner any privileges associated with the nickname until the owner sends that authentication code back to NickServ. This feature can help maintain accountability of users for their actions on IRC by requiring a valid E-mail address at which the user of a nickname can be contacted if problems arise.
ChanServ is to channels what NickServ is to nicknames; it handles registration and maintenance of channels on the IRC network. Its functions in large part mirror those of NickServ, and include:
One major difference between nicknames and channels is the access list. While nicknames may have an "access list" which lists addresses which NickServ will recognize as "allowed to use the nickname"—a feature that has little value if passwords are used as the primary means of verification—channel access lists play a much greater role, in that they control which users (nicknames) have what degree of access to (privileges in) the channel. The founder of a channel will always have full access to the channel, but the founder can, via the access list, designate other users who will receive a certain subset of channel privileges. For example, the founder might give privileges to some users to automatically receive channel operator (+o) status when they enter the channel; those users might then, in turn, designate other users to automatically receive voice (+v) status if the channel is moderated. Certain levels of access also allow users to use privileged ChanServ features, such as management of the "autokick list", explained below, or commands which remove channel bans on a user or invite the user into a channel.
Conversely, the autokick list (often referred to as the "AKICK list", from the name of the command—AKICK—which controls it) specifies users which are not to be allowed access to the channel at all. If a user joins a channel whose autokick list they are listed on, ChanServ will kick them out of the channel and set a channel ban which prevents them from entering again. Since a malicious user could easily enter using an unregistered nickname, channel founders (or other privileged users) can enter username/hostname masks as well as nicknames in the autokick list.
As channels are complex beasts, ChanServ features many options which control how the channel is managed; for example, ChanServ can be set to disallow any changes to the channel topic (if a user changes the topic, ChanServ will cancel the change by restoring the previous topic), or to prevent any users not explicitly entered in the access list from using the channel. ChanServ can also enforce a certain set of modes on a channel; for example, a channel which wants to stay hidden from casual users could use ChanServ to ensure that the +s (secret) mode is always set on the channel.
If the founder of a channel loses his nickname, whether by explicitly dropping it or by letting it expire, the channel will be dropped as well. If this should happen by accident, it can be difficult to restore all of the channel settings. To help avoid this problem, ChanServ allows channel founders to designate a successor for the channel. If the founder's nickname should ever be dropped or expire, rather than dropping the channel, ChanServ will give the channel to the successor, making them the new founder of the channel.
MemoServ handles storage and notification of memos, short messages between IRC users. Memos can be thought of as an intermediate stage between realtime chat and E-mail; they are sent and read in the same way as ordinary chatting, but can be sent even if the recipient is not online at the time, and the recipient can read the memos at his or her leisure. Memos are particularly useful for short messages for which it would not be worth the time to start up an E-mail client and type out a complete message, or for cases where the nickname of the recipient is known but the recipient's E-mail address is not (or the recipient does not have an E-mail address at all).
MemoServ's four main functions are sending memos, listing memos which have been received, reading memos, and deleting memos after they have been read. Users can also set memo options, which include whether to notify them of new memos when they log on and whether they should be able to receive memos at all.
In addition to memos between users, memos can also be sent to channels; such memos are only readable by users with sufficient privileges on the channel. This type of memo can be used, for example, to inform channel operators about a problem user, or as a central point for users with questions about the channel to send messages to.
OperServ provides access to the "network control" functionality of Services. Available only to IRC operators, OperServ allows:
Many of these functions can, if misused, have disastrous effects for the entire network; thus, OperServ implements a privilege system to limit which IRC operators can use which functions. Four different privilege levels are defined: normal IRC operator, Services operator, Services administrator, and Services super-user (also known as "Services root", from the Unix tradition of using the username "root" for the system super-user). Normal IRC operators can use very few of the functions above, while the Services super-user has absolute control over Services and the IRC network.
Of particular note are the autokill list and S-line features, which are to the network as autokick lists are to channels; users in these lists will be prohibited from connecting to any server on the network, and will be disconnected immediately if they do connect. The difference between the two is what they prohibit; the autokill list prohibits certain combinations of username and hostname, much like autokick lists do, while S-lines, named after the commands used by a certain IRC server to implement them, prohibit nicknames, "real names", or IP addresses (IP address checking is only available with a few IRC servers).
OperServ also includes a separate client, by default called Global, which is used to send global (network-wide) notices and news messages to users. Many networks rename this client to the same name as their network; the name of the client (as well as all other Services clients) can be changed by editing the configuration file, as described in section 2-4.
StatServ is an additional client which monitors and keeps statistical information regarding network usage. It can be useful to check, for example, which servers are getting the most use, or whether certain servers have a tendency to split from the network frequently.
In addition to the clients above, Services also has a built-in HTTP (web) server, which allows access to Services information (such as registered nickname and channel information and network statistics) without having to connect to the IRC network. See section 3-6 for more information about the HTTP server.
The official IRC Services home page is located at http://www.ircservices.esper.net/. This page contains up-to-date information on Services (including much of the information in this section), as well as links to download Services and a copy of this manual.
The primary download site is located at http://www.ircservices.esper.net/download/ (located in Japan). Mirrors of the download site are available at:
There is a public mailing list available for discussion of Services. Anyone may subscribe to the mailing list and participate in the discussion, but you must subscribe before you will be allowed to send mail to the list. You can subscribe to the list by visiting http://lists.ircservices.esper.net/mailman/listinfo/ircservices. You will be sent a confirmation E-mail message; reply to that message and you will be subscribed to the list. If you later want to unsubscribe, visit the same page and select "Edit Options" after entering your E-mail address; you can also temporarily disable mail delivery and set other delivery options from that page.
Once you have subscribed, the address for posting to the list is ircservices@ircservices.esper.net. Archives of past messages to the list are available at http://lists.ircservices.esper.net/pipermail/ircservices/; please check the archives before asking a question to make sure your question has not been answered already.
When posting to the mailing lists, please observe standard E-mail etiquette (in particular, be polite to others, don't flame), and please read the documentation (this manual, and especially the FAQ) before asking for help! Neither the author of Services nor long-time members of the list have any tolerance for questions that could be easily answered by simply reading the documentation. Also, do not send HTML messages to the list; many mailing list members, including the author of Services, cannot read them.
Users who intend to modify or extend Services may also wish to join the ircservices-coding@ircservices.esper.net mailing list; information on this mailing list can be found at http://lists.ircservices.esper.net/mailman/listinfo/ircservices-coding. Please note that discussions on this list are frequently very technical in nature, and questions about setting up or using Services will not be answered there.
Services is primarily the work of Andrew Church, and has been under development since early 1996. However, many other people have contributed to the project as well. Some of the more noteworthy contributors include:
The Services home page was designed by Andrew Kempe. Mirrors of the download site are provided by Ian Justman, Michael Raff, Michael Haardt, Andre Arruda, Sotiris Tsimbonis, Marcel Stutz, and dik@zirc.org.
Table of Contents | Previous section: What does "RTFM" mean? | Top | Next section: About IRC Services