Skip to content
This repository

Atheme IRC Services

Octocat-spinner-32 autoconf [svn] - needed due to changes March 05, 2007
Octocat-spinner-32 contrib contrib/ fix $PATH check February 23, 2014
Octocat-spinner-32 dist exttarget/server: add to documentation January 27, 2014
Octocat-spinner-32 doc doc/technical: fix typos February 11, 2014
Octocat-spinner-32 email email/setpass: Change setemail text to setpass text. September 19, 2012
Octocat-spinner-32 help help/nickserv/acc: Only list ACC 2 if it is possible (ACCESS is loaded). March 05, 2014
Octocat-spinner-32 include mowgli.json exists, we have even more reason to not look for jansson February 15, 2014
Octocat-spinner-32 libathemecore protocol/ircnet,ngircd: Manually send wallops() to all IRC operators. April 15, 2014
Octocat-spinner-32 libmowgli-2 @ 7790ffd Update libmowgli-2 snapshot for timers deadline fix. July 14, 2013
Octocat-spinner-32 m4 Remove gender-specific pronouns December 01, 2013
Octocat-spinner-32 modules Add licensing information to everyone's favourite supermegauseful API… April 15, 2014
Octocat-spinner-32 po Update ru.po November 15, 2013
Octocat-spinner-32 scripts makerelease: fix handling of modules/contrib April 19, 2012
Octocat-spinner-32 src ecdsasign: do not print key info when signing January 16, 2014
Octocat-spinner-32 tools Fix indentation. October 24, 2010
Octocat-spinner-32 .gitignore Add createburst to .gitignore October 14, 2013
Octocat-spinner-32 .gitmodules Update .gitmodules. May 30, 2012
Octocat-spinner-32 .mailmap mailmap: Niichan was not credited. Fixed. August 10, 2013
Octocat-spinner-32 ABOUT-NLS [svn] - add some documentation on gettext March 13, 2007
Octocat-spinner-32 BSDmakefile Add a stub BSDmakefile that redirects to gmake. February 21, 2013
Octocat-spinner-32 COPYING Update copyright year to 2014 January 25, 2014
Octocat-spinner-32 GIT-Access Clarify GIT-Access January 29, 2014
Octocat-spinner-32 INSTALL Update recommended IRCds August 04, 2012
Octocat-spinner-32 Makefile buildsys: move mkhooktypes to include build phase, as well as serno.h… October 14, 2012
Octocat-spinner-32 Revert "gameserv/dice: Remove 'times' parameter from CALC and ROLL (c… February 08, 2014
Octocat-spinner-32 Update URL to Homepage February 25, 2014
Octocat-spinner-32 TODO Update TODO. We are not doing SQL, and we cannot nicely play with ser… May 31, 2011
Octocat-spinner-32 build: respect evaluation order in .pc file June 06, 2012
Octocat-spinner-32 autogen: Remove the cd to $LAST_DIR as well as it's wrong now. June 23, 2011
Octocat-spinner-32 build: Fix dependency tracking. March 23, 2013
Octocat-spinner-32 build: Fix dependency tracking. March 23, 2013
Octocat-spinner-32 configure HELLO YES HOW DO I COMMIT I AM NOT GOOD WITH COMPUTE BOX February 15, 2014
Octocat-spinner-32 HELLO YES HOW DO I COMMIT I AM NOT GOOD WITH COMPUTE BOX February 15, 2014
Octocat-spinner-32 buildsys: check for libqrencode January 15, 2014
Octocat-spinner-32 mingw-build: --disable-nls no longer needed February 25, 2012

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.