How to install UnrealIRCd 4 Modules

July 18, 2016

In UnrealIRCd 4 you should place the .c file in your src/modules/third/ directory of the UnrealIRCd source directory.

cp somemodule.c /home/irc/unrealircd-4.x/src/modules/third

Then from your UnrealIRCd source directory you just run make and make install:

cd /home/irc/unrealircd-4.x
make
make install
loadmodule "third/modulename";

UnrealIRCd will automatically detect any .c files in the src/modules/third directory and compile them.

You should no longer use make custommodule, use the method described above instead!

The method from above ensures that when you reconfigure or recompile UnrealIRCd the third party modules will be recompiled as well. Also when you upgrade to a new version, UnrealIRCd 4 will automatically copy the 3rd party modules from your previous UnrealIRCd installation (based on your input of the 1st ./Config question)

Loadmodule directive

From UnrealIRCd documentation wiki

With loadmodule you tell UnrealIRCd to load a particular module.

Normally you put include “modules.default.conf”; in your unrealircd.conf and only use loadmodule directly for loading 3rd party modules (if any).

Syntax

loadmodule <file-name-without-suffix>;

UnrealIRCd automatically adds the correct suffix (.DLL or .so) and will also automatically deal with modules/ vs src/modules/ directories.

Example

/* Just load all of UnrealIRCd's functionality (all 150+ modules) */
include "modules.default.conf";
/* If you want to load modules\m_something.dll */
loadmodule "third/m_something";
/* If you want to load modules/whatever.so */
loadmodule "third/whatever";

Note that for both examples UnrealIRCd will take care of any prefixing of the modules directory (modules/) and suffixing (.so or .dll).

We will show an example on how to install TextBan module

How to install TextBan Module

cd unrealircd-4.0.4/src/modules/third
wget https://www.vulnscan.org/UnrealIRCd/modules/TextBan-latest.tar.gz
tar -zxvf TextBan.tar.gz
rm -rf TextBan.tar.gz
cd TextBan-2.2
pwd (to find the full path to your UnrealIRCd directory)
./build
/home/USERNAME/unrealircd-4.0.4
go to /home/USERNAME/unrealircd-4.0.4
make
make install

You now need to add the following command to your UnrealIRCd
config file (usually unrealircd.conf):
loadmodule “third/textban”;

UnrealIRCd 4 Modules

All free modules are now included in UnrealIRCd itself. Note that only the “privdeaf” and “jumpserver” modules are loaded by default. The others you will need to load explicitly. The new modules are:

  • extbans/textban – Channel specific word filter (+b ~T:censor:*badword*) https://www.unrealircd.org/docs/Extended_Bans
  • usermodes/privdeaf – Do not permit PM’s from others (User Mode +D)
  • jumpserver – Redirect users to another server during maintenance https://www.unrealircd.org/docs/User_%2 … JUMPSERVER
  • antirandom – Detect drones with random nicks / ident / etc. https://www.unrealircd.org/docs/Set_blo … antirandom
  • hideserver – Hide servers in /MAP and /LINKS (Note that this does not truly enhance security)
  • m_ircops – Show which ircops are online (/IRCOPS command)
  • m_staff – Show custom file (/STAFF command)
  • nocodes – Makes chanmode +S/+c also strip/block bold and underline