What is chanfix? Chanfix is the product of several years consideration of how Undernet can assist users in maintainig control of channels which don't have X. The Coding staff released Chanfix in stages, as each part took many hours of coding and extensive testing. In times past, from day to day across Undernet, users were confronted with the loss of ops by takeovers, splits, and connection issues. Every situation required effort from helpers and IRC Operators, (opers), and much user and oper time. Opers and helpers needed to search through logs and listen to arguments in order to determine the rightful owner of a channel. The mediations often took so long that users could be waiting in an oper help channel for hours before being assisted. People were often frustrated. Undernet and the coding staff are always looking for ways to improve. Chanfix and the REQUESTOP command are the culmination of a great deal of effort. The Chanfix system is designed to keep track of which ops have been opped the longest and based on that, determines who will be reopped. Chanfix and Requestop are designed to assist with obvious takeovers and reopping. They are not intended to replace the sound judgement of experienced IRC Operators, who are able to exercise discernment and make choices that Chanfix can't make. The automation of most reopping makes maintaining channels simpler and prevents the loss of ops, and takeovers by newcomers. Chanfix allows regular ops to be automatically reopped, and enables established regulars to help themselves recover from most takeovers. Chanfix will only keep track of channels that: * Are not registered with X. * Have at least 1 op with a registered X username. * Have at least 4 users. Chanfix only tracks channel ops that are logged in to X. It does NOT matter if these ops are +x'ed or not. Because Chanfix keeps data based on how long users have been opped, its data is highly reliable. More highly respected and trusted channel ops will have been opped longer in most cases, thus will get ops first in a fix. When chanfix "fixes", or is in the process of reopping a channel, it can op the top 5 highest scoring ops that it finds on the channel. These ops must have been opped for at least 13.5 hours total, over the past 2 weeks, to be considered for ops by chanfix. Chanfix decides who it will op based on a score. Each op Chanfix sees has their own score, between 1 and 7032. * For every 5 minutes you are opped, you get 1 point. * To get ops at all, you must have at least 281 points. Chanfix works three ways: automatically, by the request of IRC Operators (opers), or at the request of members of the channel with high scores. Chanfix will automatically start fixing your channel if it is opless. A takeover exists when someone who should not be opped, a stranger, someone who has recently been opped, is opped alone, or removes ops from others. They may ban the other members from the room etc. If someone becomes opped who should not be there, it can be considered a takeover. If none of the regular ops are opped to remove them, someone who has been opped regularly may try issuing the REQUESTOP command. Chanfix follows the same procedure to determine who be can reopped, both manually and automatically. Chanfix begins with the highest possible score: 7032, and determines who can be opped. Score calculation in Chanfix Version 2.0, is based upon two different calculations: a) Opped Time: For every 5 minutes that a person is logged into X and oped in the channel, you get 1 point. (12 intervals/hour *24 hours/day * 14 days = 4032). b) First Time Opped: Chanfix tracks the first time, (in Chanfix's memory), that someone was ever opped in the channel. It sees the timestamp of the user who was first opped, (oldest timestamp known), in addition, it calculate the days since a user was opped, (up to 14 days). If the first opped timstamp is greater than 30 days, we have a factor x which equals 3000 / (# of days since oldest op timestamp), otherwise, x is simply 100. Then we multiply this factor times the number of days since this user was first opped. This total is then added to the users score. Max given points: 3000. * If you have 7032 points, you will be reopped instantly. Chanfix can keep reopping its 5 top channel ops based on score for up to an hour. If none of the uses with high scores joins the Channel, Chanfix will continue to run until the scores diminish. Chanfix keeps track of the last fourteen days of score. If a user does not join the channel or op, his score will decrease over time. If ops are lost, it is important to begin the reopping procedure, either by using the commands or visiting a reop channel for help, as soon as possible. As of September 2011, Undernet has a way for people who have been regularly logged into X, and opped in unregistered channels, to regain control of their channel without any IRC Operator intervention. Chanfix (C) is now able to decide, using the algorithm, whether or not there has been a takeover, and op those who have the highest scores. This is possible by using the command: /msg c REQUESTOP #channel [contact]. Users with appropriately high scores, can use Chanfix (C), in a similar way to an IRC Operator's manual Chanfix. Channels requesting a 'fix', must meet certain criteria: * The person sending the command must have a score higher than 1000 points. * The person sending the command must be in the top 10 highest channel scores. * No one is opped on the channel with a high score (>2000 points). If a high scoring user is already opped, then it is not considered a take-over, and C will not act. * The person sending the request must have a higher score than anyone who is opped. If the person sending the request has a lower score than any of the current ops, again it is not considered a channel takeover. * There is no one opped on the channel with a 'first opped date' within 3 days of the oldest first opped date. This prevents newer ops that might have higher scores from requesting a chanfix. C's possible answers when using REQUESTOP: a) "Sorry, I cant fix channels at the moment." - This means reopping has been temporarily disabled. b) "Sorry, chanfix cannot fix channels at the moment, please try again soon." - This means that C can not do channel reops at the time. You should try again in a few minutes. c) "No such channel #channel_name ." - Make sure you typed the channel name correctly. d) "#channel_name is a registered channel." - C will not act on registered channels. Someone with access in X will need to use /msg x op #channel_name to be opped. e) "There are no scores in the database for #channel_name." - The channel was not eligible for C tracking. Please see section A for the conditions under which a channel will be tracked by C. f) "Your score for #channel_name is not high enough to issue a fix." - A channel member must have a score of 1000 points or higher, to issue the /msg C REQUESTOP command. Look for someone whom you believe was logged into X and opped more than you were, to suggest that they send the command. g) "Sorry, there is somebody currently opped on #channel_name with a high score." This message can occur in any of the following situations: someone with a score higher than 2000 is already opped; someone with a higher score than yours is already opped, or someone with a 'first opped date' within 3 days from channel's oldest 'first opped date' is already opped in the channel. h) In any of these situations, if C responds to your /msg c CanFix #channel_name, you will know whose score will be high enough to initiate reopping. i) "Sorry, you are not within the top 10 channel ops in #channel_name." - You do not have sufficient time as an op in the channel to have one of the top ten scores. Look for someone whom you believe was logged into X and opped more than you were, to suggest that they issue the command: /msg c REQUESTOP #channel. j) "The channel #channel_name is already being fixed." - Someone has already requested a reop for the channel. You must wait until someone is opped, then he/she can reop you. This could be you, if your score is high enough, and you are the highest scorer present in the channel. k) "The channel #channel_name is being automatically fixed. You cannot issue another fix at the moment." - An automatic reopping process is already underway. Chanfix will normally begin it's reopping procedure as soon as the channel has no ops. Wait until someone is reopped. l) "You must wait x seconds before #channel_name can be fixed again with this command, or contact a help channel." - To avoid overload, the REQUESTOP command requires a certain delay between requests. If a channel was just fixed, you'll need to wait the specified number of seconds, before repeating the command. m) "The channel #channel_name cannot be fixed, please contact a help channel for further information." - C can not decide whether the channel should be fixed, or not. You should contact one of the reopping channels #zt #nastrand etc. n) "Fixing #channel_name, please wait." - Your request was accepted and C will start the manual fix process. o) "#channel_name channel modes have been removed to allow you to return. Please return so that I can op you during the channel fixing process." - This message will be received by all of the top scoring users, who are online and not in the channel, if - when the command was issued, the switch [contact] was used. (e.g. /mg c REQUESTOP #class contact). p) "You must wait 15268 days, 20:42:49 seconds before #channel can be fixed again with this command, or contact a help channel." Be very careful to retain ops in your channel after using REQUESTOP, or you may see a message like this, and will need to wait 14,000 years, or try to get help in #zt #nastrand, etc. ;) If for any reason. you feel you may have received one of these replies in error, please visit a reopping channel: #zt, #nastrand etc. These channels are excellent places to ask any questions you might have, including questions about C, and the manual reopping process.