Clone = multiple users from the same IP. Most ircds have a max-per-ip threshold in the config, thaqt means that the ircd won't allow more than X from the same IP. Neither will Session Limits, you don't have to go hunt them, the ircd and services will handle that for you. Those that you claim to have been killing as a botnet may or may not have been a real botnet, it's possible you killed real users with it as well.
Lets look at KillClones for a second, then look at Sessions and Exceptions and then please point out how KillClones is more efficient than sessions.
KillClones:
Syntax: KILLCLONES nick
Kills all users who have the same hostname as nick. A
temporary AKILL, in the form *@host, is added to
prevent the offending clients from immediately
reconnecting. A wallops is also sent indicating who
used the command, which host was affected and how many
users were killed. It's usefull for removing numerous
clones from the network.
Limited to Services operators.
Note the "Kills all users who have the same hostname as nick". Most IRCD's do that automaticlly now and so does Anope, Anope does it automaticlly via Sessions and exceptions.
Sessions and Exceptions:
Allows Services admins to manipulate the list of hosts that
have specific session limits - allowing certain machines,
such as shell servers, to carry more than the default number
of clients at a time. Once a host reaches it's session limit,
all clients attempting to connect from that host will be
killed.
This means that Anope can be configured to AUTOMATICLLY kill clones at lets say 3 from the same IP. Then along comes a bunch of users from the same shell hosting company that wants to host more than 3 eggdrops, not a botnet, but real users with real bots. If you ran killclones, all those real bots will be killed! With sessions and exceptions, the shell hostign company can have 50 bots and Anope will not kill them! everyone else gets 3! You can except Services as well, opers, trusted users .. none will be killed. With Sessions and Exceptions, there is no manual command to run, it's automaticly done for you. I fail to see how that is more "tedious", you are doing nothing vs running killclones manually. IF you get users plaging your network from DIFFERENT IP's ... those are NOT clones and KillClones will be useless in that scenario.
I'll use my net as an example. I have the global max clone limit of 3 connections per IP. I personlly can connect upto 100 clones from my IP. If ANYONE else tries it, the 4th and beyond clones will b automaticlly killed. With KillClones they are allowed to connect and you have to MANUALLY run the command. Really now, which if the 2 is more tedious?? Be honest.
Sessions and exceptions has become a "hands off" clone management system. The ONLY time you need to mess with Sessions and exceptions is to add trusted users to the list of users NOT getting automaticlly killed by Services.
Drop by irc.ircmojo.net and I'll give you a live, personal demonstration and personally teach you how to use Sessions and Exceptions.
killclones = manually kill per host
exceptions = monitor the network and automaticlly kill clones that reach the threshold so I don't have to scan for them manually.
PS: If you think of your network as a neighborhood full of gangs and pricks ... I pity you.