UNDERNET CHANNEL SERVICE (CService) OPS SCHOOL 24th March 2000 *** Now talking in #opschool *** [#opschool] Topic is 'Please type /msg Notify checktime for the next class in your language or goto http://cservice.undernet.org/main/opschool/schedule.html for a complete' *** [#opschool] Topic by Notify on Thu Mar 23 19:38:35 2000 Let's begin. We have an ambitious agenda so please ... settle in, turn on your logging ... and take note of your questions. [1/145] Good Day, this instructional script is brought to you by the Undernet Channel Service Committee. Please send comments, suggestions, or remarks to opschool@undernet.org -- I'd like to welcome you all to the Undernet Channel Service OpSchool (Part One). [2/145] We are pleased to announce that the OpSchool Web Site is online and available for viewing at http://cservice.undernet.org/~opschool/. Here you can learn about OpSchool Classes, and follow links to many other useful sites. [3/145] Today's session will cover how to harness the powerful commands provided in X and W. Our next session (Part 2) includes topics on Channel operation: registration, preventing abuse, flood protection, and more. [4/145] You can also /msg Underbot files, for a list of downloadable CSC help files and forms. Or visit our website at http://cservice.undernet.org/ for online forms and registration info. [5/145] Now for the rules of the class. [6/145] The channel is moderated (+m) to lessen interruptions. [7/145] Do *NOT* change your nick while in class. Auto-Kick on nick change is *active* so as to keep disruptions to a minimum. You will not be allowed back in if you are kicked for changing your nick. [8/145] Do not message the instructor - My job is to keep the lesson flowing. The channel #cservice is open and the staff there is ready to answer any questions you may have about the information in this class. You may also message any ops present in #opschool with your questions. [9/145] [18:36] *** Quits: lostNdumb (Ping timeout for lostNdumb[sta-m5-36.wvi.com]) The numbers you see at the end of the sentences are lesson reference numbers. Both you and the instructors can use these as a guide to help you keep track of where you are in the lessons. [10/145] SESSION A - SCOPE AND DEFINITIONS: Channel Service Committee - We provide registration of channels on the Undernet and the services X and W to hold the channels. [11/145] This registration provides a channel manager with a flexible tool for managing the channel and handling channel affairs. [12/145] X and W are specialized servers often referred to as bots which actually hold the channel open and allow for control. [13/145] A special note, when giving the commands, I will use < > for required elements and for optional elements. [14/145] Now for a few definitions: [15/145] The Manager - The user who applies for and owns the channel. [16/145] Channel Operators - Users given the privilege of being an operator by the manager. The manager grants them access to the bot. [17/145] Userlist - The database in X or W that holds the information about the channel users added to the bot. [18/145] CService Helper - An experienced CService Operator who has been asked to assist CService in providing user support. [19/145] CService Administrator - A very experienced CService Helper who manages CService responsibilities. [20/145] Please keep in mind that all CService personnel volunteer their time, effort, and resources to make CService as best as it possibly can be. [21/145] SESSION B - CHANNEL MANAGEMENT: Now...for the instructions on channel management. [22/145] As the channel manager you are ultimately responsible for what goes on in your channel ** whether you are there or not **. Your primary duty is to ensure all the users on your channel understand and are willing to comply with the CService guidelines. [23/145] You are also responsible for maintaining the userlist for your channel. This includes making sure your ops login to their access when in the channel and ensuring that the userlist is up-to-date and active. [24/145] Finally you must login to your 500 access at least once every 21 days. [25/145] If you need to be away from your channel for more than 21 days, you need to fill out the New/Temp Manager Form (/msg UnderBot get xnewmgr.txt) to specify a Temporary Manager. [26/145] If you are going to change or add another ISP, then you need to add the new user@host to your userlist under a 2nd nick (ie Manager2) and fill out the Host Change Form (/msg underbot get xhost.txt). [27/145] Be sure to email from your ISP email address on record with CService to request any changes of manager or user@host. [28/145] Changes to host masks, managers or for a forgotten managers password should be directed to X@undernet.org or W@undernet.org [29/145] For a list of all the files available from Underbot for download, /msg Underbot files [30/145] SESSION C - LEVEL 0 COMMANDS: Now we'll cover user levels and commands: [31/145] These apply equally to X and W, and to any users that are added to the database in the bots. [32/145] A word of caution here -- *ANY* user with level 1 or higher with AUTOOP ON has all the power of a regular channel operator in an unregistered channel. All regular op commands like ban, kick, etc. are available to them. [33/145] The levels for channel personnel range from 0 - 500 [34/145] Level 0 -- These commands do not affect the operation of the channel, and are mainly used for information. The commands are: access, banlist, chaninfo, help, lbanlist, login, map, motd, newpass, pass, showcommands, showignore, and verify. [35/145] /msg X access #channel to find a users access level on the channel. This tells you their nick, user@host mask, access level, whether autoop is set, and if they are suspended. To see who last modified a user's entry, type /msg X access #channel -modif [36/145] A note here, the search string can be anything from a nick to a user@host to a wildcard (*). It is just that, telling X or W what to look for. [37/145] You'll also notice the letters LMPU, or some combination thereof in your access listings. Example: -W- USER: Luser (*!*luser@*.blah.com) ACCESS: 1 LMPU. The "L" stands for: loaded into memory (the user matches the one in the database). "M" stands for: modified, not saved to disk; the database is saved to disk every 90 minutes. "P" means: has a password set. And "U" means: In use (properly logged in). [38/145] /msg X banlist #channel shows you the channel banlist. [39/145] /msg X lbanlist #channel shows the list of bans set through X. [40/145] In order to do the banlist or lbanlist commands, you MUST be in the channel. [41/145] If there are more than 15 users in the Lbanlist, you will get a message from X or W telling you there are too many entries to display. You will need to fire up your web browser and visit the CService website at http://cservice.undernet.org to see the full list. [42/145] Remember, the two ban lists are separate. The channel ban list holds 30 bans. They are set by /mode #channel +b *!*userid@host. The Lbanlist (bot list) holds up to 50 entries. [43/145] The channel list is smaller and is lost if the channel closes (like on a netsplit). Channel bans don't lag when the bot is lagged. The Lbanlist is larger and isn't lost if the channel closes. Bans there can be up to 336 hours (2 weeks). For important bans, put them in both lists. [44/145] /msg X chaninfo #channel-name gives information about the channel manager's nick and user@host mask. It also gives the Channel Description and URL. [45/145] /msg X showcommands #channel-name will show you which commands you have available to you on that channel. These depend on the level you have in X or W for that channel only. [46/145] /msg X help command will explain the usage of that command. Use this to see command syntax and a wealth of helpful reminders. [47/145] /msg X map gives information about how the IRC servers are linked. [48/145] /msg X motd displays X's message of the day. [49/145] /msg X showignore shows a list of users X is ignoring *note* if you are on the ignore list, you will not be able to see this information. If you feel that you are, ask someone to check for you. [50/145] The next 3 commands are different for X and for W. They are pass, newpass, and login. To set a password, the command is newpass. To send a password, use pass OR login. [51/145] To authenticate yourself with X or W, use /msg X@channels.undernet.org pass #channel-name or /msg W@channels2.undernet.org pass #channel-name password. [52/145] Also, you can use /msg X@channels.undernet.org login #channel-name or /msg W@channels2.undernet.org login #channel-name . Remember, if the U doesn't show in an access command, then the user is NOT yet authenticated. [53/145] To change your password for that channel use /msg X@channels.undernet.org newpass #channel-name or /msg w@channels2.undernet.org newpass #channel-name [54/145] You cannot change your password until you have logged in or sent your old password. [55/145] The verify command is used to determine if a user is an authenticated IRC Operator, CService Official, or CService Administrator. Typing /msg X verify will let you know if the person claiming to be a CService representative is authentic. If a user is not an authenticated CService Representative, then be sure to stop by #cservice and ask about them. [56/145] /msg x status #channel gives the user information about the channel, such as the number of users, FloodPro settings, Default flags, Default language, and the people authenticated in the channel. This command is the only Level 1 command. [57/145] SESSION D - LEVEL 50 THROUGH 100 COMMANDS: The next level where new commands are introduced is level 50. [58/145] The additional commands at level 50 are kick and topic. These allow a user to kick someone or change the channel topic even if they are not a channel operator. [59/145] /msg X kick #channel-name [reason] will kick someone off, and they will see the reason you supply. Note: Your nickname will appear in the reason; there is *not* an anonymous way to kick users. [60/145] /msg X topic #channel-name will change the channel topic. If AutoTopic is turned on by a 450+ op, this can be overridden every 30 minutes by X or W and the topic restored. [61/145] The next command level is 75, which gives access to the ban and unban commands. [62/145] The usage is /msg X ban #channel-name (or nick!user@host.mask) [duration] [level] [reason] Note: ban duration is in hours. Duration, level, and reason are not required for a ban, it just gives you more control over what happens. If duration and level are not designated, the default is 72 hours at level 75. Note #2: There, again, is not an anonymous way to ban someone; your nickname will appear in the reason. [63/145] Remember, bans set by /msg X ban... are set in the Lbanlist. You must /msg X Lbanlist #channel * to see them, NOT /msg X #channel-name banlist. "banlist" is for viewing channel bans (which can be viewed by typing /mode #channel +b) , "Lbanlist" is for the bot list. [64/145] Ban levels are important. For example, a level 20 ban will not keep the user off of the channel, but will prevent them from being opped. A level 75 or higher ban will keep them out entirely. [65/145] To unban /msg X unban #channel-name (or nick!user@host.mask). You cannot remove or set a ban that's higher than your own access level. [66/145] The next level is 100, this confers full access to all op commands on the user. In other words, this level is just like being an op in an unregistered channel but allows the user to execute the commands thru X without having ops. [67/145] Commands added at level 100 are op deop invite suspend and unsuspend. [68/145] This is the first level at which your access will allow you to op yourself through X or W. Lower levels of access have to be opped by a channel op, they cannot op themselves. Also, no user level lower than 100 can get ops if the channel is SET to StrictOp mode ON. [69/145] It's important to note that at level 100 the potential for abuse exists. Deopping and/or kicking the CService bots is theoretically not possible, however, if for some reason an operator is able to kick or deop the bot, that is considered abuse of the Undernet Channel Service, and may result in your channel being placed into NoOp mode or even Purged. [70/145] To op someone Use /msg X op #channel-name Note: The person being opped will see who is opping them. This is *not* an anonymous way to op. [71/145] To deop someone type /msg X deop #channel-name Note: Again, the individual being deopped will see who is deopping them. [72/145] To have X invite someone to a channel. type /msg X invite #channel-name . You can also use this from outside the channel to invite yourself to the channel. Just authenticate with X/W for that channel and then send the invite command --- /msg X invite #channel-name . Note: Using X/W to mass-invite users is considered abuse. [73/145] /msg X suspend #channel . This temporarily stops a user's access to X or W Note: s=seconds, m=minutes, h=hours, and d=days [74/145] An example to suspend Joe for 3 days would be... /msg X suspend #here joe 3 d <-- note there is a space between the duration and the time format [75/145] Please remember two things about the suspend command. First, you cannot mix time formats. Use only *one* of the time formats ... s, m, h, or d. Second, you must use the nick as it appears in the userlist. [76/145] To unsuspend type /msg X unsuspend #channel-name Note: You cannot suspend or unsuspend anyone with higher access than yourself. If a user with higher access suspends a user, someone with higher access has to unsuspend. [77/145] Anyone you give ops to, whether or not they have access to X/W, can kick and ban users from the channel. In practice, it's probably best not to op anyone who has less than 100 access. [78/145] SESSION E - LEVEL 400 COMMANDS: The next command level is 400. [79/145] [20:55] These users are able to modify the userlist by adding or removing users, and changing their information. The new commands added at level 400 are adduser, remuser, modinfo, clearmode, and status. [80/145] To add a user to the userlist, use /msg X@channels.undernet.org adduser #channel [*!*user@*host] . For W, /msg w@channels2.undernet.org adduser #channel [*!*user@*host] . [81/145] The user@host is optional and is only needed if the user being added is not online. Also, the user must use the password you set the first time he or she logs in, but can change it to their own choosing using the newpass command after logging in. [82/145] To remove a user it's /msg X remuser #channel . You can't remove or add users with equal or higher access than your own. [83/145] If a channel key has been set you can also view it from outside the channel by typing /msg x status #channel, 400+ ops will receive the channel key as part of the channel status info, it is listed near the top of that status beside the modes. [84/145] Once you have the key, you can simply /join #channel-name Key-Word-Here (it is case sensitive). [85/145] If your channel is +i as well, you will need to do the invite command before joining the channel. [86/145] All of these commands can be sent from outside the channel. Should you need to clear the modes to get in, you send your authentication to X/W, and then issue your command. It will work just like you were issuing the command yourself from inside the channel. [87/145] /msg X clearmode #channel, will clear all channel modes from that channel and will have to have the modes reset and an addchan command done by a 450+ op afterwards. [88/145] This command can be useful if someone sets a key on your channel (+k) or sets the channel to invite (+i) while you are away and you can't get in. **NOTE**: The clearmode command should be done as a last resort. [89/145] Modinfo is used to change information about a user in the userlist. These include autoop, access, match, and password. [90/145] For all of these commands be sure you use the nick that is in X/W. If you are unsure, you can do an access check on the user. [91/145] To set autoop, /msg X modinfo #channel autoop - Autoop is a convenient feature that allows you to be opped by the bot when you enter the channel, once you send your password. [92/145] To change a user@host, /msg X modinfo #channel match [93/145] We'll get in to user@hosts and hostmask a bit later in the class. [94/145] To change a users password type /msg X@channels.undernet.org modinfo #channel password or /msg W@channels2.undernet.org modinfo #channel password [95/145] This command comes in handy when a user on the channel forgets or loses their password. [96/145] SESSION F - LEVEL 450 THROUGH 500 COMMANDS: Users with 450+ access have virtually the same control over the bot as the manager. The commands for 450-499 are join, part, addchan, remchan, and limited access to the SET command. [97/145 To make X join, type /msg X join #channel [98/145] To make X leave, type /msg X part #channel [99/145] /msg X addchan #channel saves manager configuration of SET commands. Addchan will also cause X to rejoin your channel automatically if it goes down for some reason. It will also tell X to maintain the channel modes set at the time you issue the addchan command. (ie +nt in most cases). [100/145] /msg x remchan #channel has the opposite effect of the addchan command. You will need to make X join if it ever leaves and it will not maintain any modes. It will also remove any default channel settings. [101/145] The final level is 500 and there is only one new command. Set - This command is partially available to 450-499 users, but is mainly used when you originally set up the channel. The set command has a number of parameters to choose from. [102/145] * MassDeopPro is the maximum number of deops by a single user in a 15 second period. This is to prevent channel takeovers by one user deopping everybody else. For example, with massdeoppro set to 5, I can only deop 5 people in 15 seconds. [103/145] * NickFloodPro is the max number of nick changes by a single user in a 15 second period. [104/145] * FloodPro is the maximum number of lines that can be sent to the channel in a 15 second period. This type flood refers to kicks, topic changes, banlist clearing, etc. This does not refer to text lines that users type in the chat window. [105/145] * AlwaysOp means X will always get ops when it enters the channel. [106/145] * OpOnly disables all of X's commands except op. [107/145] To set any of these parameters Use /msg X set #channel [108/145] * NoOp set to ON means nobody may be a channel operator except X. This doesn't mean you don't have control of X or the channel. If you have access to X and authenticate with it, you can issue commands like kick, ban, etc. through the bot. You just can't be opped yourself. [109/145] * Lang sets the default language for the channel. The available languages are EN (english) DE (deutsch) FR (francais), NL (dutch) and ES (spanish). [110/145] * StrictOp is a parameter that allows only those users with 100 level or higher access to X/W to be opped. [111/145] * Set URL will store the URL associated with that channel, and it will be displayed when a user does a chaninfo on that channel. [112/145] * Set Description stores the default channel topic, think of this topic as the 'theme' of your channel, and like URL, it too will be displayed using chaninfo. [113/145] * With AutoTopic set to ON -- X/W will reset the channel topic to the official URL and Description every 30 minutes *if* the channel is active. [114/145] Please note that a 450-499 Accessed op can only set the AutoTopic, URL, Description, Lang, NickFlood, FloodPro, and MassDeopPro parameters. The Channel Manager can set any of them. [115/145] SESSION G - HOSTMASK CREATION: That covers the basic command for levels 0 through 500. Now we'll move on to hostmasks and user@hosts. [116/145] A hostmask is the way X/W identifies you when you communicate with it. It has benefits and drawbacks associated with it... [117/145] The benefits are clear, X/W knows who is trying to communicate with it and can verify it against its database. It also allows X/W to identify users that aren't in its database. [118/145] The second part means that when a user issues a command such as ban, kick, etc, X/W uses the hostmask to identify the individual to use the command on. This means that X/W will know you regardless of what nick you currently have. [119/145] There are several drawbacks also. [120/145] First, a hostmask can be TOO general, it can allow other users with PPP accounts to appear to be you. [121/145] Example: A user's whois info is JoeLamer ~marlito@ppp23.texasweb.net -- a good hostmask would look like *!*marlito@*.texasweb.net [122/145] The *!* compensates for the ~ in front of the userid (and/or nick)... [123/145] The * behind the @ compensates for the changing ppp port (ppp23) [124/145] For IP Addresses (example: ~user765@205.208.228.63) the same principles apply. Normally the last set of digits are the only ones that change on an IP address. [125/145] So a good hostmask would look like this: *!*user765@205.208.228.* (Never use 2 wildcards * in an IP --> *!*user@120.130.* is ok, *!*user@120.130.*.* is NOT). [126/145] There are 2 ways your host address may resolve. One is a DNS Name (like *gnn.com), and the other is as an IP Address ("unresolved") (like 205.226.43.*). [127/145] Your userid@host must match the entry in X/W for the bot to recognize you. Some servers may resolve the host one way, others the other way... [128/145] Try changing servers to find one that will resolve as you need to match the bot. You can also have a 2nd ID entered in X/W so that it will recognize you BOTH ways. [129/145] A user can have any number of entries in X or W depending on the number of internet accounts they have. Generally you may need to add a second entry to cover his/her IP Address. [130/145] Remember, the wildcards *!* and * replace information that changes each time the user connects to his or her ISP. [131/145] Thanks to new coding, you don't have to worry about any accesses being added with open user@hosts. X and W can now check the user@host of a person being added and will not add it if it is open. This will ensure that all accesses are valid. [132/145] *!*@*, *!*user@*, and *!*@host are all invalid userhosts checked by X and W. If someone tries to add a user with an invalid user@host, they will get an error similar to: -X- Invalid nick!user@host mask. [133/145] Please keep in mind that unresolved addresses require 2 sets of numbers (*!*user@123.456.*) and resolved addresses require 2 names (*!*user@*.host.com). [134/145] You can get more help with hostmasks in #cservice or http://cservice.undernet.org/docs/uhost.html. You can also check to see if a user@host is valid by going to http://cservice.undernet.org/cgi-bin/checkmask. [135/145] I'll save our other topics for next time.. when you can join us for OpSchool Part 2: "A Channel User's Guide to the Galaxy." You'll hear how to get and keep a registered channel, what Undernet considers abuse, survival skills for netsplits, and an all-time favorite. [136/145] Surviving Floods: * A Noah's Ark for all users! * (c) [137/145] This script was made possible with the help of quite a few people. I'd like to thank the originators.. Pucker, MatthewA, Jini, D-in-Tx, Manning, Teal, SeKs, Coccyx, BitBT, Rotundo, Cyke, and more recently, DrCkTaiL, MarkT, Mikey- and Gentle1..and who ever else that I forgot. =D [138/145] I'd also like to thank all the people who volunteer their time to help out presenting this class... without you folks, it just wouldn't be possible to do this! Thanks! [139/145] You now have all the commands you need to help yourself and others make Undernet kinder and gentler. I hope you will try them out, learn them and share with others. [140/145] This concludes our class, thank you for taking the time to attend. [141/145] To get a copy of the latest OpSchool logs while connected to the undernet type: /msg UnderBot get op-part1(or 2).log to receive the log via dcc -or- type: /msg underbot mail op-part1(or 2).log to get a copy via email. [142/145] You can also get a copy of the latest logs at the Opschool website http://cservice.undernet.org/~opschool/ [143/145] And while you're at the OpSchool website you can check out our OpMasters program for ops on registered channels. You can also visit their site at http://www.ajeh.com/cservice/opmaster/ [144/145] (Rev. 11/1/99) [145/145] -channels.undernet.org- [Channel Service: +CService] Hi eagles, and welcome to #CService. Please read the following: CService deals with channel registration and X/W issues only. Ask your question in the *channel* ONCE using plain text without colors or other enhancements and wait for help. Also, don't use script messages like away or autogreets. If you are in doubt, type /remote off right now. For registration info, type /msg Underbot get regist.txt - For X/W commands, type /msg Underbot get xwcoms.txt - To see a list of other documents, type /msg Underbot files - Our email: cservice@undernet.org (If UnderBot is down or split, use /msg CService get instead) Notify changes topic to 'Please type /msg Notify checktime for the next class in your language or goto http://cservice.undernet.org/main/opschool/schedule.html for a complete' Let's begin. We have an ambitious agenda so please.. settle in, turn on your logging.. and take note of your questions to ask during the pauses. [1/120] Good Day, this instructional script is brought to you by the Undernet Channel Service. Please send comments, suggestions, or remarks to opschool@undernet.org -- I'd like to welcome you all to the Undernet Channel Service OpSchool (Part Two). [2/120] We are pleased to announce that the OpSchool Web Site is online and available for viewing at http://cservice.undernet.org/opschool/. Here you can learn about OpSchool Classes, and follow links to many other useful sites. [3/120] Today's session will cover the main issues in Channel operation: registration, preventing abuse, flood protection and more. While this second part compliments the commands covered in Part 1, the classes can be taken in any order. [4/120] As our prior session (Part 1) covered the use of X and W, we won't repeat much in this class. If you have questions about the many powerful commands, please join our "technical" class (OpSchool Part 1) or ask your questions in #cservice. We have a lot of very knowledgeable people there to help you. [5/120] You can also /msg Underbot filelist, for a list of downloadable CSC help files and forms. Or visit our website at http://cservice.undernet.org/ for online forms and registration info. [6/120] Now for the rules of the class. [7/120] [17:36] The channel is set to +m -- moderated to lessen interruptions. [8/120] Do *NOT* change your nick while in class. Auto-Kick on nick change is *active* so as to keep disruptions to a minimum. You will not be allowed back in if you are kicked for changing your nick. [9/120] Do not message the instructor - If other ops are present, you may message them with questions. [10/120] The numbers you see at the end of the sentences are lesson reference numbers. Both you and the instructors can use these as a guide to help you keep track of where you are in the lessons. [11/120] Helping to run a channel is hard work.. and it can often be confusing. Let's begin by covering issues in getting and keeping a channel here on Undernet, so you can make the best use of resources and avoid common mistakes. [12/120] While anyone can open a new channel simply with /join #new-channel-name, most of you probably join channels you know.. where "everybody knows your name." Some are REGISTERED, that is, have the Channel Service bots of X or W, and some are UNREGISTERED. [13/120] The only difference is that in a registered channel, the users have applied to CService to request the privilege of the full-time help X and W can provide to stabilize their established channel.. and have agreed to protect that privilege. [14/120] Many channels decide to remain unregistered by consensus of all the regular users. They hold the channel with rotating Ops to cover throughout the day and use the various mode commands to maintain order. [15/120] NOTE: Both kinds of channels are equally legitimate. "Unregistered" doesn't mean unapproved somehow. Channels without X or W are supported by the IRC ops and registered channels are assisted by CService. [16/120] *MythConception*: Some users seem to think an established UNregistered channel is "unowned" or open for taking. * WRONG! * It belongs to the regular users.. so 1) CService will NOT register it to anyone but the rightful users.. and 2) Takeovers will be dealt with swiftly by the IRC Ops. [17/120] If you wish to apply for registration, do so ONLY for an established channel where the regular users support the idea and support YOU as the manager. CService will not permit channel takeovers via bogus registration attempts. Let's look at what it takes to register a channel properly. [18/120] What about New channels? Note that the registration process is meant to stabilize existing channels, NOT to create new ones. Nor is it meant for channels with only a few users. Realize that the strain on Undernet capabilities requires us to invest our resources wisely. [19/120] An established channel is one that is kept open by visitors, used by more than a few folks, and has a regular userbase. As a guideline, you need at *least* 10 regular users who support you as manager. When you apply, you will need to list their nicks with *real* email addresses (no alias mails! eg: "hotmail.com" or "juno.com") and each will be mailed to confirm his or her support. [20/120] As you prepare to apply, test each email address to insure it works. Note that as the manager, you don't count as one of the ten supporters. Make sure each address is for a separate person and that they expect to receive mail about your application. Bogus or incorrect addresses will automatically bounce at the website. [21/120] Your channel needs to stay open and have sufficient users. Once you have applied, CService will look in often, at all hours over a few days, to check activity. We need to find at least a few users on the channel to consider it active, so make sure your channel is open, running, and has a reasonable userbase *before* trying to apply. [22/120] Let's look at some of what you need to do to apply to register at our website: http://cservice.undernet.org/regist/ . The automated site walks you through each step of the process.. so it pays to be prepared. Realize that Cservice gets 150 applications a day.. over 1000 a week! Help yourself and us by taking the time to follow the steps. [23/120] Have the following information ready *before* you try to apply: 1) Channel info: #channel, description.. 2) Manager info: nick, real name, user@host, email address.. 3) Supporter info: 10 nicks, and real email addresses. It helps to have looked over the website before you begin so you are familiar with the places to respond. [24/120] The channel name must be not currently registered or on probation due to past abuse and it must begin with alpha-numeric characters only. Also, the name *must* describe the channel in some way (eg: #!!!:P is unacceptable). [25/120] The description refers to why users join.. eg: #CarTalk - autorepair. While Cservice does not censor channel content, NO channels are permitted for illegal activities, such as warez trading or other copyright violations, or child pornography (more on this later). [26/120] The manager's information is important so we may contact you if needed. Your real name and your email address will be kept confidential from everyone except your supporters. Make sure you know how to create your user@host, based on your /whois on Undernet. Here is an example: if your /whois shows as -> BigBird is ~tweets@pp44d.nj.birdsnest.com .. then the hostmask looks like *!*username@*host.com --> *!*tweets@*.nj.birdsnest.com [27/120] Note that the *!* in front covers the changing elements like the nick.. and the * after the @ replaces the port, which may change on each connection. You can get more information by joining #cservice or reading the help page at the website. A numeric mask looks like this -> *!*tweets@123.456.789.* , with a * replacing the last 3 digits that change. [28/120] The 10 supporters you enter will be mailed a note about your application. Note that they are supporters, NOT necessarily users you plan to make Ops. Once the channel is registered, the manager is the only access that is in X or W.. you then add those people you choose at the appropriate levels. [29/120] Once you have entered all the information, you will get mail confirming your application. *MythConception!* The mail says your application is *received*..NOT that your channel is now registered. The application remains in incoming for its 10 day posting where users may post comments. CService does various checks on the channel. At the end of 10 days, it moves to "pending" for final review. Total time: 11-14 days. [30/120] Important! Track your application at least every other day - look at the Incoming/ Pending /Rejected /etc lists to locate it. *ALL* the details on it's progress are at the website. Eg: If it is rejected, it only remains for 5 days, so stay in touch to be sure you know the progress. We cannot provide status details in #cservice - you must track your own application. [31/120] *MythConception*: do NOT email channel applications to cservice@.. *all* applications are done through the website, not by mail. If need be, have a friend assist you with a browser to complete the process. [32/120] You may also use the website to Object to an application. Check the Incoming list, find the application and go to the bottom to enter your comments. Objections are reviewed by the Cservice Admins to verify if they are credible. You may also cancel your application here by entering the number you received when you applied. [33/120] Once your application is past the posting and set-up period, you get an email that it is registered (if you have followed my suggestions so far.. hehe). Enclosed will be your initial, confidential password, instructions on what to do to login, ask X/W to join and set up your userlist. There are many experienced helpers in #cservice that can assist, if you need. [34/120] *MythConception*: Don't even think of trying to register *more* than one channel - if you try, you will lose BOTH, pronto! Cservice screens applications for many issues: Known abusers, Prohibited activities, Bogus supporters, Multiple registrations and much more. (Trust me, these folks are tenacious.. so, help by supporting the rules). [35/120] Let's step back a minute.. and correct a misunderstanding that will help you and all your channel visitors when you are on Undernet. It regards how we all act when we are in someone else's home. [36/120] We are *all* guests.. both you and I.. of the servers donated to create and maintain Undernet. The Server Admins allocate a portion of their machines to us at no small expense. The T1-T3 pipes they rent may cost 3,000 dollars a month. A conservative estimate of the cost just to have us here is 300,000 dollars at a minimum. Consider that a minute. [37/120] *MythConception Alert*: Some users misunderstand who pays.. It's the Server Admins. You may pay your ISP, but Undernet receives not one penny. Really. Services are donated out of a singular appreciation for our global community.. to keep this place free, uncensored, and beyond corporate control. Kind of a unique and noble idea, huh? [38/120] The Server Admins, IRC Ops, CService Admins, Helpers and many others are *volunteers* .. donating their own time as well to care for this place. Unpaid. And they deal with headaches we never hear about.. and trouble makers none of us would ever want to meet in "real life." [39/120] So.. I hope all users can appreciate that we are here at *their* kindness and discretion. Welcomed, too, based on how we behave. That means the services, including X/W, are a privilege (not a right) and are granted to those who treat them accordingly. That cooperative effort is mutual and depends on all of us. [40/120] What that means for us all is.. we get what we give. Learn and abide by the rules, report abuse when you see it and.. when you need help, asking gets a whole lot more than demanding. And understand that if you sing for your supper, the guy on the other end of the spoon is working for a song. [41/120] With that in mind, realize that when you register a channel, you agree to take care of that privilege by preventing abuse and understanding the rules. Let's move on to see how to keep your channel from being purged, now that you have worked hard to get it this far. [42/120] There are two main ways you can lose the services of X/W in your channel: Abandonment (or apparent absence) and Abuse. Since this can happen as often out of not knowing as out of malice, it's crucial that you have the facts. Getting X/W purged from your channel is.. a very bad thang ®. [43/120] A channel manager has a large responsibility that takes time and commitment. You agree to take care of what happens, *even when you are off-line*. Start by preventing a purge for your absence or for low traffic. [44/120] Your 500 level access is the key. You need to login to *that* access regularly, with no absence longer than 21 days. You may have noticed that the access command shows if any listed user hasn't logged in for 2 days or more. CService also gets a similar report on all manager accesses. [45/120] What sometimes happens is a manager changes his ISP or hostname and adds the new one at 499. You must fill out a hostchange form (xhost.txt) and mail X (or W)@undernet.org - not as an attachment - to have the new mask *raised to 500*. We usually can make those fixes within 2 days. [46/120] *MythConception Alert*: Some managers simply use the 499 access, neglect to write us and let the 500 access get old. Warning: once the 500 access is 21+ days old, you may lose X/W. With over 12,000 registered channels, we cannot track down managers to remind them. [47/120] Since you may have several accounts (eg: work, home or school), make sure that they are added by CService to insure you stay current. Ask in #cservice for an xhost.txt. [48/120] The userlist is another key to channel activity. How often do users join and get op'd *without* logging in? The result is that those listed with access to X/W appear as away longer than they really are. Beware: channels with few active listed users as well as an aging 500 access may be purged. [49/120] In sum: Prevent your channel from appearing as inactive, low traffic or idle by *always* logging into X/W with passwords! And have your Ops do the same. [50/120] Channels also get purged for abuse by the Ops and users: Abuse of.. 1) X/W.. 2) Users.. 3) Other channels.. and 4) Prohibitions against illegal activities. Since the manager is ultimately responsible, be sure you know what Undernet considers abuse so that you can recognize and control trouble before it puts your channel at risk. [51/120] Undernet has a concise policy towards abuse: *zero tolerance* . The Server Admins and Irc Ops collaborate to detect and remove clones, flooders and others who harass users. [52/120] 1) Abuse of X/W: While kicking or de'opping X/W can't usually be done, any efforts to do so waste resources and trigger an immediate response from CService. Often it is a bot or script, so insist that *all* such bots disable net hack protection so they don't interfere with X/W. [53/120] Open hostmasks are another form of abuse regarding X/W. Never allow a mask like *!*@* , since it matches *any* username at *any* host and some passwords can be guessed. Avoid masks like *!*@*host or *!*name@* for similar reasons - Insist on both a username AND a hostname or domain. [54/120] Any channel that is subject to continued abuse due to problems associated with open user@host masks could find further action taken to end the problems. [55/120] 2) Abuse of Users: Many of you have probably experienced floods or denial of service attacks. We will cover ways to protect yourself a bit later. Any channels harboring or condoning such attacks are at immediate risk and, once purged, may lose the privilege of any re-registration. [56/120] *MythConception Alert*: Mass messages or mass inviting is also abuse. Aside from being annoying and rude, they are a terrible waste of bandwidth and a drain on resources. Alert your users and report any such incidents to #cservice. [57/120] 3) Abuse of Other Channels: Attacks or takeover attempts on other channels, whether registered or not, are grounds to purge X/W. Note: "they started it" is *not* an acceptable reason to retaliate. Report any incidents, instead of engaging in abuse yourself. [58/120] 4) Prohibited Activities: Illegal acts include trading warez or pirated software, software used to damage other systems, stolen services or accounts and involvement with child pornography. Not only will these result in a purge of X/W but also in appropriate criminal charges. Undernet cooperates with responsible authorities to eliminate these forms of abuse. [59/120] While most channels don't harbor abuse knowingly, it's important that you recognize all we have mentioned. Report incidents by sending a timestamped log with relevant /whois details to -> abuse@undernet.org. [60/120] You also prevent abuse by giving Ops access carefully.. appointing only users you know and trust, and by making sure they know what your channel permits. They represent your channel, especially when you are not on-line. [61/120] Coming up next... Surviving Floods: * A Noah's Ark for all users! * © [62/120] FLOOD PROTECTION: Flood attacks are unfortunately not a rare enough occurance on the Undernet. [63/120] What is a flood? Flooding comes in several varieties, including: [64/120] CHANNEL TEXT FLOODS -- (multi lines of text sent to the channel chat window) -- are usually considered floods if over about 5 lines [65/120] NICK FLOODS -- changing nicks over and over rapidly causing the channel window to be flooded with nick change notices [66/120] DCC FLOODS -- attempts to send rapid and massive amounts of dcc chat requests and/or files to you [67/120] and finally CTCP FLOODS -- where a user rapidly sends ctcp info requests to you. These are usually in the form of /ping , /version , /time , etc. [68/120] Most client programs are setup to automatically respond to such requests by sending back the requested info. Therefore, your own system rapidly overloads itself and causes you to disconnect. This is why the CTCP flood is the most troublesome. [69/120] The other floods are annoying, but do not usually cause disconnects (with their associated loss of presence -- and therefore ops -- on your channel) [70/120] One other type of flood is an ICMP flood... This type sends massive data packets directly to your dialer connection and ties up your connection port. Your IRC client program therefore doesn't find time to respond to server pings and eventually times out and disconnects. [71/120] You can recognize an ICMP flood because your program will act like its locked up (no text coming in) and your modem lights will be very busy. Also, if you run a packet tracing program it can sound an alarm. [72/120] Note: For help on protecting against and tracing recent versions of the "blue screen" attacks (muerte, winnuke), join #icmp. Some of these programs send OOB (out of band) packets to freeze Win95 or NT. Also see the Microsoft homepage for approved patches. [73/120] Fortunately, every user has the tools already available to combat flooders in a responsible way. [74/120] NEVER retaliate against a flooder by flooding back. All flooding is wrong and abuses Undernet resources. [75/120] Here is some advice to stop flooders... [76/120] 1. Set up an alias key to *** /silence *!*@* . When a flooder starts, just hit that alias key. It will stop all CTCP from reaching you (use /silence -*!*@* to turn off). See the documentation for your particular IRC client to learn how to set an alias [77/120] Then you can also /ignore *!*userid@host on the offender to silence any channel flooding to you or DCC and /msg. Get their userid@host from a /whois. [78/120] As for ICMP floods, the only defense is to log in connected to a firewall (run by your Provider - ask them for details) , or through a shell account or telnet connection. [79/120] These simple techniques are all any user needs to defend against most flooders. You should also set your DCC file get to "auto refuse" when you see a flood attack start. [80/120] Hopefully you won't be subject to any flood attacks, but these tools should help protect you. [81/120] Now we'll go over how to log a flooder and report them to their Provider to request their account be suspended or removed.. [82/120] CTCP and ICMP flooding are "denials of service" and are forbidden under internet rules (and are also felonies under U.S. law). [83/120] It's a good idea to log your status window at all times (this is where a ctcp flood will show up). In mIRC, just type /log on in the status window. It will be saved to a file called status.log in your mIRC directory. [84/120] When you detect a CTCP flood, you should get the /whois info on the flooder. That will include their userid@port.domain (if the user changes nicks, use /whowas within a minute to retrieve the info). [85/120] Even when a user is logged in with a fake userid, this information can be used by their Provider to trace them and identify the real user. You will need the exact time, date and time zone of the incident also. [86/120] You can setup a simple script to help get that info. NoFlood9.txt (available by typing /msg underbot get noflood9.txt ) gives examples. [87/120] Email webmaster@domain with a short log of the flood, and the userid@port.domain and time/date information. Be sure to send the email right away, many Providers delete their own port utilization logs every 24 hours or less. [88/120] In your e-mail, tell them that an abusive user from their site flooded you in an attempt at denial of service as indicated in the log you are including. Do not *attach* the log - copy and paste it *directly* into the body of your email. [89/120] Tracing ICMP is a bit more involved. In windows 3.1, just enable IP tracing in winsock. The last few IPs shown in the trace from just before you got disconnected will show large packet sizes and the IP of the ICMP flooder. [90/120] When you get back online, try a /dns to get the domain name of the user that flooded you. (this command only works in mIRC, ask someone to do it for you if you don't have mIRC). You can also try emailing to webmaster@ (example webmaster@123.456.78.10) -- just change the last set of numbers to a 10 in for the email address. [91/120] Another way to find the domain name of the IP numbers is to use a utility program like wsPing ... you enter the IP and select lookup or trace. It will try to find the domain name and report it to you. [92/120] Just like with the CTCP flood information needed, you will want to note the exact time and date and timezone when reporting the ICMP flood to the Provider. [93/120] A quick sidenote... While current versions of the most popular irc clients like Mirc, Pirch, and Virc support text enhancements like color, bold, underline, and reverse video, not all irc clients do. [94/120] In addition, abusive use of these features (intentional or unintentional) can disrupt normal channel conversation, flood yourself and/or other users, and is a waste of bandwidth. [95/120] For these reasons we'd like to ask you to use these features sparingly. [96/120] NETSPLITS AND DESYNCHS: NetSplits and server Desynchs are two problems that we live with on the net. [97/120] They can range from merely bothersome to outright trouble. So lets take a minute to review them briefly. [98/120] Netsplits are caused when a hub gets overloaded and the routing buffers fail to handle the flow. Translation: Bad things happen, and a server disconnects from the network. [99/120] The most common symptoms that will show up are; 1) A sudden rash of quits by a group of users ; 2) a /map list showing less the the full 44 servers means that some are split. However, some servers are only connected for parts of the day, for various reasons. [100/120] There is nothing you can do to prevent or cause a netsplit. If the split last more then a few minutes, you might want to change to another server and try to get onto the other side of the netsplit that way. [101/120] If X/W are gone from your channel due to a netsplit, you can always find them by logging into the server they reside on. X is located on Dallas-R.tx.us.undernet.org, and W is on Plano.tx.us.undernet.org. [102/120] Occassionaly, during a netsplit, servers will become desynched.. [103/120] You can recognize a desynch by some or all of the following.. [104/120] -- some people say they can see the topic on the channel and some can't (though there are other reasons this may happen). [105/120] -- users without ops are able to op/deop/etc others (those "invisible" ops are on a desynched server) [106/120] A Desynch is like a partial netsplit. The servers send incomplete (or time-unsychronized) info to each other and get confused as to the status of user and channel modes. [107/120] There isn't much you can do about a desynch except "ride it out" ... or you can log into the server that the desynched ops are on and get the upper hand that way. [108/120] You can also resynch your channel by having everyone (including X/W) leave the channel so that it closes.. then rejoin the channel. [109/120] Remember, commands you send thru X/W to op/deop, ban, etc are then sent to *all* the servers by X/W... therefore, that is a way to effectively override a user that is riding a netsplit and giving you problems in your channel. However, you may be lagged to X/W, or they may be lagged to the person trying to cause trouble. [110/120] I'll save our other topics for next time.. when you can join us for OpSchool Part 1: "The Lost World of X and W." You'll hear how to harness all the amazing powers at your fingertips and become a magician of true cloofulness.. [111/120] Next time... Inside the Secrets of X and W: * A HitchHikers's guide to Undernet for all users! * © [112/120] This script was made possible with the help of quite a few people. I'd like to thank the originators.. Pucker, MatthewA, D-in-Tx, Manning, and more recently, DrCkTaiL, MarkT, Mikey-, and Gentle1..and who ever else has been left out. =D [113/120] I'd also like to thank all the people who volunteer their time to help out presenting this class, without the many people who so generously volunteer their time in Cservice, it just wouldn't be possible to do this! Thanks! [114/120] To get a copy of #opschool logs do /msg underbot get op-part1(or 2).txt Also you can go to http://cservice.undernet.org/opschool/. [115/120] If you ever have any questions about the material you see here in Opschool or about the Undernet in general...please join #cservice. Cservice volunteers will be glad to try to help you with your problem...or if they can't they'll do their best to tell you where to go to find the help you need. [116/120] I hope you have enjoyed being here and have learned something that will make your time on the Undernet more enjoyable...I want to thank you all for listening so politely . [117/120] You now have all the know-how you need to help yourself and others make the Undernet a friendlier place. I hope you will try out what you've learned and share with others. [118/120] This concludes our class, thank you for taking the time to attend. [119/120] Rev 11/1/99)[END] [120/120] eof