summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorrob 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
committerrob 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
commite0583918834a3f8683e430adf3923ea89d2a449a (patch)
treeff36ada734c3874d3be1a806e3a2b994386b54ed /docs
parent49491770383e66f1b8074d8b0f80026e3086e9d8 (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/EVENTS153
-rw-r--r--docs/FAQ20
-rw-r--r--docs/WIN32.txt106
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.
diff --git a/docs/FAQ b/docs/FAQ
index 7addb9910..8143987d2 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -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>
+