Translations: Nederlands - Français - Hebrew - Norsk -
by Jolo, tiggergrm and many others,
updated Oct 1, 2006
Original version at http://www.efnet.org/chanfix
CHANFIX is an EFnet service that can sometimes give back ops when you lose all ops or get taken over by outsiders. CHANFIX is not like chanserv or other registration services, where a "founder" owns the channel forever. Instead, CHANFIX keeps a score list of how often each person held ops in each channel. This list follows very strict rules, as described later. The highest scores go to those who qualify and held ops the most during the past two weeks. If a channel loses ops, CHANFIX will automatically re-op any qualifying former ops with the highest scores. We cannot arbitrarily op or deop anybody. CHANFIX is a last resort; it does not exist for your convenience or to substitute for good commonsense and proper channel management. You should still run your channel properly, such as requiring username@hostname and password verification before granting ops. Manually opping people, even ones you think you know, is a guarantee for disaster. To learn how to run a channel properly, we encourage you to read The New IRC Channel Operator's Guide.
Please look for your particular problem in the list below and read the answer. After you read the answer, we can explain more on #CHANFIX.
You do not register your channel with CHANFIX. You just need to make sure that it meets certain qualifying conditions. CHANFIX then will automatically keep track of the ops in the channel. Likewise, if your channel qualifies and you lose ops, you do not need to trigger CHANFIX, it will reop your channel automatically. See the next question on qualifications and opless channels.
If you have lost ALL ops, CHANFIX will restore ops automatically as long as your channel meets ALL of the conditions listed below. This process may take up to an hour or more, depending on how regularly your qualifying former ops held ops. People who hold ops all the time tend to be re-oped quickly. You cannot invite or trigger CHANFIX to do its job. If CHANFIX joins and leaves without giving ops, that means nobody on the channel currently qualifies. Read on to find out why.
You must meet ALL of these conditions. CHANFIX is an automatic service, it is not possible to make exceptions.
If you meet ALL of the above conditions, just get those qualifying regular ops back in the channel. CHANFIX will automatically reop the highest scoring ops first, then it goes down the list until there are 5 ops. It may leave and rejoin several times before this is accomplished, depending on how high the scores are. Higher scores are given ops sooner.
If you just cannot meet those conditions and do not get reoped automatically, read the next section below.
If you lose all ops and CHANFIX does not join your channel automatically within 1 hour, then that probably means your channel does not qualify according to the conditions in the previous section.
If you lose all ops and CHANFIX joins your channel, if CHANFIX keeps joining without giving ops to anybody, it means you do have qualifying ops in the score database, and it is trying to find 5 people to op, but nobody currently on the channel qualifies. Stay calm, re-read the conditions in the previous section, and try to get those qualifying former ops back. For example if you usually have a bot or botnet holding ops, it may have the highest scores, get it back in the channel!
If you just can't meet those conditions, such as if you have a new/small channel, or if you have been opless over 4 weeks, then CHANFIX just does not have a record of your channel, and you are on your own. You must cycle the channel (clear everybody out and restart it) to regain ops. Consider it your first challenge: If you can't even manage the channel properly (by keeping ops or cycling the channel) when you have only a few people in it, imagine the chaos if you had 50 or 500 people in the future. The simple fact is, running an EFnet channel takes at least 10 people (not bots) who qualify according to the previous section. If you don't have that, what's the point of having a channel anyway? Visitors aren't going to come to some small, poorly organized channel when there are thousands of bigger channels already. If you insist on running a channel anyway, consider moving your new/small channel to a network with registration services.
On EFnet, nobody can just op you on any channel, not even IRC operators ("opers") or admins. There is no secret command. EFnet is not like other networks such as DALnet where they have services that give opers these powers. For more information, see Why EFnet has no registration services and The Myths of Opers.
As long as at least one regular op (one holding a high score) is opped in the channel, there is nothing CHANFIX can do. You need to work it out with that person. It doesn't matter if he is a bot, or idle for weeks, or doesn't want to share ops, you should have thought of that before giving him ops in the first place. CHANFIX is a last resort only when you lose ALL ops or get taken over by outsiders. EFnet does not have services like chanserv for your convenience. As chan ops, just pretend there is no CHANFIX, and learn to run your channel properly, including setting up scripts to safely request or give ops.
CHANFIX can be triggered manually to reverse a recent takeover. A takeover is defined as when there are still ops on the channel, but they did not hold ops before (example: you mistake a stranger for a regular and accidentally give him ops, he then deops everybody). We do NOT interfere in internal op disputes, where regular ops fight each other for control (example: there is a disagreement about who should run the channel, so one of the regular ops decides to deop everybody else). In other words, if somebody was one of your top 10 most regular ops over the last 4 weeks (anything before that is irrelevant, doesn't matter if you created the channel or if you held ops for years), he can do anything he wants including deoping everybody else. That's unfortunately what happens when you trust the wrong people, but neither CHANFIX nor anybody else can help then. Please settle it yourself or start a new channel.
If you had an actual takeover by an outsider, then you need to figure out how they got ops (accidental op, "hacked" bot/shell, denial of service attack that knocked everybody else offline, etc.). Then make sure it doesn't happen again. We do not issue fixes until you have demonstrated that you won't get taken over again right away. You should have as many as possible of your qualifying regular ops online and awake, either sitting in the channel or ready to rejoin at a moment's notice. Be ready to act to secure the channel right after the fix is issued.
How does the fix actually work? Once we verify there is a takeover, CHANFIX can be triggered manually. It would first de-op everybody and remove all modes that might keep people out (+b bans, +i invite-only, +k keyword-required, +l limit). This is when you must rejoin quickly. Then CHANFIX rejoins later and restores ops to the regular ops as it would in an opless channel.
To reverse a takeover, if you meet all qualifying conditions for opless channels, go to EFnet #CHANFIX and tell us the name of your channel, what went wrong, what you've done to prevent a recurrence, then wait quietly for help. We will get to you as soon as we can.
If you don't qualify, see the relevant section above. Good luck, you'll need it.
CHANFIX keeps track on who has ops on a channel by using a score database. To hold a score, your channel must meet all qualifying conditions above. These conditions include having a minimum number regular of ops with a static hostname/IP over a minimum period of time. If you qualify, you do not need to register or log in, and it doesn't matter if you change nicknames. The score is kept automatically according to your username@hostname.
If you qualify, for every 5 minutes that you hold ops on a channel, your score is increased by 1 point. The more regularly you hold ops, the higher your score will be. The scores are kept for only the last 4 weeks. The best scores tend to go to people (or bots) who qualify and have a 24/7 connection, and who get ops automatically as soon as they join the channel. A stable channel should have preferably 10 or more ops with high scores, i.e., holding ops at least 25-50% of the time. That way even if something goes wrong, it's obvious who are the regular ops and CHANFIX can do its job easily. Score information is accessible by IRC operators but cannot be given to you, even if you are one of the top 10 regular ops. This is to protect you and your channel against possible attacks targeted against your top ops.
For more technical discussions of how the scoring system works, see the links in the last section.
History: CHANFIX (originally named JUPES) was voted upon and passed by a majority of EFnet admins in April 2001, and began operation in early July 2001. You can see the original vote [ext. link] which also contains a somewhat technical comparison to other competing channel-fixing ideas.
Open CHANFIX: open source CHANFIX. Requires hybrid ircd. Replaced original CHANFIX on EFnet in 2005. Lots of detailed examples on how scoring works, how a fix is executed, etc.
CHANFIX guide for opers [ext. link].
This is a guide intended for new opers and CHANFIX helpers. It describes how one experienced helper approaches each request for help. To some it may seem overly burdensome, but really it's the most responsible, helpful approach IMHO, to make sure that the user actually learns from his mistakes and the channel actually stays fixed.
The New IRC Channel Operator's Guide. Although not technically related to CHANFIX, if more people would learn how to run their channels properly using guides like this, there wouldn't be any need for CHANFIX at all!
3. We still have ops but they are all idle, can you op me instead?
4. My channel was taken over, please help?
5. How does CHANFIX keep scores?
6. More Information