Frequently Asked Questions - Anope 1.8
What is Anope?
Anope is a set of services for IRC networks. See the README file for more information. And in case you were wondering, Anope is Epona spelt backwards :)
Where can I find Anope?
The latest version can always be found at the official Anope distribution site:
New version announcements can also be found at http://www.anope.org/ in the main page.
Does Anope run under Windows?
Yes. For more information on how to obtain the windows version of Anope read Windows
Can I send you questions without reading the FAQ, INSTALL or README files?
No. If you don't read those files, your messages will most probably be ignored. We don't mean to be rude, but if we took the time to write down some documentation, we'd expect you to take some time to read it.
I need support for the XYZ protocol.
Since Anope 1.7.9, support for other IRCD's, and thus protocols, has been made modular. More information on making a support file for your favorite IRCD can be found in the docs/IRCD file.
Your Services program doesn't do XYZ like DALnet (or other) Services. What's wrong?
Nothing is wrong, except your expectations. Anope is a completely different program from that used on DALnet; they are similar in concept only.
I've got a great new idea for Services. Do you want it?
We are always interested in hearing new ideas. HOWEVER, do not expect your proposal to be in the next Anope release for sure. As a rule, we usually don't add anything that can be equivalently done by other means, or that we consider totally useless; see question 1.8 for examples of things we don't plan to add.
Our general intent is for Anope to provide as much functionality as possible--while staying as lean as possible. So features which are arguably beneficial will tend to be added, while features of limited or no benefit or which can be equally provided by something else already in use will tend to be passed over.
If you'd like to give us your idea, you can go to our website at.org and add it on our online Forum, in the Feature Requests section.
Examples of features we have been asked about and why we won't add (or haven't yet added) them, so don't ask us about them:
- An option to make ChanServ stay in some/all registered channels: we see absolutely no necessity for this feature, since BotServ already does this anyway.
- A "current time" field in NickServ and ChanServ INFO displays: Most people have clocks of some sort either on their computer screens or on their walls (or both), and all IRC servers, as well as Services, have a command to return the server's current time. Thus a current-time field in INFO displays would simply take up extra space for no reason.
Can you help me?
No, we can't help you unless you tell us what you need help with.
Where is RootServ?
Anope does not supply RootServ. All functions you would find in RootServ have been integrated into OperServ. If you really want to use RootServ, you can set the OperServAlias in services.conf to be RootServ. This will enable the RootServ nick to be used for OperServ as well. Read the comments near OperServAlias in the configuration file for more information.
Installation / Configuration
When I run "make", I get an error message like "missing separator", "Unassociated shell command", "Unexpected end of line seen", etc.
Your make program isn't compatible with the Makefile for Anope. The Makefile was designed to work with GNU make, and as such may not work on other systems' "make" programs. If you get an error from "make", obtain GNU make from ftp://prep.ai.mit.edu/pub/gnu/ (or wherever you prefer) and use it instead of your system's default "make". Note that GNU make may already be installed on your system; try using the command "gmake" instead of "make".
The make programs bundled with SunOS/Solaris and FreeBSD have been reported not to work; you will need to use GNU make on these systems.
I get an error like "Makefile.inc not found".
You forgot to run the Config script first. See the INSTALL file for compilation instructions.
I typed "./services" at the command line, but nothing happened!
Anope puts itself in the background when it starts, so you get your shell prompt right back. Meanwhile, Anope will continue setting up, then connect to the IRC server specified in services.conf (or on the command line). If it doesn't connect, you probably specified the wrong server type in the configuration file. (Also make sure that you are actually running one of the supported servers. There are a gazillion different variations on the basic IRC protocol out there, and we have neither the time nor the desire to add support for them.)
The recommended server, under which Epona (the original code base used by Anope) was developed, is Bahamut. DreamForge 4.6.7 will also work fine, but it's a bit obsolete nowadays. Derivatives of Bahamut and DreamForge may also work, if they don't change the server<->server protocol too much; contact their authors for more information. Most people, though, are running Anope with UnrealIRCd, UltimateIRCd or Bahamut.
As always, you can check the log file (services.log by default) for error messages. You can also start services with the -nofork command line option to prevent it from running in the background, and it will output the messages written to the log file to the console as well.
Whenever I start Anope, I get a message on my IRC server saying "connection refused" or something similar, and Anope gives an error message from the server saying "Closing Link: ...".
See section 3 of the INSTALL file.
My IRC server is giving me messages like "Connection to services.whatever.net[127.0.0.1] activated" and then "Access denied -- no N line". Why?
This is typically caused by including a port number in the C:line for services, which tells your server to try to autoconnect to it (depending on the class (Y:line) settings). This is not what you want, because Anope will connect to the server itself, but does not listen for servers to connect to it. The solution is to remove the port number from the C:line.
When I say "/connect services.*", it doesn't work!
Of course not. RTFM (Read The Fine Manual), and see the previous answer.
Anope starts up okay, but if I try to register a nickname, it comes back with "Sorry, registration failed."
Make sure you've selected the correct IRC server type in the configure script; see question 2.4 for details.
Anope reports (via /stats u or /msg OperServ STATS) a different number of users online than I get from doing /lusers.
Anope doesn't count its own pseudo-clients (NickServ, ChanServ, etc.) in its user count, while the IRC server does.
Using the OperServ JUPE command results in server messages like "Server juped.server introduced by non-hub server services.my.net".
Services' uplink must have an H: line for Services in the ircd.conf file, which looks something like:
I can't use the ADMIN command to add Services admins, it tells me "Permission denied."
Did you define yourself as the Services root? You need to insert your nickname in the ServicesRoot directive in services.conf. Also, you must be a global IRC Operator and your nickname must be registered and properly indentified with NickServ.
When I add an AKILL, the users matching it don't get killed.
Use the AkillOnAdd configuration directive.
Trying to use OperServ gives me "Access denied", but my nick is in the ServicesRoot directive and is registered, and I've identified for my nick.
You need to be a global oper (i.e. user mode +o) to access OperServ. This can be configured via the OSOpersOnly directive in services.conf .
When I used the OperServ RAW command, Anope and/or my network crashed, or did weird things! Please fix this bug!
"That's not a bug, it's a feature."
Have you ever typed /msg OperServ HELP RAW? It's clearly stated there that this command is dangerous and that its use may result in very bad things.
And that's why this command has been disabled by default. If you enabled and used it, YOU'RE ON YOUR OWN. All help requests will be ignored, even if the problem happens not immediately.
I would like to have the list of the different RAW on OperServ.
If you have to ask, you should not be messing with RAW :)
I can't get /OS UMODES and /OS SVSNICK to work!
Make sure you the USE_OSSVS is defined on config.h. Since these are very controversial commands, they are turned off by default. Then, make clean ; make ; make install . Also, you need to be a SuperAdmin to be able to use these commands.
What is a Super-Admin? How does it work? Why might it not work?
Super-Admin's have extra privileges, including being founder on all channels. It must be activated on a per user basis and is only available to Services Admins and Services Roots. It is set using OperServ and is not persistent. It only works if SuperAdmin is not commented in the services configuration file. This is commented by default. Read /msg OperServ HELP SET SUPERADMIN for further help.
How can i enable the OperServ RAW command?
Enabling the OperServ RAW command is VERY dangerous and should never be done on a real network without thinking about it very well first. The RAW command can easily break your whole network if used incorrectly, and thus you will receive NO SUPPORT if you enable RAW on your network.
Before you enable RAW, be very sure you really want to enable it, and keep in mind that you will NOT BE ABLE to receive ANY SUPPORT anymore, because Anope's stability cannot be guaranteed if RAW is enabled.
The RAW command comes bundled as a core module for operserv. To load it, add the os_raw module to the list of OperServ core modules. But be sure to keep in mind that when you enable the RAW command, you CANNOT GET ANY SUPPORT for Anope anymore.
Is it possible to add Services Root Admins without restarting Anope?
No. Since Anope reads root admins from the configuration file it is necessary to restart it when root admins are changed. A rehash is not enough!
Bugs / Crashes
Anope always dies after about five minutes, saying "FATAL ERROR! Can't back up nick.db".
Make sure that the user Anope runs as has write access to the data directory, and that the data directory actually exists (the latter shouldn't be a problem if you ran the Config script). This means Anope needs write and execute permission on the data directory itself and execute permission on every parent directory of the data directory.
Anope crashed with a segmentation fault.
See if you can reproduce this by doing a certain sequence of things. If so, please report it to us (see part 6 of README file). If not, you're probably out of luck; if you like, you can report it to us anyway, but chances are it won't get fixed if we don't have instructions on reproducing it. If you do have such a problem, you may find the crontab utility useful for dealing with it.
Also, see the DumpCore directive in the configuration file. It allows Anope to dump its core whenever it's segfaulting, usually calling it core and placing it into Anope's main directory. Open up gdb by issuing the following command at your shell:
- gdb services core
(of course replacing 'core' with the name of the core if different) and type 'bt' at the gdb prompt. After that, send us the output you got and keep the core file in a safe place, in case we need it to dig deeper into the problem.
I've found a bug that's not mentioned here or in the README or BUGS files. What should I do?
See section 6 of the README file.
We haven't figured out the exact cause yet, but as a quickfix you can delete the /etc/nsswitch.conf file. Please keep in mind that removing a configuration file can be dangerous, so only do this if you know what you are doing.
Anope's channel mode setting doesn't work. I can't set modes with OperServ, and every time ChanServ tries to set a mode, my server reverses the change.
Make sure EVERY server on your network has a U: line for Services in ircd.conf, for example:
Anope ignored the SET SUCCESSOR setting and deleted a channel when the founder expired.
Normally, this is because the successor had too many channels registered; in this case, you will see an entry in the log file like the following:
- [date] Successor (SuccessorNick) of channel #somechannel owns too many channels, deleting channel #somechannel
If you don't get a message like this or you can verify that the successor wasn't running into the channel limit, please report it using the bug-reporting procedure below (see section 6 of the README file).
How to auto voice all those whom join my #channel?
Execute the following commands (/cs is an alias for /msg ChanServ):
- /cs set #channel secure off
- /cs set #channel xop off
- /cs levels #channel set AUTOVOICE -1
Channel options like RESTRICTED or SECUREOPS don't work. What's wrong?
Make sure that you didn't put any of your normal IRCd's as a ULined server in Anope. Some access checks for clients from ULined servers are skipped to avoid fights between the ULined servers. This is usually only useful when you have a statistics server connected to your network.
How do I add bots to BotServ?
Read /msg BotServ HELP and /msg BotServ HELP BOT. Note that you need to be opered up and identified as a Services Administrator before you can use the BOT command.
Why do kick triggers and fantasy commands fail to work with my Bahamut IRCd?
Bahamut allows you to setup a server as 'serviceshub'. This will filter certain data services usually don't need to process. This option also filters channel messages, because DALnet's services have no use for them. Anope parses the channel messages for kick triggers and fantasy commands. To make sure these work the server type of the hub they're linked to should be simply 'hub' and not 'serviceshub'.
Anope complains in the logfile about being unable to load the default language.
You forgot to run "make install".
Anope spricht kein Deutsch!, etc. (Anope doesn't speak my language!)
See section 5 of the README file.
I selected a language other than English, but sometimes Anope sends responses in English instead.
Some language files are not complete--in other words, they don't have a translation of every message Anope uses, but only some of them. In this case, the missing messages will be displayed in English. You can either wait for the primary translator to provide us with a translation, or do the translation yourself and send us the messages translated into your language.
What is the purpose of DevNull?
DevNull functions as a message sink. Any message sent to it will be ignored. It will not be logged, there will be no response. It will be lost forever. Whether it's useful or not is up to you; we just provide you with the option.