SASL

When you enable SASL users can authenticate against services early in the client handshake, before the client is fully online. This has a number of benefits:
 * It is a universal way to identify to services. No need to /NS IDENTIFY, /MSG NickServ IDENTIFY, or whatever the command may be with services package XYZ.
 * Similarly, if services disconnect and come back later, there's no need to re-identify via /NS IDENTIFY.
 * Because it happens early in the IRC handshake you receive the proper vhost and modes. For instance, you can safely (auto)join registered only (+R) channels.
 * From UnrealIRCd 4.0.18 onward you can make SASL authentication mandatory, for example on a server that permits open proxies / tor. You do so via allow::options::require-sasl in the Allow block.

Enabling SASL on the server
You need to enable SASL in your services. For example, if you run anope then you should consult anope's documentation.

Then, in UnrealIRCd you have to set the SASL server to your services server, like this: set { sasl-server services.my.net; };

UnrealIRCd also has some auto-detection which works with certain services packages making the setting set::sasl-server unnecessary, but you better add it in just to be sure.

mIRC

 * File -> Select Server
 * Connect -> Servers: select the server you want to add your SASL to and click Edit (or create a new server)
 * In Login Method you select SASL (/CAP)
 * In Password you type the password for your account.