IRCNow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
irc:guide [2020/06/26 09:24]
jrmu
irc:guide [2020/07/08 16:35] (current)
koragg Additions/Corrections
Line 44: Line 44:
 Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels. Second. & for channels usable on one server only. Few networks will have or allow the creation of such channels.
 Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS. Note. Channels beginning with ## are # channels, and on Freenode are used for conversation unrelated to FOSS.
 +
 +EDIT: ## vs # is (mostly) only done by Snoonet and freenode and NOT a general practice.
 +
 5. A channel is created when the first user joins, and is destroyed when the last user leaves. 5. A channel is created when the first user joins, and is destroyed when the last user leaves.
 Note. When a client joins a channel, it is created on the server to which the client is connected. Note. When a client joins a channel, it is created on the server to which the client is connected.
 +
 +EDIT: If the channel is set persist (often +P or e.g. +z on Rizon) it will remain even if the last person leaves (as this is implemented in many major IRCd's this should be mentioned). (Also possible with Anope'​s ChanServ without a persistent channel mode)
 +
 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it. 6. Channels, servers, and networks have their own classes of operators, each having a wider range of power than the one before it.
 7. A channel beginning with # exists-- 7. A channel beginning with # exists--
 First. On every server to which a client that is a member of it is connected; First. On every server to which a client that is a member of it is connected;
 Second. On every server through which a message to every server covered by the first item must pass. Second. On every server through which a message to every server covered by the first item must pass.
 +
 +EDIT: Potentially (most likely) wrong as # channels are global thus they exist on the ENTIRE network (all servers).
 +
 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/​query <​message>"​. 8. Clients and servers may send commands to servers. An ordinary message is interpreted as "/​query <​message>"​.
 +
 +EDIT: An "​ordinary message"​ is interpreted as "msg $active <​message"​ since /query is used to message a user
 +
 9. A command always begins with "/"​. 9. A command always begins with "/"​.
 PART II. CONNECTING. PART II. CONNECTING.
Line 66: Line 78:
 Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary,​ has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol. Trillian: For OS X, Windows, Linux, iOS, and Android. Proprietary,​ has a free version and a paid version without ads, resembles an IM client much more than an IRC client. Is also a client for its in-house chat protocol.
 HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters. HexChat: For Windows. FOSS version of XChat, which has a proprietary Windows version that requires payment. Past a certain point, will clear old messages as new messages come in. Has support for mIRC color codes, but not for Chinese characters.
 +
 +EDIT: https://​hexchat.github.io/​downloads.html allows installing HexChat for free and the Windows store version is NOT a must on Win 10, the Win 7 .exe's work perfectly fine
 +
 Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users. Irssi: For Linux. A Text Based client, unlike the 4 others, which are GUI clients. Not recommended for new users.
 There are also other clients that I haven'​t used: There are also other clients that I haven'​t used:
Line 71: Line 86:
 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com),​ or see if the IRC network provides a web chat. 11. For connecting on the go or from foreign devices, use KiwiIRC (kiwiirc.com) or Mibbit (mibbit.com),​ or see if the IRC network provides a web chat.
 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them. 12. To find IRC channels, use irc2go.com. Most clients will include lists of networks with them.
 +
 +EDIT: https://​netsplit.de/​channels/​index.en.php is another good source to mention and more well known
 +
 13. To connect to IRC, it is needed to provide: 13. To connect to IRC, it is needed to provide:
 First. A server key or password. Very few servers will have this. First. A server key or password. Very few servers will have this.
 Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you. Second. A server address. Use the address the network provides for the whole network; a server will be automatically assigned to you.
 Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end. Third. A nickname or nick. If your nick is already in use, the server will let you join with numbers added to the end.
 +
 +EDIT: It is said very few networks require a server password, which is mostly true, why mention it as first step?  Also a username/​ident and a realname/​gecos MUST be provided as well (filled out in your client). Also the part with "your nick is already in use" is semi-true, it is up to the client whether you "join with numbers added at the end" (short version, that part is client specific, NOT server behavior).
 +
 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips. 14. Once you have connected, you will receive a Message Of The Day. This will usually include ground rules for the network and helpful tips.
 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]"​ if you were asked to join a channel, or just "/​list"​ if you're just looking around. 15. From this point on, type "/join [channel, including leading symbol] [password if one is needed]"​ if you were asked to join a channel, or just "/​list"​ if you're just looking around.
 +
 +EDIT: Due to "​recent"​ spamwaves (ongoing for long periods of time) some networks impose a restriction that one must wait a certain duration after connecting to use /list and/or sometimes to /join a channel. Also some clients (e.g. AdiIRC) will work with /join channel (they will join #channel). Perhaps of more relevance is that one may join multiple channels at once via /join #A,#B key-a,key-b (if they need keys add those comma seperated).
 +
 16. Here are some networks: 16. Here are some networks:
 Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net) Freenode: Focuses on free and open-source software and other collaborative projects. Much more centralized and strictly governed than other IRC networks. (chat.freenode.net)
Line 85: Line 109:
 These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try! These are the biggest ones, but there are many small networks. You're liable to find a good conversation and many friends on any of them, so give them a try!
 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "​execute upon connection"​ box. Type /join [channel] [password if one is needed] in it. 17. At this point you may be wondering how to have your client join a channel every time you log on. Your client should have an "​execute upon connection"​ box. Type /join [channel] [password if one is needed] in it.
 +
 +EDIT: Some networks have server-sided autojoin channels, where one would need to /part [channel] if joning them is not desired (or an "​execute upon connection"​ is not necessary if those should be joined).
 +
 PART III. COMMANDS. PART III. COMMANDS.
  Prior reading: para. 9.  Prior reading: para. 9.
Line 103: Line 130:
 Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY. Second. Channel key. Optional. If you happen to forget it, you may ask ChanServ using /cs GETKEY.
 Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite. Note. A /join command may fail because the channel you join is an invite-only channel. Again, ask ChanServ for an invite.
 +
 +EDIT: See EDIT under 15. for information about /join (joining multiple channels, prefix if # not being mandatory in certain clients etc). Also /cs getkey and /cs invite require sufficient ChanServ channel access.
 +
 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'​T BECAUSE IT'S GAY.) It has two parameters: 19. Another command is /msg, or /m for short everywhere except Pidgin. It is used for private messages, (DO NOT CALL THEM DIRECT MESSAGES UNLESS YOU WANT TO SOUND LIKE YOU USE DISCORD WHICH YOU SHOULDN'​T BECAUSE IT'S GAY.) It has two parameters:
 First. The target. Mandatory. First. The target. Mandatory.
 Second. The message. Mandatory. Second. The message. Mandatory.
 +
 +EDIT: The bashing of Discord, especially calling it gay, is uncalled for. Uncertain if /m is as universal as /msg. 
 +
 20. The target can be: 20. The target can be:
 First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore. First. A user. The message might not get through because the user might not take PMs from unregistered users or have put you on /ignore.
 Second. A channel. Channels are set by default not to accept messages from users that are not in them. Second. A channel. Channels are set by default not to accept messages from users that are not in them.
 Third. A service. In most clients, messages to services do not appear in a separate window. Third. A service. In most clients, messages to services do not appear in a separate window.
 +
 +EDIT: Uncertain about "most clients"​. Also technically a service is seen as a user from the perspective of one's client (it just responds via NOTICE by default, so User notices would get as easily lost).
 +
 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "​Leaving"​. 21. Another command is /quit. It disconnects you from IRC. The command takes one parameter: a quit message. It is optional to leave a quit message, but usually people will tell a joke in it. If none is given, it will default to "​Leaving"​.
 +
 +EDIT: Default can also be a different message (e.g. Unreal defaults to the user's nick if no message was given). Also some networks employ static/​fixed/​forced quits.
 +
 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters: 22. Another command is /part. It allows you to leave a channel without disconnecting altogether. It has two parameters:
 First. A channel to leave. Optional, defaults to channel you are typing /part in. First. A channel to leave. Optional, defaults to channel you are typing /part in.
 Second. A part message. Optional, defaults to none. Second. A part message. Optional, defaults to none.
 +
 +EDIT: Like with /join multiple channels may be left simultaneously (/part #A,#B)
 +
 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes: 23. Another two commands are /say and /query. They send a message normally as if no command were being used, and are good for two purposes:
 First. Sending a message beginning with / without triggering a command. First. Sending a message beginning with / without triggering a command.
Line 121: Line 163:
 First. /say works on channels, while /query works on users. First. /say works on channels, while /query works on users.
 Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels. Second. /say takes only the message as a parameter, while /query takes the same parameters as /msg except it is not possible to /query channels.
 +
 +EDIT: /say (at least on mIRC and AdiIRC) only works in the active channel, not a channel of one's choice (source of statement in 24 unclear, perhaps irssi?). Also /say on mIRC can work in queries as well, source: https://​en.wikichip.org/​wiki/​mirc/​commands/​say#:​~:​text=The%20%2Fsay%20command%20sends%20a,​%2C%20use%20the%20%2Fmsg%20command.
 +
 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters: 25. Another command is /invite. For invite only channels, this will be necessary if you want to get someone in. It has two parameters:
 First. The user to be invited. Mandatory. First. The user to be invited. Mandatory.
 Second. The channel to be invited to. Optional, defaults to current channel. ​ Second. The channel to be invited to. Optional, defaults to current channel. ​
 Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ. Note. You have to be an op to use this. If you are already one and can't get in, use ChanServ.
 +
 +EDIT: "​defaults to current channel"​ would be client specific behavior, the "​actual"​ /INVITE command requires both params. Also while being op is often needed for this, UnrealIRCd allows anyone to /INVITE by default. Using ChanServ requires sufficient channel level access through ChanServ first.
 +
 +
 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. ​ 26. Another set of commands are /op and /deop, /hop and /dehop, /voice and /devoice. They will save you a lot of effort if you don't want to use /mode or ChanServ. ​
 Note. To op yourself when you have the right to do so, use ChanServ. Note. To op yourself when you have the right to do so, use ChanServ.
 +
 +EDIT: While /op and /deop are (most likely) very universally supported, it should be noted these are client sided commands.
 +
 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts: 27. To punish people, use /ban and /unban, /kick, or /kickban or /kb if you want to do both. People who are under a plain /ban will not be allowed to send messages to the channel, but will still be able to view messages. If they leave, they can't rejoin for the duration of the ban. It takes one parameter, the mask, consisting of three parts:
 First. The nickname. This will ban everyone using the nickname. First. The nickname. This will ban everyone using the nickname.
Line 132: Line 184:
 Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask. Third. The host. An IP address or range of IP addresses can be used. If there are no legitimate users from a country or state trolls are posting from, you may do /ban *!*@*.[country code] or /ban *!*@*.[USPS code, e.g. wa for Washington].us. Regular expressions may be used for all 3 parts of the mask.
 Note. Timed bans are not possible with /ban or /kb. You must /unban manually. Note. Timed bans are not possible with /ban or /kb. You must /unban manually.
 +
 +EDIT: The commands mentioned here, like above, are client sided (excluding /KICK being server-sided) and if not supported, /MODE +|-b #​channel_name nick!user@hostmask must be used instead.
 +
 28. To find out what someone'​s IP is, use /whois and /whowas. The only parameter is the nickname. 28. To find out what someone'​s IP is, use /whois and /whowas. The only parameter is the nickname.
 Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE. Note. On Freenode and some other networks, YOUR IP ADDRESS IS NOT MASKED LIKE IT IS ON RIZON. IT IS IN YOUR BENEFIT TO OBTAIN A CLOAK/VHOST AS SOON AS POSSIBLE.
 +
 +EDIT: Cloaks on freenode are NOT designed to hide the IP, see https://​freenode.net/​kb/​answer/​cloaks#​cloaks-do-not-effectively-hide-your-ip
 +
 +Also /whois may take 2 params, on some IRCd's <​nick>​ <​server>​ OR <​server>​ <​nick>​. Often /WHOIS <​nick>​ <​nick>​ (the same nick) is supported to query idle + signon time (as well as the away reason if the user is /AWAY) on users who are on remote servers (not the one you are on).
 +
 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can. 29. To know what commands your client supports, use /help. Play around a bit. It'll explain some of the more obscure commands better than I can.
 PART IV. USING NETWORK SERVICES. PART IV. USING NETWORK SERVICES.
Line 150: Line 210:
 Third. MemoServ, for sending memos to offline users. Third. MemoServ, for sending memos to offline users.
 Fourth. OperServ, for use by server operators. Fourth. OperServ, for use by server operators.
 +
 +EDIT: "​Every"​ network is incorrect, e.g. UnderNET and QuakeNet offer services albeit different ones than the usual *Serv ones.
 +
 31. Some networks will also have-- 31. Some networks will also have--
 First. HostServ, for requesting virtual hosts for cloaking IPs. First. HostServ, for requesting virtual hosts for cloaking IPs.
Line 162: Line 225:
 Fourth. For HostServ, /hostserv or /hs. Fourth. For HostServ, /hostserv or /hs.
 Note. The latter, abbreviated forms will be used throughout this work. Note. The latter, abbreviated forms will be used throughout this work.
 +
 +EDIT: These commands are often server-sided and thus not needed to be client-sided. Note that ngIRCd, which IRCNow utilizes, does NOT support these aliases and they must be integrated into the client via scripting/​aliasing etc
 +
 34. Your first command to a service should always be /msg [service] HELP. 34. Your first command to a service should always be /msg [service] HELP.
 Div. 1. NickServ. Div. 1. NickServ.
Line 176: Line 242:
 Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers. Note. Registration is highly encouraged, both for the security of your nickname, as well as because some channels won't let you join if you are unregistered to prevent spammers.
 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours. 36. After you have done so, you will receive an email which will direct you to type /ns CONFIRM followed by a code. The registration will expire if you do not confirm it within 24 hours.
 +
 +EDIT: The user MUST be identified/​logged in otherwise the confirmation code will NOT work. (incase they disconnect temporarily).
 +
 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters: 37. To log in as a registered nickname, use /ns IDENTIFY, with the following parameters:
 First. A nickname, if it is not your current nickname. First. A nickname, if it is not your current nickname.
 Second. The password you registered it as. Second. The password you registered it as.
 +
 +EDIT: Not ALL NickServs allow specifying the nick (albeit most do) (e.g. Rizon does NOT though).
 +
 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "​remember"​ your password, put /ns IDENTIFY [password] in your auto-execute box. 38. Constantly typing it may be annoying, not to mention revealing of your IP. To have your client "​remember"​ your password, put /ns IDENTIFY [password] in your auto-execute box.
 +
 +EDIT: 37. mentions that one can specify the nickname (in most cases) why is this not mentioned in 38?
 +Most networks support SASL authentication which offers the benefit of e.g. occuring during signon instead of after, and only going to the acual service (so if one uses /msg NickServ then NickServ COULD be an imposter, but SASL would only go to the real one). For SASL regarding various clients see https://​freenode.net/​kb/​answer/​sasl
 +
 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters: 39. Sometimes when you get disconnected there may be a copy of yourself still in the channel. To remove this copy, type /ns GHOST with the following parameters:
 First. The nickname to be removed. First. The nickname to be removed.
Line 188: Line 264:
 First. A nick you wish to be in the same group with. First. A nick you wish to be in the same group with.
 Second. That nick's password. Second. That nick's password.
 +
 +EDIT: Often /hs group will be necessary as well to "​synch"​ the main nick's vhost with the grouped nicks.
 +
 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to  supply the password, or have their nick changed. 41. To protect your nickname while you are offline, use /ns SET ENFORCE. This will give anybody who uses this nickname 30 seconds to  supply the password, or have their nick changed.
 +
 +EDIT: This is Atheme specific, Anope would use /ns SET KILL 
 +
 Div. 2. ChanServ. Div. 2. ChanServ.
  42. REGISTER.  42. REGISTER.
Line 220: Line 302:
 Third. FLAGS. Third. FLAGS.
 Note. To change from one to the other, use /cs SET #channel ACCESSTYPE. Note. To change from one to the other, use /cs SET #channel ACCESSTYPE.
 +
 +EDIT: This is near-exclusive to Rizon using an Anope 1.8.x fork, Atheme and Anope 2.0.x let you use all types simultaneously (assuming the respective modules are loased in the services configs).
 +
 44. XOP may be used: 44. XOP may be used:
 First. By /mode. First. By /mode.
 Second. By ChanServ. Second. By ChanServ.
 +
 +EDIT: The various XOP levels (VOP, AOP etc) are services sided sets of privileges, which CANNOT be granted via /mode . The various prefixes can be granted via /mode though with sufficient privileges.
 +
 45. There are four types of ops: 45. There are four types of ops:
 First. Super-ops (SOP). First. Super-ops (SOP).
Line 228: Line 316:
 Third. Half-ops. (HOP). Third. Half-ops. (HOP).
 Fourth. Voiced people. (VOP). Fourth. Voiced people. (VOP).
 +
 +EDIT: Sometimes a QOP (quintessential op) is a type as well, like a co-owner (may have different names at times).
 +
 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added. 46. To add people to each class, use /cs #channel xOP [hence the name] with the single parameter of the nickname of the person to be added.
 +
 +Unless xOP is meant to be replaced with the real levels (AOP, VOP etc) (which is NOT made clear through the wording) this advice literally using xOP is incorrect. ​
 +
 47. Each level of op, except voiced people, can: 47. Each level of op, except voiced people, can:
 First. Ban and kick people at or below their level. First. Ban and kick people at or below their level.
Line 274: Line 368:
 Third. + or - followed by one-letter "​flags"​. Third. + or - followed by one-letter "​flags"​.
 Note. +* to add all privileges, -* to remove all. Note. +* to add all privileges, -* to remove all.
 +
 +EDIT: /cs levels is Anope exclusive, and NOT universal in all services out there.
 +
 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well. 62. It is absolutely necessary to be registered to register channels as well as be opped under either of these three systems. (Unless you use /mode, which expires every time you log off.) This is another incentive to register and have everyone in your channel register as well.
 +
 +EDIT: "oped under one of these three systems"​ to register a channel is incorrect, the user must be oped which is correct. If they are oped via xOP or ACCESS or FLAGS the channel already is registered.
 +
 Div. 3. MemoServ. Div. 3. MemoServ.
  63. MemoServ.  63. MemoServ.
Line 290: Line 390:
 65. MemoServ can be used to send messages to channels. ​ 65. MemoServ can be used to send messages to channels. ​
 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel. 66. It is possible to set up a system where the ops of a channel talk to each other while private conversation continues unawares below. I do not believe this system is doable under any other protocol. This will greatly enhance the experience of managing a channel.
 +
 +EDIT: The rough setup/​layout of such a system requires elaboration. Personal "​bias"​ (I believe) should be avoided. If the system is using channel memos exclusively for communication,​ there is (often) a hard-enforced limit of how many memos a user/​channel can store at once.
 +
 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS. 67. By default only super-ops and the owner will get memos to a channel. If you want people to get memos but do not trust them with super-op powers, your only choices are to use ACCESS or FLAGS.
 68. MemoServ stores and numbers memos so you can look back on them whenever you want. 68. MemoServ stores and numbers memos so you can look back on them whenever you want.
 +
 +EDIT: Memos to channels are Anope-specific (this guide appears a bit strongly based on Rizon).
 +
 Div. 4. Miscellaneous. Div. 4. Miscellaneous.
  69. VHosts.  69. VHosts.
Line 297: Line 403:
  71. Note for using all services.  71. Note for using all services.
 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "​virtual host") is in the form of a domain, but does not actually resolve. 69. To hide your IP on most servers, ask HostServ. One will not be automatically given, but will be approved or rejected at network discretion. Pay attention to the kind of people that use the network and the kind of vHosts other people have to maximize your chances of approval. A vHost (short for "​virtual host") is in the form of a domain, but does not actually resolve.
 +
 +EDIT: Most modern networks will cloak the hostname by default. A vHost CAN resolve technically speaking, but is often rejected due to network policies (but if one can prove ownership over the domain, it MAY be granted as vHost, this is once again up to the network'​s discrtion).
 +
 70. On Freenode, there is no HostServ. Instead "​cloaks"​ (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/​role/​user. If you do not meet that project'​s policy for letting you have cloaks, you can get an "​unaffiliated"​ cloak, in the form unaffiliated/​accountname. 70. On Freenode, there is no HostServ. Instead "​cloaks"​ (their name for vHosts) are to be manually requested in #freenode. If you are affiliated with a FOSS project, you may request a cloak of that project, in the form project/​role/​user. If you do not meet that project'​s policy for letting you have cloaks, you can get an "​unaffiliated"​ cloak, in the form unaffiliated/​accountname.
 Note. It is possible through manipulating ChanServ to reveal a person'​s IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor. Note. It is possible through manipulating ChanServ to reveal a person'​s IP. The details will not be discussed here, both because I cannot see a reason someone would want to know this without malicious intent, and because I personally do not know how. But the take-away is that cloaks are not completely secure and complete security requires a VPN or Tor.
 +
 +EDIT: Personal wording should be avoided, also using a VPN does not guarantee one is "​completely secure",​ this is still shifting trust in the end, and a VPN provider can be dodgy/have malicious intentions as well (tl;dr: one should not blindly trust a VPN 100% with one's sensitive data).
 +
 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ"​ completely right. 71. Unlike private messages with users, messages to services are NOT in a separate window, except in Pidgin. Thus it is EXTREMELY EASY to accidentally divulge your password if you mistype something. For that reason I would recommend not using a password you use anywhere else, and always double checking if you have the prefix "/msg NickServ"​ completely right.
 +
 +EDIT: Advice usually given is /query NickServ so that NOTICEs do not get lost. This has nothing to do with *Serv bots et al being services, but simply responding via NOTICE by default (can at times be optionally changed to use PRIVMSG).
 +
 PART V. CHANNEL AND USER MODES. PART V. CHANNEL AND USER MODES.
  72. Divisions of modes.  72. Divisions of modes.
Line 311: Line 426:
 Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel. Second. Channel modes, set by an op upon a channel or users in it, or by a server or service upon a channel.
 Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work. Third. Server modes, set by a server operator upon their server, which is beyond the scope of this work.
 +
 +EDIT: Server modes? Modes set upon a server? Source required as this seems to be more theoretical "what could be someday"​ by some RFCs (which also stated nicknames would become obsoleted).
 +
 73. Channel modes are in this work considered in two classes: 73. Channel modes are in this work considered in two classes:
 First. Modes set by an op upon a channel. First. Modes set by an op upon a channel.
Line 322: Line 440:
 Second. There must be as many modes as there are parameters. Second. There must be as many modes as there are parameters.
 Third. The same action cannot both add and remove modes. Third. The same action cannot both add and remove modes.
 +
 +EDIT: Incorrect, it is possible to "mix up" modes e.g. "/mode #channel +b+e troll1*@* good_user1!*@*"​ is permitted. (Also correct syntax should be used in examples, as in troll1!*@* troll2!*@* etc). 
 +Second is incorrect as well, there are modes which require no parameters, thus one could e.g. set 1 ban, but also moderated and secret. so "/mode #channel +bsm troll3!*@*"​ is valid.
 +Third is incorrect as well, one may set AND remove modes simultaneously.
 +
 Div. 1. Channel Modes. Div. 1. Channel Modes.
  76. First step of channel modes.  76. First step of channel modes.
Line 355: Line 478:
 Fifth. To voice someone, +v. Fifth. To voice someone, +v.
 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode. 83. It is possible to use /mode to op people through masks as well as nicks. This may be useful on Freenode.
 +
 +EDIT: Incorrect. /mode #channel +o requires a nickname as a paramemter. Perhaps using ChanServ to op by masks was meant?
 +
 84. To prevent unregistered users from joining, +r. 84. To prevent unregistered users from joining, +r.
 +
 +EDIT: As this is a common countermeasure recommended,​ it should be noted that often the chanmode is +R.
 +
 85. To prevent unvoiced users from talking (but not from viewing), +m. 85. To prevent unvoiced users from talking (but not from viewing), +m.
 Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers. Note. You may want to use LEVELS SET AUTOVOICE 0 to auto-voice people, and then strip voice when they become troublemakers.
 +
 +EDIT: Once again Anope specific advice, for Atheme one may wish to /cs flags #chan *!*@* +V (do note that all an abuser would have to do in either case is leave and rejoin to get voiced again).
 +Also 0 in Anope should mean "all users" but actually means "all registered users"​. In effect, -1 is "all users" (despite the help files saying otherwise).
 +
 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M. 86. To prevent unvoiced AND unregistered users from talking (but not from viewing), +M.
 Note. The above three measures are all very good defenses against low-effort trolls. Note. The above three measures are all very good defenses against low-effort trolls.
 +
 +At least partially incorrect, +M often only blocks unregistered users from speaking. If they are registered but NOT voiced, they are usually permitted to speak. Also +M CAN have different functionalities.
 +
 Div. 2. User Modes. Div. 2. User Modes.
  87. +R.  87. +R.
Line 365: Line 501:
 87. To block private messages from unregistered users, +R. 87. To block private messages from unregistered users, +R.
 88. To hide channels the enquirer doesn'​t share with you, as well as sign-on and idle time from /whois, +p. 88. To hide channels the enquirer doesn'​t share with you, as well as sign-on and idle time from /whois, +p.
 +
 +EDIT: This is Unreal and Rizon-specific advice, on InspIRCd one would use user mode +I to hide channels, on freenode user mode +i (set by default) hides non-common channels. Also of note that Unreal'​s and Insp's chan hiding do NOT hide the idle + signon time. (Again the guide appears to cater a lot to Rizon, then to freenode).
 +
 Note. Freenode does that automatically,​ but MOST OTHER NETWORKS DON'T, and thus this information,​ in conjunction with others can be a versatile tool for investigating trolls. Note. Freenode does that automatically,​ but MOST OTHER NETWORKS DON'T, and thus this information,​ in conjunction with others can be a versatile tool for investigating trolls.
 +
 +EDIT: freenode no longer sets +R by default.
 +
 THE END. THE END.
 TABULATION OF MOD ROLES. TABULATION OF MOD ROLES.