You are here: Home > Modules > Unreal
How to install UnrealIRCd Modules
How to install UnrealIRCd 3.2 Modules
How to install UnrealIRCd 4 Modules
Installing a module
Unreal IRCd has a few modules that add extra functions, or improve on current ones. They only take a minute to install, modules first need to be placed in your Unreal source, and compiled from a source (.c) into a .so before they can be loaded, we will cover this in the steps below:
1. Download the module source file (.c) and place it in src/modules of your unreal install, this will either be unreal/src/modules or Unreal3.2/src/modules if you installed Unreal yourself.
2. Next we need to compile the module, this requires us connecting to the server using SSH, eg. Putty. Connect to your IRCd account using putty, and change directory to your Unreal installation. eg. cd unreal OR cd Unreal3.2
3. Compile the module/s using the following command:
make custommodule MODULEFILE=m_getinfo
The part in italics is the name of the module you're installing, without any file extension.
4. After compiling you will have a modulename.so file in the src/modules folder, this is the module file we can actually load. We load modules by adding a loadmodule line near the beginning of unrealircd.conf.
Using your preferred ftp client, connect to your IRCd account and open unrealircd.conf.
Use the example below to tell your server to load the module:
loadmodule "src/modules/modulename.so";
Getting this part wrong will cause errors, so make sure you include the "'s, spell the module name right and don't forget the .so and ; at end of line. When you have done this save unrealircd.conf.
5. To load the module just do a /rehash from your irc server, hopefully it will rehash, without any errors. You can check to see if it loaded by typing /module which will show you a list of loaded modules.
NOTEDo NOT forget, each module needs to be installed on modules folder located in
How to install UnrealIRCd 3.2 Modules
AntiRandom Module
- wget http://ircd.zemra.org/modules/mod/antirandom.c
- cd ../..
- make custommodule MODULEFILE=antirandom
- add on your unrealircd.confloadmodule �src/modules/antirandom.so�;
- add this code to your unrealircd.conf
set {
antirandom {
threshold 5;
ban-action gline;
ban-time 2m;
ban-reason �Ju lutem ndryshoni Nick/Ident ose Realname � ose provoni http://chat.zemra.org/�;
fullstatus-on-load yes;
show-failedconnects yes;
except-hosts {
};
};
};
HideServer Module
- 1. wget http://ircd.zemra.org/modules/mod/hideserver.c
- 2. cd ../..
- 3. make custommodule MODULEFILE=hideserver
- 4. On your unrealircd.conf, put this line
- loadmodule �src/modules/hideserver.so�;
�������������
- hideserver {
- disable-map yes;
- disable-links yes;
- map-deny-message �/map Permission Denied � You do not have IRCop privileges�;
- links-deny-message �/links Permission Denied � You do not have IRCop privileges�;
- };
NetAdmins Module
1. cd Unreal3.2/src/modules
1. wget http://ircd.zemra.org/modules/mod/netadmins.c
2. cd ../..
3. make custommodule MODULEFILE=netadmins
4. On your unrealircd.conf, put this line
loadmodule �src/modules/netadmins.so�;
Unrealircd.conf
set {
// Choose "no" here if you would like to allow
// netadmins to kill each other. Otherwise "yes".
netadmins-are-gods yes;
};
OperPasswd Module
wget http://ircd.zemra.org/modules/mod/operpasswd.ccd ../..
make custommodule MODULEFILE=operpasswd
On your unrealircd.conf, put this line
loadmodule �src/modules/operpasswd.so�;
/rehash
PrivDeaf Module
1. wget http://ircd.zemra.org/modules/mod/m_privdeaf.c2. cd ../..
3. make custommodule MODULEFILE=m_privdeaf
You now need to add the following line to your unrealircd.conf
loadmodule �src/modules/m_privdeaf.so�;
Then /rehash and the module should be loaded.
Operjoin Module
- wget http://ircd.zemra.org/modules/mod/operjoin.c
- cd ../..
- make custommodule MODULEFILE=operjoin
- make install
- loadmodule �src/modules/operjoin.so�; (add this line to your unrealircd.conf)
/rehash your ircd
IRCops List Module
- wget http://ircd.zemra.org/modules/mod/m_ircops.c
- cd ../..
- make custommodule MODULEFILE=m_ircops
- make install
- loadmodule �src/modules/m_ircops.so�; (add this line to your unrealircd.conf)
/rehash your ircd
Install all modules at once
The first step is to download modules and you can do that by using wget:
(you should be here when you use wget) /home/USER/Unreal3.2.10.5/src/modules
wget http://ircd.zemra.org/modules/mod/antirandom.c
wget http://ircd.zemra.org/modules/mod/hideserver.c
wget http://ircd.zemra.org/modules/mod/netadmins.c
wget http://ircd.zemra.org/modules/mod/operpasswd.c
wget http://ircd.zemra.org/modules/mod/m_privdeaf.c
wget http://ircd.zemra.org/modules/mod/operjoin.c
wget http://ircd.zemra.org/modules/mod/m_ircops.c
Since we have all our modules downloaded, now we need to make the custom modules by typing:
(you should be here when you use make custommodule) /home/USER/Unreal3.2.10.5/
make custommodule MODULEFILE=antirandom
make custommodule MODULEFILE=hideserver
make custommodule MODULEFILE=netadmins
make custommodule MODULEFILE=operpasswd
make custommodule MODULEFILE=m_privdeaf
make custommodule MODULEFILE=operjoin
make custommodule MODULEFILE=m_ircops
After making all modules, you can type make install and that should be it!
How to install UnrealIRCd 4 Modules
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
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).
UnrealIRCd 4 Modules
HideServer 5.0
AntiRandom 1.4
TextBan 2.2
NoCodes 1.2
PrivDeaf 1.2
JumpServer 1.1
m_ircops 3.71
m_staff 3.8
How to install TextBan Module
cd unrealircd-4.0.1/src/modules/thirdwget http://ircd.zemra.org/modules/mod4/TextBan.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.1
go to /home/USERNAME/unrealircd-4.0.1
make
make install
You now need to add the following command to your UnrealIRCd
config file (usually unrealircd.conf):
loadmodule "third/textban";
How to install HideServer Module
cd unrealircd-4.0.4/src/modules/thirdwget https://www.vulnscan.org/UnrealIRCd/modules/hideserver-latest.tar.gz
tar -zxvf hideserver-latest.tar.gz
rm -rf hideserver-latest.tar.gz
cd hideserver-5.0
pwd
./build
/home/yourusername/unrealircd-4.0.4
go to /home/USERNAME/unrealircd-4.0.4
or type:
cd ../../../..
make
make install
You now need to add the following command to your UnrealIRCd
config file (usually unrealircd.conf):
loadmodule "third/hideserver";
and add hideserver configuration as well
hideserver
{
disable-map yes;
disable-links yes;
map-deny-message "*** Command /MAP is disabled for security reasons";
links-deny-message "*** Command /LINKS is disabled for security reasons";
hide
{
services.zemra.org;
stats.zemra.org;
};
};