ChanFix was enabled on Undernet on Sunday, March 19, 2006


2011 Update: REQUESTOP command is enabled

In October, 2011, a new command was released, allowing most channels to use Chanfix to reop. /msg C help Requestop . The command is: /msg C REQUESTOP <#channel> [contact] . Performs a fix on the specified channel. Append [contact] if you wish that the top 10 ops for the channel be noticed about the fix before the fix happens.

How do I register with chanfix or trigger

it to work?

You do not register your channel with chanfix, however you and the other ops must have a CService account and be logged in. You also need to make sure that it meets certain qualifying conditions. Chanfix then will automatically keep track of the ops who are logged into X 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.

My Channel is opless, how do I get ops back?

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 does not op any users, that means nobody on the channel currently qualifies. Read on to find out why.

Conditions for chanfix to reop an opless channel:

You must meet ALL 5 of these conditions. Chanfix is an automatic service, it is not possible to make exceptions.

1. The channel should have existed for some time. Any channel less than a few days old is probably too new to fix, because you have not established a stable set of regular ops. Either create a new channel, or just chat on an existing channel since you might not be ready yet to run your own.
2. Before chanfix will start to keep track of your ops automatically, the channel must have at least 4 users in it. Again this is a technical minimum, but unless you really have a lot of people, it is often quicker to fix the channel yourself by "cycling" it (organize everybody to /part, then recreate the channel from scratch).
3. Before chanfix can reop anybody, you must have at least 1 and preferably 5 or more qualifying former ops in the channel right now. Qualifications are listed below.
4. The former ops were ops regularly during the past 2 weeks. "Regular" doesn't have to be 24/7, but it means they are usually an op - not just a few hours every few days. Anything before 2 weeks ago is irrelevant because chanfix only keeps records that long. It does not matter who created the channel or who is supposed to "own" it.
5. The former ops were ops and logged into their CService account regularly, as chanfix uses accounts to track scores

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. Higher scores are given ops sooner. If you just cannot meet those conditions and do not get reoped automatically, read the next section below.

Why won't chanfix reop my opless channel?

If you lose all ops and chanfix does not take any action in 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 just can't meet those conditions, such as if you have a new/small channel, or if you have been opless over 2 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.

My channel was taken over, please help?

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 2 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 later chanfix will restore 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 either #zt, #nastrand or #arlington 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 "Why won't chanfix reop my opless channel?" section above.

We still have ops but they are all idle, can you op me instead?

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. 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.

How does chanfix keep scores?

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 CService accounts over a minimum period of time. If you qualify, it doesn't matter if you change nicknames, usernames or hostnames. The score is kept automatically according to your CService account.

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 2 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.

Is chanfix like channel registration?

No. Not all all. Chanfix is a neutral entity which can fix a stable channel (this means that it has existed for at least several days, and has had a group of stable ops) in emergencies. The two emergencies when chanfix can help are if the channel becomes opless, or if the channel is taken over.

How do I get a score?

Every 5 minutes chanfix will look at the opped clients in each channel that have enough clients. All of the clients that are opped will get a point.

How many points do I need?

You need at least 163 points (4% of the maximum) for chanfix to reop you. Below that, chanfix doesn't do anything. This means your channel must be at least 163 / 12 = 13.6 hours old.

My channel is opless and I have a score, why isn't chanfix opping me?

Chanfix can take up to an hour to fix an opless channel. The higher your score, the faster you are opped. So be patient. Oh, and if your score is below 163, well, you won't be opped.

After 2 hours, chanfix has still not been to my channel! What's going on?

The most probable explanation is that you have fewer than 4 clients in your channel. You must have at least 4 clients in your opless channel before chanfix will come to fix it.

How does Chanfix keep track of who is logged in?

Whenever you LOGIN to X you will get an account, Chanfix has a list of all accounts with access in its database.

What happens in case of a netsplit? Or when my connection drops and I reconnect?

IRCu will burst your account in a netsplit, so Chanfix will know you are still logged in. However if you reconnect or quit you will be logged out. Thus you will need to relogin to X, or whichever service you use to get an account.

Is this just like chanfix on EFNet?

Almost, with differences being it only works on non-registered channels, and it works on accounts instead of hostmasks.


Reprinted from User FAQ at
LOG from #Class about ChanFix (.pdf)
Log from #Class about ChanFix (.txt)
Also see for EFnet's usage of ChanFix