Tip of the day: If you run multiple servers then consider using Remote includes to share configuration settings.

What's new in UnrealIRCd 5

From UnrealIRCd documentation wiki
Jump to navigation Jump to search
This page contains changes which are not marked for translation.

Below are the brief release highlights. The full release notes are available here and cover a lot more new features and other changes.

NOTE: UnrealIRCd 5 is End Of Life and no longer supported. Use UnrealIRCd 6 instead. If you read this article then you may also be interested in What's new in UnrealIRCd 6.

  • 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 /ELINE on 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).
  • Reputation score and anti connect-flood measures. In 5.x reputation is used in many places to increase security and to combat spambots.
  • 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 $IP everywhere 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 acts on 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)