As planned, WyldRyde went down for a few moments yesterday evening as part of our rolling-out UnrealIRCd updates. Now, a day after the updates completed and WyldRyde is functioning normally once again, I’d like to take this opportunity to explain what exactly has changed.
Bug Fixes, Better IPv6 Support
First and foremost, the decision to update our Unreal installations was based predominantly on a known bug with older versions of the IRCd where CGI:IRC (the mechanism that allows services like Mibbit and our own QWebIRC installations to serve as a proxy to connect you to the network) was extremely flawed with IPv6. While this in itself was very critical in our ongoing effort to implement IPv6 support, there were also a number of outstanding issues with the version of Unreal we were running (albeit most of which very minor), so it made a great deal of sense for us to go ahead with this update to better our stability and performance.
Extended Ban Options
As part of our updates, users can now take advantage of new extended ban options (very similar to the word-blocking ban system that we loaded last month) that allows for them to better control their channels. Below is a brief explanation of these extended ban options:
The use of “~c” in a ban or channel ban exception will allow a channel owner to disallow or explicitly allow members of another channel into their channel. For example, if I wanted to disallow users from joining my channel (#mike) if they were in the #help channel, I would use the following command;
/mode #mike +b ~c:#help
Likewise, I could opt to ban all users from my channel by default and add an exception to only allow users inside the #help channel to join my channel by using the following command;
/mode #mike +be *!*@* ~c:#help
I can also add a mode character to a ban (or exception) statement so that only members of certain channel statuses could join my channel. For example, I could add an exception to always allow half-ops and above from the #help channel into my channel;
/mode #mike +e ~c:%#help
Channel operators can now place bans on user “real names” in order to ban users of certain clients, scripts, and IRC embed services (those that use a static “real name”) from a channel. For example, Mibbit sets the “real name” value of all of its users to “http://www.mibbit.com”. To ban all users with this real name value, I would use the command;
/mode #chan +b ~r:http://www.mibbit.com
Likewise, because my “real name” value is always set to “Mike Mansell”, you could ban me from your channel – regardless of the nick, ident, or hostname I was using – by using the following command;
/mode #chan +b ~r:mike_mansell
As you can see, I replaced the space with an underscore (“_”). Because underscores match both spaces and actual underscores, this ban would disallow anyone with the real name of “Mike Mansell” or “Mike_Mansell” from joining the channel. Of course, you can also use this as a channel ban exemption as well simply by replacing the “+b” with “+e”.
Last but not least, the addition of the “~R” extended ban-type, while only of use for ban exemptions, allows you to ban or exempt users only if they are registered and identified. For example, if you wanted a ban exemption to only apply to me when I was identified, you would use the command;
/mode #chan +e ~R:Mike
Sure, this could very well be used as a ban as well, but it really would be somewhat pointless. On a side note, channel owners may wish to ponder using the “restricted” option with ChanServ to kick and ban any users who attempt to join a channel without being on the VOP/HOP/AOP/SOP list or a channel owner.
Implementation of “~” and “&” Characters for Channel Owners and Admins
The implementation of “~” and “&” channel-mode characters for channel owners (mode +q) and channel administrators (mode +a) has likely been one of the most requested features here on WyldRyde over the last couple of years.
While the old version of Unreal that we were running did indeed support these characters in channels the option had to be configured during the compiling stage and was not something that we saw as justifiable to re-compile and re-start our servers. However, with the popularity of this request this feature was enabled as part of our updates.
Now, channel administrators (members of the “SOP” class in ChanServ, or users with level 10 access in a standard non-XOP level configuration) are represented with the “&” character instead of simply the “@” character given to normal channel operators. Likewise, channel owners (either the person who registered/inherited a channel or a user who used the owner password to identify as the channel owner) will now receive “~” characters in their respective channels.
For a bit of extra precaution, we have also enabled ident checking in our new configuration. Our recent implementation of this setting attempts to verify the “username” or “ident” (not to be confused with nickname) with an identd server on the client’s computer in an ultimate goal to validate the identity of users connecting to WyldRyde.
While this is a great feature to validate users, the fact of the matter is that many users do not have identd services running on their computers or shells, and many of those who do have firewall configurations that block us from validating the ident. This, however, isn’t a big deal as users with un-validated idents simply have their idents prefixed with the “~” character (not to be confused with the channel mode character assigned to owners).
I myself do not have an ident daemon running on my personal computer, so even though my client is configured to use the ident/user “mike” (which would later become part of my hostmask “email@example.com”), my ident is changed to “~mike” when connecting and my hostmask becomes “~firstname.lastname@example.org.”
For those of you wishing to have hostmasks without the “~” in your ident, you can join the #help channel and request that a virtual host with a virtual ident (an entire virtual hostmask instead of a only a virtual hostname) be assigned to your registered nick.
As always, if you have any questions or notice anything that we’ve missed we ask that you don’t hesitate to contact us in the #help channel.