Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Atheme IRC Services

This branch is 1013 commits behind atheme:master

Failed to load latest commit information.
autoconf [svn] - needed due to changes
contrib contrib/anope_convert: handle possibility where ak->user may be an em…
dist nickserv/info_lastquit: New module to show the last quit message in I…
doc doc/WINDOWS: NLS is working on Windows now.
email/default email/setpass: Change setemail text to setpass text.
help Fix typo in the "clear flags" help.
include Add a hook "user_delete_info" with the quit message.
libathemecore Changing -r to -f (standard for most MTAs)
libmowgli-2 @ 6596475 Update libmowgli-2 snapshot for mowgli_get_args() removal.
m4 Incorporate OS X fixes by 'GRMrGecko'.
modules backend/corestorage: check if soper passwords are empty. if so, don't…
po Sync with transifex, adding initial danish translation.
scripts makerelease: fix handling of modules/contrib
src buildsys: properly create $(SHAREDIR)/email as a directory before usi…
tools Fix indentation.
.gitignore Add dbverify to .gitignore
.gitmodules Update .gitmodules.
ABOUT-NLS [svn] - add some documentation on gettext
COPYING Extend copyright years to 2011.
GIT-Access Update GIT-Access to point to GitHub.
INSTALL Update recommended IRCds
Makefile buildsys: move mkhooktypes to include build phase, as well as serno.h… Markdownify NEWS README: more markdownify
TODO Update TODO. We are not doing SQL, and we cannot nicely play with ser… build: respect evaluation order in .pc file autogen: Remove the cd to $LAST_DIR as well as it's wrong now. buildsys: more parallelism fixes buildsys: synthesize special rules for modules, since they have to be…
configure configure: remove dependency on $target (which unbreaks windows) configure: remove dependency on $target (which unbreaks windows) buildsys: more integration of JANSSON library mingw-build: --disable-nls no longer needed

atheme-services -- a set of services for IRC networks

This program is free but copyrighted software; see the COPYING file for details.

Information about atheme-services may be found at


atheme-services contains code from Shrike, Sentinel and ircd-ratbox. Some of the initial design was influenced by Shrike too.

Information about Shrike can be found at

Information about Sentinel can be found at

Information about ircd-ratbox can be found at

For further information about our relationship with those projects, see the Atheme FAQ:

Presentation (also, what atheme is not)

atheme-services is a set of Services for IRC networks that allows users to manage their channels in a secure and efficient way and allows operators to manage various things about their networks. Unlike it's predecessor, Shrike, services has a completely reworked form of channel management that feels somewhat like eggdrop and is somewhat more useful.

Services currently works with many irc daemons. More details are available in the config file.

Internally, atheme-services shares more similarities with ircd than it does with IRCServices. Anope/Epona, Cygnus, OperStats, Hybserv, Theia, etc are all based on IRCServices and as such have very old legacy code that none of the authors, except Church truly understand. Atheme was written completely from scratch with the more complex concepts taken from various modern ircd packages, including ircu, ircd-ratbox, hybrid and bahamut.

atheme-services is not a drop-in replacement for Anope or Andy Church's IRC Services. It is designed with an entirely different set of goals and as such should not be migrated to with the expectation that it will behave exactly like what was previously implemented. Atheme is designed to act as a directory server, with alternative ways of getting to the data implemented as well as the IRC presence.


See the INSTALL file.

Command line options

Normally, services can be run simply by invoking the "atheme-services" executable. Services will then use the defaults specified in the configuraiton file and connect to the specified uplink server. Alternatively, any of the following command-line options can be specified to change the default behavior:

-c </path/to/file> - specify the configuration file
-d                 - start in debugging mode
-h                 - print the help message and exit
-r                 - start atheme in read-only mode
-l </path/to/file> - specify the main log file
-n                 - do not fork into the background
-p </path/to/file> - specify the PID file
-v                 - print the version information and exit

Services also handles the following signals:

  • HUP - force a REHASH
  • INT - force a RESTART
  • TERM - force a SHUTDOWN

Upon starting, atheme-services will parse its command-line arguments, open its log file, parse its configuration file, load its database, connect to the uplink, and (assuming -n is not specified) detach into the background. If services encounters an error while parsing the configuration or database files it will terminate immediately. Otherwise, it will run until killed or otherwise stopped.

Getting Support

If you are stuck, or services are doing something really weird, or you have some sort of brilliant idea, we have a channel on IRC! (Surprising, no?) To access this channel, connect to, and join #atheme.

It is important to note that operating Atheme in obviously insane configurations automatically loses your support privileges.

Reporting Bugs

If you find a bug in services, you must report it via the bugtracker; our developers have a tendency to forget things. Your bug is not actually a bug until it's reported.

Report bugs at

Something went wrong with that request. Please try again.