diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-02 19:02:12 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-02 19:02:12 +0000 |
commit | e0583918834a3f8683e430adf3923ea89d2a449a (patch) | |
tree | ff36ada734c3874d3be1a806e3a2b994386b54ed /docs | |
parent | 49491770383e66f1b8074d8b0f80026e3086e9d8 (diff) |
BUILD : 1.7.8 (753) BUGS : N/a NOTES : Merged anope-dev with trunk
git-svn-id: svn://svn.anope.org/anope/trunk@753 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@516 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'docs')
-rw-r--r-- | docs/EVENTS | 153 | ||||
-rw-r--r-- | docs/FAQ | 20 | ||||
-rw-r--r-- | docs/WIN32.txt | 106 |
3 files changed, 170 insertions, 109 deletions
diff --git a/docs/EVENTS b/docs/EVENTS index 8b5185a9b..7d2fb34e7 100644 --- a/docs/EVENTS +++ b/docs/EVENTS @@ -78,7 +78,7 @@ Anope Internal Events A) All functions most be formatted as: - int functioname(char *message); + int functioname(int argc, char **argv); B) In AnopeInit you must declare EvtHook in some fashion; it is into this variable that we will create the event handler. Here is what @@ -112,9 +112,13 @@ Anope Internal Events is very simple; it could be as simple as a start, stop or message. In the case of saving it has a start and stop. - int my_save(char *source) + int my_save(int argc, char **argv) { - if (!stricmp(source, EVENT_START)) { + if (argc < 1) { + return MOD_CONT; + } + + if (!stricmp(argv[0], EVENT_START)) { alog("Saving the databases! has started"); } else { alog("Saving the databases is complete"); @@ -137,158 +141,207 @@ Anope Internal Events equal sign, but with string comparision. See the bundled events module for an example on how to do this. + The arguments are given as av[0] for the first argument, av[1] for the + second argument, and so on. If av[0] and av[1] are given, the event has + two arguments, and argc should be 2. + EVENT_BOT_ASSIGN A BotServ bot has been assigned to a channel. - The argument contains the name of the channel has been assigned to. + av[0] Name of the channel the bot has been assigned to. + av[1] The nickname of the bot that has been assigned to the channel. EVENT_BOT_CHANGE The properties of a BotServ bot have been changed. - The argument contains the nickname of the bot involved. + av[0] The nickname of the bot involved. EVENT_BOT_CREATE A new BotServ bot has been created, and is ready to use. - The argument contains the nickname of the newly created bot. + av[0] The nickname of the newly created bot. EVENT_BOT_DEL A BotServ bot is being deleted from BotServ. This event is being sent just before the actual deletion is performed. - The argument contains the nickname of the bot being deleted. + av[0] The nickname of the bot being deleted. + + EVENT_BOT_FANTASY + A fantasy command of the bot has been triggered. This event should be + used to create your own fantasy commands. + av[0] The fantasy command that has been triggered with leading '!'. + av[1] The nickname of the user that has triggered the fantasy + command. + av[2] The name of the channel the fantasy command has been triggered + on. + av[3] Contains any optional paramenters passed after the fantasy + command. If none are present, this will not exist, and argc will + will be 3. EVENT_BOT_JOIN A BotServ bot has joined a channel and opped itself. - The argument contains the channel name the bot is on. + av[0] The channel name the bot has just joined. + av[1] The nickname of the bot that has joined the channel. EVENT_BOT_UNASSIGN A BotServ bot is being unassigned from a channel. This event is being sent before the actual removing of the bot is done. - The argument contains the channel name the bot is on. + av[0] The channel name the bot has been unassigned from. + av[1] The nickname of the bot that has been unassigned. EVENT_CHAN_DROP A channel has been dropped and deleted. - The argument is the name of the channel that has been dropped. + av[0] The name of the channel that has been dropped. EVENT_CHAN_EXPIRE A channel has been expired and will be deleted. The event will be emitted just before the actual channel deletion happens. - The argument is the name of the channel being deleted. + av[0] The name of the channel that has been expired. EVENT_CHAN_FORBIDDEN A channel has been forbidden (ChanServ FORBID). - The argument is the name of the channel that has been forbidden. + av[0] The name of the channel that has been forbidden. EVENT_CHAN_REGISTERED A new channel has been registered. - The argument is the name of the channel that has been registered. + av[0] The name of the channel that has been registered. EVENT_CHAN_SUSPENDED A channel has been suspended (ChanServ SUSPEND). - The argument is the name of the channel that has been suspended. + av[0] The name of the channel that has been suspended. + + EVENT_CHAN_UNSUSPEND + A channel has been unsuspended (ChanServ UNSUSPEND). + av[0] The name of the channel that has been unsuspended. EVENT_CHANGE_NICK A user has just changed it's nick. - The argument contains the new nickname of the user. + av[0] The new nickname of the user. EVENT_CONNECT This event is emitted when the connection to our uplink hub is being made. - The argument is either EVENT_START or EVENT_STOP, to indicate if it's - emitted before or after the connection has been made. EVENT_STOP is - emitted before our burst is being sent over the link. + av[0] EVENT_START or EVENT_STOP, to indicate if it's emitted before + or after the connection has been made. EVENT_STOP is emitted + before our burst is being sent over the link. EVENT_DB_EXPIRE This event is emitted when the expiry routines for all things that can expire in Anope are being run. - The argument is either EVENT_START or EVENT_STOP, to indicate if it's - being emitted before or after the expiry routines have been run. + av[0] EVENT_START or EVENT_STOP, to indicate if it's being emitted + before or after the expiry routines have been run. EVENT_DB_SAVING This event is emitted when the databases are being saved. - The argument is either EVENT_START or EVENT_STOP, to indicate if it's - emitted before or after the saving routines. + av[0] EVENT_START or EVENT_STOP, to indicate if it's emitted before + or after the saving routines have been run. EVENT_DB_BACKUP This event is emitted when the databases are backed up. - The event will send EVENT_START when the backup commences, and - EVENT_STOP when it finishes. + av[0] EVENT_START when the backup commences, and EVENT_STOP when it + finishes. EVENT_DEFCON_LEVEL The DefCon level has just been changed. This event is emitted before any DefCon-related action is taken. The internal DefConLevel has already been raised at this point. - The argument contains the new level of DefCon being invoked. + av[0] The new level of DefCon being invoked. EVENT_GROUP A user has grouped it's nickname to another user group. - The argument contains the nickname of the user that joined the group. + av[0] The nickname of the user that joined the group. + + EVENT_JOIN_CHANNEL + A user joins a channel. + av[0] EVENT_START or EVENT_STOP. EVENT_START when the user has passed + all access checks and is allowed to join, but has not yet + joined the channel. EVENT_STOP when the user has joined and all + needed modes are set etc. + av[1] The nickname of the user joining the channel. + av[2] The name of the channel the user has joined. EVENT_NEWNICK A new user has been introduced on the network. - The argument contains the nickname of the newly introduced user. + av[0] The nickname of the newly introduced user. EVENT_NICK_DROPPED A user's nick has just been dropped. Note that the nickname information has already been deleted! - The argument contains the nickname of the user that has just been - dropped. + av[0] The nickname of the user that has just been dropped. EVENT_NICK_EXPIRE A user's nick has just expired. Note that, as with EVENT_NICK_DROPPED, the nickname information has already been deleted! - The argument contains the nickname of the user that has just expired. + av[0] The nickname of the user that has just expired. EVENT_NICK_FORBIDDEN A user's nick has just been forbidden. - The argument contains the nickname that has just been forbidden. + av[0] The nickname that has just been forbidden. EVENT_NICK_IDENTIFY A user has just identified for it's nickname with NickServ. - The argument contains the nickname of the user that just identified. + av[0] The nickname of the user that just identified. EVENT_NICK_REGISTERED A new user has just registered it's nickname. This event is being emitted when the registration is completed, but the user modes have not yet been set. - The argument contains the nickname of the newly registered user. + av[0] The nickname of the newly registered user. - EVENT_NICK_SUSPEND + EVENT_NICK_SUSPENDED A user's nick has just been suspended. - The argument contains the nickname that has just been suspended. + av[0] The nickname that has just been suspended. + + EVENT_NICK_UNSUSPEND + A user's nick has just been unsuspended. + av[0] The nickname that has just been unsuspended. + + EVENT_PART_CHANNEL + A user parts a channel. + av[0] EVENT_START or EVENT_STOP. EVENT_START when the user is about + to be removed from the channel internally, EVENT_STOP when + this has been done. + av[1] The nickname of the user parting the channel. + av[2] The name of the channel the user has parted. + + EVENT_RELOAD + This event is emitted after the configuration file has been reloaded. + av[0] Always EVENT_START. EVENT_RESTART This event is emitted before the services are being restarted. - The argument is always EVENT_START. + av[0] Always EVENT_START. EVENT_SERVER_CONNECT A new server has just connected to the network. - The argument contains the name of the new server. + av[0] The name of the new server. EVENT_SERVER_SQUIT A server has sent an SQUIT and is about to be removed from the - network. This event is being sent before the server is actually removed - from the network. - The argument is the name of the server that is being removed. + network. This event is being sent before the server is actually + removed from the network. + av[0] The name of the server that is being removed. EVENT_SHUTDOWN This event is emitted when Anope is being shut down. - The argument is either EVENT_START or EVENT_STOP, to indicate where in - the process of restarting the core is. With EVENT_START, services are - still fully online and operating. With EVENT_STOP, every internal clean - up has been done already, and the SQUIT has been sent; the only thing - done after emitting the event is closing the socket to the uplink hub. + av[0] EVENT_START or EVENT_STOP, to indicate where in the process of + restarting the core is. With EVENT_START, services are still + fully online and operating. With EVENT_STOP, every internal + clean up has been done already, and the SQUIT has been sent; + the only thing done after emitting the event is closing the + socket to the uplink hub. EVENT_SIGNAL This event is emitted when Anope is quitting because of a signal it received. - The argument contains the quit message that will be sent with the SQUIT - for this shutdown. + av[0] The quit message that will be sent with the SQUIT for this + shutdown. EVENT_TOPIC_UPDATED - A channel topic has been succesfully updated. Note that this even is + A channel topic has been succesfully updated. Note that this event is only emitted if the new topic has been fully accepted and set by the Anope core. - The argument is the name of the channel involved. + av[0] The name of the channel involved. + av[1] The new topic set on the channel. EVENT_USER_LOGOFF A user has left the network. This event is emitted before the internal removal is performed, so the user still exists internally. - The argument contains the nickname of the user leaving the network. + av[0] The nickname of the user leaving the network. @@ -95,6 +95,8 @@ List of Questions 34) How to auto voice all those whom join my #channel? +35) How can i enable the OperServ RAW command? + List of answers --------------- @@ -396,3 +398,21 @@ List of answers /cs set #channel secure off /cs set #channel xop off /cs levels #channel set AUTOVOICE -1 + +35) 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. diff --git a/docs/WIN32.txt b/docs/WIN32.txt index 3d09bef97..fd06141c8 100644 --- a/docs/WIN32.txt +++ b/docs/WIN32.txt @@ -39,47 +39,21 @@ Anope for Windows 2) Unpack the Anope tarball with your favorite uncompression program (winzip or winrar). - 3) Open Makefile.inc.win32 in the main directory with a text editor - (notepad or notepad clones). - - A) Change the line "IRCD=" to match the ircd that you want to build, - and place that number after the =. So if you want to build for - Unreal 3.2 (#10), you would change the line to read "IRCD=10". - - B) If you are building for MySQL change USE_MYSQL to equal 1 (i.e. - USE_MYSQL=1). On the next two lines you must enter the path to the - MySQL installation. MYSQL_INC, and MYSQL_LIB. You can define the - path one of two ways, either with \ or /. If you use \ you must - add a secondary \; so c:\mysql would be c:\\mysql. - - C) Do you want to use the MD5 message-digest algorithm to encrypt - passwords? Selecting "yes" protects your passwords from being - stolen if someone gains access to the Services databases, but - makes it impossible to recover forgotten passwords. There is no - way to reverse this operation, so make sure you really want to - enable it. Change DB_ENCRYPTION to be equal to 1 to enable it. - - D) If you are using Visual Studio 6, this next line can be very - important. If you are getting an error during compile about - "unresolved external symbol __ftol2", remove the # in front of - VC6=/QIfist and attempt to compile again. - - E) If you get an error about "Cannot find wsock32.lib" or - "Cannot find msvcrt.lib" when compiling, you need to define the - libpath, in the LIBPATH directive. You can define the path in one - of two ways: either with \ or /. If you use \ you must add a - secondary \; so c:\sdk\lib would be c:\\sdk\\lib. Be sure to - remove the # in front of LFLAGS. - - F) Most import is to set the DATDEST to be the folder name where the - database will be stored. This does not need to be the full path, - just the folder under the main executable in which data will - exist. In our example we will use "data" + 3) Bring up the Visual C++ toolkit command prompt; This will launch a + dos command prompt like windows, which will set the environment + properties need to make Anope. Change directories to where you unpacked + the source code in step 2. + + 4) You now need to configure Anope to your requirements. At the prompt type: + + cscript /nologo install.vbs + + An interactive configuration program should guide you through the install + options, and then detect your Microsoft Visual C++ Library files. If it + fails to detect them, you can manually specify a path. Please refer to + your compilers documentation if you need to specify a manual path. - 4) You are now ready to compile. bring up the Visual C++ toolkit command - prompt; This will launch a dos command prompt like windows, which will - set the environment properties need to make Anope. Change directories - to where you unpacked the source code in step 2. At the prompt type: + 5) You are now ready to compile. At the prompt type: nmake -f Makefile.win32 @@ -88,7 +62,7 @@ Anope for Windows adjust the Makefile.inc.win32 to help resolve the issue. If those changes in Makefile.inc.win32 didn't help, file a bug report. - 5) Anope will install the files where the belong. The only thing you need + 6) Anope will install the files where the belong. The only thing you need to do is rename "data/example.conf" to be "services.conf". You have now completed the building phase of Anope for Windows. You can @@ -97,17 +71,23 @@ Anope for Windows 2) Installation Since Anope for Windows does not use a visual interface, you must do the - configuration with a text editor before proceeding with running anope + configuration with a text editor before proceeding with running Anope itself. Open services.conf, and read through it carefully and adjust the settings - you think you need to adjust. Pay special attention to this settings: + you think you need to adjust. Pay special attention to these settings: - A) RemoteServer: This is the address to your ircd, along with the port + A) IRCDModule: This is the name of an IRCd Module that Anope will use + to communicate with your server. Anope supports 15 IRCds, + so ensure you set the right value here. + B) RemoteServer: This is the address to your ircd, along with the port and password. You should consult your ircd documentation on how to link ircds. - B) ServicesRoot: Remove the # and change the names to your nick so you + C) ServicesRoot: Remove the # and change the names to your nick so you can take control of services once they are online. + D) UserKey1/2/3: Remove the # infront of the three UserKey settings, and + change the parameters to numbers; around 6-7 digits will + do. If you are unsure of the settings, you can go to the dos command prompt and run "anope.exe -nofork -debug" and watch the information as it @@ -123,31 +103,34 @@ Anope for Windows 3) Compiling Modules If you want to build other modules than the ones shipped by default, you - will need to modify the Makefile.inc.win32 file. + will need to modify the Makefile.inc.win32 file, in the src\modules folder. - A) If you get an error about "Cannot find wsock32.lib" or - "Cannot find msvcrt.lib" when compiling, you need to define the - libpath, in the LIBPATH directive. You can define the path in one - of two ways: either with \ or /. If you use \ you must add a - secondary \; so c:\sdk\lib would be c:\\sdk\\lib. Be sure to - remove the # in front of LFLAGS. - - B) Add modules; find the line stating "SRCS=" and add the name of the + A) Add modules; find the line stating "SRCS=" and add the name of the file to the end of the line. So if you have two files: SRCS=file.c file2.c + + If you are compiling a folder of module components, such as the example + "catserv", you will need to add/change the "SUBS=" line. If you were + compiling the "catserv" example, the line would look like this: + + SUBS=catserv - C) When you've done this, use the same command prompt you set up in part - 1, change directories to the src/modules folder, and type: + B) When you've done this, use the same command prompt you set up in part + 1, change directories to the src\modules folder, and type: nmake -f Makefile.win32 + + followed afterwards, by: - D) Copy the *.dll files that get created to the "data/modules/runtime" - folder. + nmake -f Makefile.win32 install + + C) You should now be able to load your modules on IRC via OperServ, or via + the services.conf file. 4) Credits - Anope is base on Epona and IRCServices. See README for more credits and + Anope is based on Epona and IRCServices. See CREDITS for more credits and a complete list of all developers. Anope's Windows-specific code is provided by: @@ -155,3 +138,8 @@ Anope for Windows * Dominick Meglio <codemastr@unrealircd.com> * Trystan Scott Lee <trystan@nomadirc.net> * Chris Hogben <heinz@anope.org> + + Anope's Windows Installer was made using: + + * Inno Setup 5 <http://www.jrsoftware.org> + |