What's new in UnrealIRCd 5
Jump to navigation Jump to search
Below are the brief release highlights. The full release notes are available here and cover a lot more new features and other changes.
- Channel history. You can now see the last couple of lines that have been said on channels when you JOIN. For this you need to set channel mode +H, eg: eg:
/MODE #chan +H 15:1440
- More IRCv3 features. Additional details are communicated to clients which may help with displaying information. Implemented specs are: account-tag, message-ids, time, echo-message, labeled-response and BATCH.
- Ban exceptions (/ELINE). You can now exempt users dynamically on IRC from *LINES, spamfilter, throttling, blacklist checking, connection floods, bypassing antirandom, etc. Just type
/ELINEon IRC to see details.
- *LINES and Spamfilters are remembered: All of these are saved to a file every few minutes and saved across reboots. This uses the new tkldb module (loaded by default). No need for services for that anymore.
- Persistent channels are remembered: For channels which have mode +P set we now save all channel settings across reboots (topic, regular modes and +beI lists). This via the channeldb module (loaded by default).
- Anti connect-flood measures. In the last few 4.2.x versions we introduced Connthrottle and reputation. In 5.x these modules are now loaded by default for increased security.
- Easily restrict commands to fight drones. You can now disable any command or impose restrictions, such as: command can only be executed after being connected for XX seconds, or if you are identified to services, etc. See the example for how to restrict LIST, INVITE and messaging.
- Module manager for managing 3rd party modules easily. Install and update modules with a single command.
- Conditional configuration. You can
@define $IP "203.0.113.1"and then use
$IPeverywhere in the configuration file. Similarly, support for
@if-blocks. This is especially useful for advanced users who like to use the same configuration file on multiple machines, usually with the help of remote includes.
- Improved Channel Mode +L now kicks in for any rejected join, so not just for +l but also for +b, +i, +O, +z, +R and +k. For example, if the channel is +L #insecure and also +z, then when an insecure user ties to join they will be redirected to #insecure.
- Ban forwards. New extended ban ~f to forward users to the specified channel if the ban matches. Example:
MODE #chan +b ~f:#badisp:*!*@*.isp.org
- Improved WebSocket support. We already supported websockets, but now we support websocket type 'text', which is compatible with web IRC clients such as Kiwi IRC.
- Code cleanups. The biggest effort of all went into cleaning up old code and making the code much more readable. This also means that UnrealIRCd 5 will not be able to link with really older servers or services, like UnrealIRCd 3.2.x.
- Windows version is 64-bits. This should allow for increased address space and security. This also means UnrealIRCd 5 will not run on 32-bits Windows (should be rare nowadays, anyway)