Frequently Asked Questions (FAQ) concerning Anope ------------------------------------------------ NOTE: An updated version of this FAQ can be found on our wiki: http://wiki.anope.org/index.php/FAQ Table of Contents ----------------- 1) General 1.1) What is Anope? 1.2) Where can I find Anope? 1.3) Does Anope run under Windows? 1.4) Can I send you questions without reading the FAQ, INSTALL or README files? 1.5) I need support for the XYZ protocol. 1.6) Your Services program doesn't do XYZ like DALnet (or other) Services. What's wrong? 1.7) I've got a great new idea for Services. Do you want it? 1.8) 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: 1.9) Can you help me? 1.10) Where is RootServ? 2) Installation / Configuration 2.1) When I run "make", I get an error message like "missing separator", "Unassociated shell command", "Unexpected end of line seen", etc. 2.2) I get an error like "Makefile.inc not found". 2.3) I typed "./services" at the command line, but nothing happened! 2.4) 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: ...". 2.5) 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? 2.6) When I say "/connect services.*", it doesn't work! 2.7) Anope starts up okay, but if I try to register a nickname, it comes back with "Sorry, registration failed." 2.8) Anope reports (via /stats u or /msg OperServ STATS) a different number of users online than I get from doing /lusers. 3) OperServ 3.1) Using the OperServ JUPE command results in server messages like "Server juped.server introduced by non-hub server services.my.net". 3.2) I can't use the ADMIN command to add Services admins, it tells me "Permission denied." 3.3) When I add an AKILL, the users matching it don't get killed. 3.4) 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. 3.5) When I used the OperServ RAW command, Anope and/or my network crashed, or did weird things! Please fix this bug! 3.6) I would like to have the list of the different RAW on OperServ. 3.7) I can't get /OS UMODES and /OS SVSNICK to work! 3.8) What is a Super-Admin? How does it work? Why might it not work? 3.9) How can I enable the OperServ RAW command? 4) Bugs / Crashes 4.1) Anope always dies after about five minutes, saying "FATAL ERROR! Can't back up nick.db". 4.2) Anope crashed with a segmentation fault. 4.3) I've found a bug that's not mentioned here or in the README or BUGS files. What should I do? 4.4) My FreeBSD box complains about 'Shared object "nss_dns.so.1" not found' 4.5) Anope and long (more then 30 character) nicknames. 5) ChanServ 5.1) 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. 5.2) Anope ignored the SET SUCCESSOR setting and deleted a channel when the founder expired. 5.3) How to auto voice all those whom join my #channel? 5.4) Channel options like RESTRICTED or SECUREOPS don't work. What's wrong? 6) BotServ 6.1) How do I add bots to BotServ? 6.2) Why do kick triggers and fantasy commands fail to work with my Bahamut IRCd? 7) Language 7.1) Anope complains in the logfile about being unable to load the default language. 7.2) Anope spricht kein Deutsch!, etc. (Anope doesn't speak my language!) 7.3) I selected a language other than English, but sometimes Anope sends responses in English instead. 8) DevNull 8.1) What is the purpose of DevNull? ------------------------------------------------------------------------------- 1) General 1.1) 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 :) 1.2) Where can I find Anope? The latest version can always be found at the official Anope distribution site: * http://www.anope.org/ New version announcements can also be found at http://www.anope.org/ in the main page. 1.3) Does Anope run under Windows? Yes. For more information on how to obtain the windows version of Anope visit http://wiki.anope.org/index.php/START_HERE!#Windows 1.4) 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. 1.5) 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. 1.6) 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. 1.7) 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 http://www.anope.org/ and add it on our online Forum, in the Feature Requests section. 1.8) 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. 1.9) Can you help me? No, we can't help you unless you tell us what you need help with. 1.10) 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. 2) Installation / Configuration 2.1) 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/make/ (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. 2.2) I get an error like "Makefile.inc not found". You forgot to run the Config script first. See the INSTALL file for compilation instructions. 2.3) 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 IRCd or RemoteServer in the configuration file. Check to make sure that you are actually running one of the supported IRCds, also. A list of supported IRCds can be found in the README file. You can also check the log file (services.log by default) for error messages. Starting services with the -support command line option will prevent it from running in the background will output the messages written to the log file to the console as well. Please note that this will also prevent 3rd party modules from loading and will put Anope into debug mode. 2.4) 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. 2.5) 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. 2.6) When I say "/connect services.*", it doesn't work! You cannot /connect services. When you start Anope, it will attempt to connect to the server you specified in services.conf. Please see the answer above for more information. 2.7) 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 section 3 of the INSTALL file for details. 2.8) 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. 3) OperServ 3.1) 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: H:*::services.whatever.net 3.2) 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. 3.3) When I add an AKILL, the users matching it don't get killed. Use the AkillOnAdd configuration directive. 3.4) 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 . 3.5) 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." This command can be dangerous to use and is disabled by default. By enabling the RAW command, you void any right to get support from us. 3.6) I would like to have the list of the different RAW commands for OperServ. If you have to ask, you should not be messing with RAW :) 3.7) I can't get /OS UMODES and /OS SVSNICK to work! You need to be a SuperAdmin to be able to use these commands. 3.8) What is a Super-Admin? How does it work? Why might it not work? SuperAdmin'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 Roots. It is set using OperServ and is not persistent. It only works if SuperAdmin is not commented in the services configuration file, which is commented out by default. Read /msg OperServ HELP SET SUPERADMIN for further help. 3.9) How can I enable the OperServ RAW command? Enabling the OperServ RAW command is VERY dangerous and should never be done on a production network. The RAW command can easily break your whole network if used incorrectly, and you will receive NO SUPPORT if you enable RAW on your network. Be very sure you really want to enable it and keep in mind that you will NOT BE ABLE to receive ANY SUPPORT once you have loaded it because Anope's stability cannot be guaranteed if RAW is enabled. The RAW command comes bundled as a core module for OperServ. If you would like to load it, you will have to figure it out on your own. If you can't, you probably shouldn't be trying to use it. ;) 4) Bugs / Crashes 4.1) 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. 4.2) 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. 4.3) 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. 4.4) My FreeBSD box complains about 'Shared object "nss_dns.so.1" not found' 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. 4.5) Anope and long (more then 30 character) nicknames. By default, Anope only supports nicknames up to 30 characters (NICKLEN=30). If your IRCd allows for longer nicknames or has been modified to do so Anope will start logging a lot of ("NICK from nonexistent nick") messages. This is because once a user uses a nick that is too long for Anope to handle, Anope loses track of the user for the remainder of the session. It is POSSIBLE but not NOT RECOMMENDED to extend the maximum length of nicknames Anope can track, however this will also break database compatibility. DBs saved with Anope set to allow for example 40 chars cannot be read by a clean Anope installation and vice versa. So changing the maximum nick length is only possible when starting with fresh databases and even then the consequences of this are UNTESTED. In order to change the maximum internal nick length, change the NICKMAX setting in include/config.h, recompile Anope and start without databases. 5) ChanServ 5.1) 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: U:services.whatever.net:*:* 5.2) 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 in section 6 of the README file. 5.3) 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 5.4) 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. 6) BotServ 6.1) 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. 6.2) 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 that 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'. 7) Language 7.1) Anope complains in the logfile about being unable to load the default language. You forgot to run "make install". 7.2) Anope spricht kein Deutsch!, etc. (Anope doesn't speak my language!) See section 5 of the README file. 7.3) 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 only have a translation of some of the message Anope uses. 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. 8) DevNull 8.1) 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.