Anope Modules
-------------

Introduction:

    Anope 1.6 onwards supports external modules. External modules are pieces 
    of code that can be attached to a running Anope process dynamically. These 
    modules can serve several purposes, and perform all kind of operations to 
    enhance your network. 

Installation:

    1. You need to configure Anope to be compiled with module support. To 
       do so you must run ./configure and answer "Yes" when asked for
       Module Support, and selecting a folder where your modules will live
       in (the default path is safe for most people).

       Notes:

       * Modules are not supported on the following platforms: OpenBSD, Windows.
       * You might need to run "make distclean" prior to running ./configure

    2. Compile Anope as usual. The gmake process will now compile module
       support into Anope, and compile the default sample modules, and/or
       any other module located on the "modules" folder.

    3. Install Anope as usual. The install process will place the compiled
       modules in their runtime location, making them available for loading.

    4. Start or restart services to make use of the new Anope executable.

Usage:

    All module manipulation commands are done through OperServ. These are:

       MODLOAD     Load a module
       MODUNLOAD   Un-Load a module
       MODLIST     List loaded modules
       MODINFO     Info about a loaded module

    These commands available to Service Roots only.

    You can also load (and pre-load) Modules automatically by loading them
    on startup. To do so, edit your services.conf file and change the values
    of "ModuleAutoload" and "ModuleDelayedAutoload" to include the modules
    you want to load every time Anope starts.

Example:

    /msg OperServ modload hs_moo
    *** Global -- from OperServ: dengel loaded module hs_moo
    -OperServ- Module hs_moo loaded

    /msg OperServ modinfo hs_moo
    -OperServ- Module: hs_moo Version: 1.1 Author: Anope loaded: Mar 21 10:54:37 2004 CLT
    -OperServ- Providing command: /msg HostServ moo

    /msg HostServ moo
    -HostServ- MOO! - This command was loaded via a module!

    /msg OperServ modunload hs_moo
    *** Global -- from OperServ: dengel unloaded module hs_moo
    -OperServ- Module hs_moo unloaded

    /msg HostServ moo
    -HostServ- Unknown command moo. "/msg HostServ HELP" for help.

    * Note that the name of the module file is "hs_moo.c", yet we load
      and reference the module as "hs_moo" only. By naming convention
      modules have an abreviated service name they attach to (hs_ for
      HostServ, cs_ for ChanServ, etc) followed by a descriptive keyword.

More Modules:

    Anope ships with two sample modules that only ilustrates some of the
    implemented module capabilities. They don't really do much or anything
    useful.

    You can download more useful modules from http://www.anope.org/ or from
    our interim modules development website http://modules.anope.org/. Just
    grab the module file (usualy with a .c extension). Place the module
    file on your compile "modules" folder. The same folder that contain both
    hs_moo.c and catserv.c module files.

    The new modules need to be compiled and installed before you can make
    use of them:

    1. Change directories to your compile "modules" folder.
    2. Run ./configure
    3. Run make
    4. Run make install

    You can now use /msg OperServ MODLOAD to load the new modules.

Support:

    The Anope team is not responsible or liable for any unofficial module
    (i.e. anything other than what was released with the Anope package).

    Use modules at your own risk, and make sure you get them from a
    reputable source. You might get module support by contacting the module
    author, posting on our online forum, or maybe on our #anope channel
    at /server irc.anope.org.

Developers:

    Please take a look at:
    
    * http://geniusdex.dezeserver.nl/anope

