Modules

In UnrealIRCd most functionality is in modules (150+ of them!). Most channel modes, user modes and all extended bans are in modules.

Advantages:
 * 1) Makes it possible to fully customize what exact functionality you want to load
 * 2) For coders it's easier to see all the source code related to a specific feature
 * 3) Allows bugs to be fixed without needing to restart the IRCd. Just rehash to reload the module(s).

Loading modules
For more information on how to load modules, see the Loadmodule directive.

If you just want to load all available modules (and thus all functionality) contained in UnrealIRCd, then put this in your unrealircd.conf: include "modules.default.conf";

Available modules
UnrealIRCd has over 150 modules. Which module to load to enable/disable a certain feature is mentioned in the appropriate article:
 * Channel modes
 * User modes
 * Extended bans
 * User & Oper commands

Additionally, you may want to take a look at modules.default.conf as well.

Third party modules
It is possible to expand UnrealIRCd's functionality by modules from others. We call these modules "third party modules" because they are made by a 3rd party (not the UnrealIRCd team).

Where to find (more) third party modules
Since UnrealIRCd 5 you can use the Module manager to install 3rd party modules.

Other modules can possibly be found on the Modules (3rd party) forums

How to use 3rd party modules
See FAQ: How to install 3rd party modules?

Dangers of third party modules
Although 3rd party modules are a great way to extend UnrealIRCd's features there is also a risk: any (subtle) coding mistakes can cause UnrealIRCd to crash. In fact, 90% of the crashes reported to our bug tracker are not crashes caused by UnrealIRCd but by 3rd party modules (not our bugs).

Writing 3rd party modules
See Dev:Module