AngryWolf's Modules
Updated March 12, 2006

Getting these modules:

You must send me an email for the module. Please include the names of all the modules in one email. I will ignore requests that are in multiple emails.

Notations used in the lists:

[version]Indicates that what modules require at least what versions of UnrealIRCd.
[permanent]The module cannot be unloaded from the server once it has been loaded, and keeps being permanent while the IRCd runs. In other words a full restart is required to remove the module from the memory.
[network-wide]If you run two or more UnrealIRCd on your IRC Network, the module is required to be installed on all servers (except Services, of course), otherwise it won't work properly.
[obsolete] Module has already been implemented into Unreal, or are in the CVS version
[broken] The module currently won't compile with the current version of Unreal. If you can fix it, please feel free to email me a fix.

Bugs:

If you happen to find a bug, you need to fix it yourself.

If you have found a bug in a module, and fixed it - PLEASE let me know!

Installation:

If you are having problems with installation, you have some serious mental problems.


Commands

m_banlist (v3.1) This module provides command /banlist that allows you to search for bans on a specified condition. If one or more bans found, the matched bans and the number of matches are displayed. You can give certain options like in /who to filter out your search list.
[3.2-beta18] [broken]
m_chgswhois (v1.3) Provides two commands: /chgswhois and /setswhois to change (or delete) someone's or your SWHOIS information. Notifications about /chgswhois usages are sent to snomask +e and they are also logged with the chg-commands log flag.
[3.2-RC1] [network-wide]
m_clones (v1.8) Command /clones: lists all clones (users having the same IP address) matching the given options.
[3.2-beta18] [network-wide]
m_elmer (v1.6) Command /elmer: makes someone talk like Elmer J. Fudd, that is, letters 'l' and 'r' become 'w', for example, "Shhhhhh! Be vewy, vewy quiet... I'm hunting wabbits, heh-heh-heh." (More info here.) See the header of the module file to understand how the command works.
[3.2-beta18] [network-wide]
m_getinfo (v3.5) This module provides command /getinfo to retrieve a bunch of information about either a server, client or channel. (Reply messages are sent with numeric 339.)
[3.2-beta18] [network-wide]
m_ircops (v3.2) Command /ircops: displays you a list of all IRC Operators available on IRC except who are hiding (+H) if you aren't an IRC operator. Originally an m_ircops module already existed, however the author, whose name I don't know, deleted his module for some reasons, but people still needed, so I created it.
[3.2-beta18]
m_iscmd (v2.3) A little command called /iscmd. It tells you which of the given commands are supported by the server. It works for alias commands too. The output is designed for client-side scripting.
[3.2-beta17]
m_rmban (v3.1) Command /rmban, taken from DarkFire IRCd. The reason I wrote this module is, I found it very useful and I wanted to see such a command in UnrealIRCd. With this command normal users being channel operators and IRC operators having can_override operflag can remove certain channel bans very easily.
[3.2-beta18]
m_rmtkl (v3.3) Command /rmtkl: removes all TKLs (bans) matching the given conditions and having any types you specify (available ones are K:Line, G:Line, Z:Line, Global Z:Line and Shun). The removal is done locally or globally, depending on the ban is global or not. With this command you can easily get rid of a group of no longer necessary bans.
[3.2-beta18] [broken]
m_sendraw (v3.1) Command /sendraw: sends a completely raw message to either a server, a client or (the members of) a channel from the server you are on. If you don't know what raw messages are or you have no clue how the IRC protocol works, this module is definitely not for you. The command is considered to be very abusive and dangerous, it's strongly recommended to be used only by advanced users. Use it at your own risk!
[3.2-beta18]
m_servlist (v1.3) Command /servlist: gives the list of services currently present on the IRC network.
Usage:
    /servlist [<nickmask>]
Examples:
    /servlist --> gives you the list of all services
    /servlist *serv --> only those whose names end in "serv"
    /servlist nickserv --> show the Nick Service only (if present)
[3.2-beta18]
m_staff (v2.5) Command /staff: designed to list all the staff members of your network, as well as any additional information you'd like people to see. Whenever someone types /staff, the contents of file network.staff is shown to the person, if it exists. You can reload the file by typing either (/rehash on UNIX based systems,) /rehash -staff or /rehash -all. The command also works remotely, if you want to use so, type /staff <servermask>.
[3.2-RC1] [permanent] [network-wide]
m_uline (v1.13) Command /uline: gives someone an U:Line. This module is required to be loaded on all servers to avoid desynch problems. Only NetAdmins may use /uline, or if you set a password for it, only those of them who knows the password. Notifications are sent to snomask +U. It's strongly recommended to be used by advanced users only! (See more information in the source file.)
[3.2-beta18] [permanent] [network-wide]
m_userip (v1.2) Command /userip: works almost the same as /userhost, but shows IP addresses instead of hostnames.
Note: the next version of UnrealIRCd will very likely include such a /userip command, therefore the module makes sense for Unreal3.2.1.
[3.2.1] [obsolete]

User/channel modes and extended ban types

identonly (v2.1) Channel mode +X: only those users can join whose usernames have been returned by identd. (Clients without an identd response are not allowed to join the channel.) This might be useful to prevent clone/flood attacks.
[3.2-beta19] [permanent] [network-wide]
jointhrottle (v2.4) Channel mode +j: sets a join flood protection on users. Syntax: /mode #chan +j <joins>:<seconds>, meaning that users are allowed to join #chan <joins> times in <seconds> seconds. If users exceed the limit, their join attempt will be throttled. Comes with OperOverride support.
[3.2-beta19] [permanent] [network-wide] [obsolete]
noctcp (v1.3) This module gives you the +D channel mode that disables CTCP ACTION's (/me's) on channels, the +m user mode that does the same for users, and the +M user mode to deny DCC's from sending to someone having the mode. The purpose of all these modes is to extend the builtin features of UnrealIRCd to let you be able to completely disable CTCP messages on users and channels.
[3.2-RC2] [permanent] [network-wide]
regexban (v2.1) Adds a new extended channel ban type (~R) that allow banning users based on regular expressions. Syntax: +b ~R:<expression>. Such an expression is matched against a nick!user@host (as normally), where host can be either a realhost, virtual host or IP. Example: +b ~R:. does the same as +b *!*@*.
[3.2-RC1] [network-wide]

Server notice masks

commandsno (v1.14) Snomask +C: lets you see when certain commands are used by clients. All commands you want to get notifications of are configurable in set::notify-commands.
[3.2-RC2] [permanent]
operpasswd (v3.1) Snomask +O: lets you see login names and passwords used in failed OPER attempts. It also has a feature that kills users after a specified number of failed oper-ups.
[3.2-RC1] [permanent]

Misc

activeusers (v3.2) Dumps a channel member list into a file including member name, connection time, idle time and channel prefixes if present. Comes with XML support. Optionally, the permission of each given file can be set to a specified mode on *NIX systems. Requested by Serevinus.
Note: You can see an example screenshot of how this module should be used here.
[3.2-beta18]
adwords (v6.9) This is an enhanced version of UnrealIRCd's built-in badword system specialized to advanced badword filtering and anti-spam purposes. It does the filtering in private, channel, quit and (if you have Unreal3.2-RC1) part messages too. Features this module offer: killing and/or banning a user whose message matches an 'adword', blocking the message, sending a notification message for opers, etc. Also supports backreferences.
Note: Only for spam/virus filtering purposes, as of Unreal3.2-RC1, you should consider using the built-in spamfilter system instead of this module.
[3.2-beta19]
chansno (v1.16) Allows you to assing different channels for different type of notification messages. It works like the snomask system, but instead of receiving notifications in private, you will get the messages in channels.
[3.2-beta19] [broken]
cmdflood (v1.8) Allows you to protect specific IRC commands from begin flooded by users (except IRC operators). You can set a restriction on any commands you want so they are allowed to use maximally a given number of times in a period. Basically it's similar to the away-flood and nick-flood features.
[3.2-RC1]
hideserver (v4.8) Hides specific servers from the output of /map and /links or restricts the usage of both commands to IRCops only.
[3.2-beta19]
hostnameonly (v4.1) This module denies users connecting to the server whose IP address couldn't be resolved and sends a notification message to IRCOps (who have snomask eyes (+e)) about the connection attempt. You can enable or disable this feature by configuration.
[3.2-beta18]
langhelper (v1.4) This module provides channel mode +H, the /language command and some config options to help people from different nationalities to make their messages appear more readable on the targets' screen by converting non-ASCII language-specific characters to the ones you specify in the configuration. Since not all clients support codepages (for example, unlike X-Chat), this might be helpful. Because some languages has letters consisting of two or more characters, substrings can be converted too, however that doesn't mean the module is designed to be a kind of language translator system or something similar to that. The channel mode has a paramater with which you can set different languages on different channels.
[3.2-RC2] [permanent] [network-wide]
netadmins (v1.8) Protects all NetAdmins from being killed and banned by non-NetAdmins, or if you want, by any IRC operators (except U:Lines).See the header of the module file for information about configuration.
[3.2-beta19] [network-wide]
operjoin (v5.1) This is a module that enhances the /join, /cycle and /sajoin commands to provide extra abilities to IRCops having the can_override operflag. With it, IRC operators are allowed to to join +biklRz channels without the necessity of using /invite (at the same time eyes users [snomask +e] are notified about the OperOverrides), additionally, the /sajoin commands supports multiple channels and also sends OperOverride notices.
[3.2-beta19] [network-wide]
opers (v5.4) This module provides an easy and convenient interface for managing configuration of IRC operators by allowing to add, remove and modify O:Lines on the fly with specific commands either locally, remotely or globally on the network. It stores the O:Lines in an external database file (oper.db, located at the main Unreal3.2 directory), so they won't get lost on reloading the UnrealIRCd configuration.
[3.2-RC2] [permanent]
randquote (v2.5) Displays a random quote when users connect. Based on the code of UltimateIRCd. Random quotes are read from file ircd.quotes (no need to rehash it). In addition, the module comes with three commands: /randquote to get a random quote, /addquote for opers to add a line to file ircd.quotes, and /addgquote to add a quote globally on the network. You can get a sample ircd.quotes file from the source package of UltimateIRCd (http://www.shadow-realm.org/).
[3.2-beta18] [network-wide]
userauth (v5.4) This is an extended user authentication system, which only accepts user connections if they pass the proper username and password. Username:password pairs are defined in a file you specify in your UnrealIRCd configuration.
[3.2-RC1] [permanent]
vhosts (v2.4) This module provides an easy and convenient interface for managing configuration of vhosts by allowing to add, remove and modify vhosts on the fly with specific commands either locally, remotely or globally on the network. It stores vhosts in an external database file (vhost.db, located at the main Unreal3.2 directory), so they won't get lost on reloading the UnrealIRCd configuration.
[3.2-RC2]

Experimental modules

These modules below are published as experimental ones. They can contain unforseeable bugs, therefore their use isn't suggested on real and producing servers.

cgiirc (v1.17) This module provides CGI:IRC support for UnrealIRCd. The algorithm I used in it isn't the best, but at least it works. It should only be used until a better CGI:IRC support is implemented in the ircd code
[3.2-RC1] [obsolete]
cmdshun (v1.1) CmdShun is shun-like system with which you can forbid clients from using certain commands. Such a cmdshun is global, and both permanent and timed cmdshuns are supported. An additional feature is supported to let you be able to stop clients from sending PRIVMSGs and NOTICEs to users only privately or only to channels.
[3.2.1] [permanent] [network-wide]
courtroom (v1.13) This module has two functions: the first allows you to simulate courtrooms (users aren't allowed to part these kind of channels), the second one implements the user quarantine system (people being quarantined are allowed to join only courtrooms and do private conversations only with IRCOps). The purpose of both features is to have a better control over problematic users while a discussion between them and the IRCOps is being done on networks where courtrooms are tried and true methods.
[3.2-RC2] [permanent] [network-wide] [broken]
courtroom_lite (v1.4) This module is a light version of "courtroom" that includes the same features but the quarantine system.
[3.2-RC2] [permanent] [network-wide]