IRC Guide

Discussion in 'Site Discussions & Suggestions' started by Frederica Bernkastel, Jul 12, 2010.

  1. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    IRC FAQ & Tutorial
    News and Updates
    23rd July 2010 - eggdrop 1.6.20 has been released, with quite a few improvements. (Sadly some of my old modules won't recompile :<)
    30th July 2010 - after over a year, mIRC has finally been updated to version 7.1, it is now completely unicode, and noticably faster.
    1st August 2010 - updated guide to include services guide, news section, screenshots and more.

    Note: This guide is in two parts, click here to skip to the second post

    1. What is IRC?
    Internet Relay Chat is a popular communication protocol that has been in existence since August 1988.
    It exists mainly as a system of channels (group conversations) and private messaging (private conversations) on a server (or series of servers in a hub & leaf network configuration for latency).
    Despite it's age, it has proven resilient; it is still widely used for a variety of purposes.


    2. Basic GBAtemp Connectivity Guide
    Mibbit Widget Here
    This section is purely for the very basics of connecting to GBAtemp IRC. I recommend this if you have no interest in anything beyond the bare minimum requirements of being able to talk to other people. It presumes that you are a Windows user, but the same effects can be achieved simply by adapting the instructions onto another IRC Client.
    The video above illustrates setting up for's server & main channel, I will expand upon the video below.
    • Step 1) Download an IRC Client. In the video above, I have chosen mIRC for obvious reasons. This involves browsing to, clicking the "Download mIRC" button, then downloading the installer from the CNET mirror.
    • Step 2) Install it. This is a fairly simple procedure, and you shouldn't need to modify any of the default install options.
    • Step 3) Click "Continue", if necessary you can switch over to another client/crack it/pay for a license.
    • Step 4) Insert your information into the fields, Nick is the name under which you'll appear on IRC. Alt Nick is the Nick you'll switch to if there is already a connection with your primary nick. Full name will appear as your Real_name, its your choice whether to put your real name or not. Email address is used by default for your username/ident, but you can put an address regardless of whether it is real or not.
    • Step 5) Add as an IRC Server (for convenience). Description can be anything, but I recommend keeping it relevent. IRC Server is Group merely simplifies things, your choice whether or not to use one. Port is 6667. Leave password blank unless you are o:lined
    • Step 6) Connect to the Server you just added. If you connect successfully, after the "Favourites" window pops up, you can either ignore it, or add as a favourite channel. You may want to make it auto-join (which means that it is joined automatically). If you aren't able to connect, skip to Connection Troubleshooting.
    • Step 7) Respect the rules on the MotD (see the "GBAtemp" or Server tab.) Remember to talk to an Operator if you run into any problems, and if you get banned/sanctioned to take it up with the Operator that did it. Remember that there is a rule about keeping IRC Issues ON IRC. Now that you've established the basics, you may wish to read the rest of this guide for your own convenience. In particular the NickServ segment in the connectivity section.
    • Connection Troubleshooting) You may run into several difficulties when attempting to connect. The most common one would be a timeout. This is caused by the internet traffic not reaching it's destination, and either means that you aren't connecting to the right host/port (remember to try and that the port is 6667, that your ports aren't open, or that the traffic is being filtered/shaped. You'll have to take this up with whoever owns the network & possibly your ISP. Another common difficulty is "Software caused connection short", this is caused by local software handling connections incorrectly (for example uTorrent/BitTorrent can can cause this). Feel free to ask questions in this thread, that's what it's here for.

    3. Choosing a client
    There is an IRC client for virtually every platform out there, any system supporting TCP/IP networking can support the IRC protocol,
    as such there can be difficulty with choosing the right IRC client.
    I'll cover a few example clients.
    Currently believed to be the most popular IRC client in use, mIRC is a shareware client written mainly by Khaled Mardam-Bey. It features a unique scripting engine, and it's syntax has even made it to This allows for a lot of customisation, with a large variety of user-contributed scripts and plugins existing.
    Another popular client, XChat allows for less customization, but is a lot lighter and faster than mIRC. It allows for scripting, but not using a native language, instead opting (by default) for languages including perl and python.
    This is an innovative FREE client, attempting to bring more features to IRC (including user profiles), with a lot of themes existing for it. I don't have much experience with this client, so I am unable to say much more about it.
    This is a text-based IRC client, so is operated from a terminal window, but is widely regarded as the superior to.. well every other app out there. Widely used with GNU Screen to allow it to run in the background. It implemented an innovative window system, although now windows are regarded as standard.
    Currently the oldest maintained IRC client around, IRC 2 is very lightweight, yet doesn't offer many advanced features that other clients do offer.
    A popular open-source IRC client for Mac OS X. It was used irssi as it's core, but now has it's own IRC protocol engine. It is very user friendly, and supports several scripting languages including JavaScript and AppleScript.
    Colloquy Mobile
    The most widely used IRC client on the iOS platform (although FlowChat beats it in regards to features and functionality), Colloquy Mobile obviously has no scripting engine, but uses iOS to the fullest extent, for example using the native YouTube app for YouTube videos and allowing track announcing/minimal iPod controls.
    I have included this purely out of respect as it manages an impressive feat; not only is this client the most used DS IRC client, but also the most hated IRC client of all time. It's user interface is ridiculously easy to use, and it is surprisingly advanced considering it's platform. However, it is limited by the crappy WiFi PAlib WiFi library.
    Mibbit is a popular in-browser IRC client, and instead of connecting locally, it connects through it's own servers. This allows users to connect to IRC even if IRC traffic is filtered/the ports are blocked. It is usually used as a quick widget, and natively embeds posted images, videos and other content. It allows extended customisablility, to the extent where it can be made to look like a real IRC client.
    A java applet IRC client intended for generic mobile platforms (i.e. `dumb`phones) Although the client itself is very good (considering it's on a mobile, and written in java), it is let down by the phone itself (given that most `dumb`phones have no qwerty keyboard/touchscreen/other features.)
    A rather decent IRC client for platforms running Android (remember that this isn't just phones, Android has been ported to loads of systems). It seems more feature rich than popular IRC clients on other mobile platforms, and is completely free.
    The final IRC client I will be covering, this is actually a firefox plugin. Using CSS users can customise this as much as they want. Most notably used by Mucus.

    It is important to note that there are many, many more clients than I have listed above , and preference is an important factor when it comes to IRC clients (for example, people may prefer CGI:IRC to Mibbit etc..)


    4. Connecting to a server
    Well, now hopefully you have decided upon a client, and have set it up. The next step is choosing a server to connect to, and even more importantly, connecting to it.
    Larger IRC networks have multiple servers, so you can connect to any of these servers and still access the same resources as anyone else on the network.
    Popular IRC networks include:
    but in this case, I'll be using the GBAtemp IRC Server as primary.
    Usually IRC Servers listen on port 6667, however GBAtemp listens on port 6667.
    The standard command for connecting to a server is /server
    so in this case:
    Some IRC clients don't use ':' for servers, and use spaces or slash/stroke.
    Alternatively, you can just set the server to autojoin.
    Now, If this has worked correctly, the first thing you'll notice is the MotD (or Message of the Day). This usually contains recent server news and server rules.
    A few things you should pay attention to.
    Firstly, is your nick. This is the handle that you will appear as in conversations. Most IRC clients allow you to change this using the /nick command.
    /nick Newbie
    Secondly, you should look at usermodes. I'll explain these more in section 5, so you can ignore these for now.
    Finally, I'd advise you to look to see if the server supports services. In this example, i.e. GBAtemp, the server is UnrealIRCd with Anope Services.
    Services basically help users with their IRC experience, and are the only major difference to IRC back when it was a new concept.
    Popular services include:
    • NickServ
    • ChanServ
    • MemoServ
    • OperServ (or RootServ)
    • HostServ
    • HelpServ
    • BotServ
    Whether or not a network has services can greatly impact on your options on the network. For example it is much more difficult to maintain a presence and/or a channel on a network without services.
    A common test for the presence of services involves NickServ.
    /msg NickServ help
    or if the server has the correct server aliases in place
    /NS help
    If you get a notice flood response (with the documentation in ), then you're in luck. GBAtemp as I have already mentioned has Anope, a popular service package, installed.
    You'll want to register your nick to prevent others stealing it, and to allow yourself the use of the other services.
    /msg NickServ REGISTER password email
    Replace password and email with your desired password, and your email address (to facilitate a password reset).
    Of course, registering with services is nothing more than a convenience, you're still able to communicate with others even if you haven't registered.


    5. Channels and Channel Modes
    Now that you're connected, you're probably wondering what to do next. Well, you're able to join any channel you like and start talking. However, you'll probably want to know what channels people are on.
    You can get a list of channels using the /list command
    After you've found a channel you like, you can join it using the /join command, however it is important to understand that (on normal servers) channels are prefixed with a hash (#)
    So to join the example channel for this guide:
    After you use this command, you'll be in the channel. You can now start talking with/to/at other people.

    But this guide doesn't finish here, as you'll probably be wanting to know quite a bit more first.
    For example, people in the userlist may have symbols prefixed to their nicks, i.e. ~, &, @, %, +. You may also have noticed that colour codes aren't allowed, some people are banned, you cannot change your nick or other effects of channel modes.
    Modes can basically control aspects about a channel/user, and are amazingly useful to both Opers and Users alike.

    As each server uses different channel modes, it would be practically impossible, and partially useless for me to explain them to you. Luckily, there is a database with all the current known modes located here:
    A few common ones, however, are:
    • +n No External Messages, this basically prevents people spamming the chan without joining, sending messages while being banned and other things. It is rare to see a chan without this mode set.
    • +t Oper sets topic, this stops people without operator status (goes down to half-op enabled servers, where applicable) from changing the channel topic. Usually goes hand-in-hand with +n
    • +b Ban, this is an interesting one. Normally a ban will ban a hostmask (i.e. *!*@* ) would ban all people with in their hostname. However, on some servers it can be coupled with various prefixes for other effects including mutes and chan-wide-bans. Normal ban will prevent user talking, changing nick, or joining. Unless they have +v
    • +o Channel Operator. People with this mode or higher (or lower if server supports HalfOp) have the ability to do pretty much anything in a chan, exceptions depending on server. People with this mode will have an @ prefixing their nick. Not to be confused with IRC Operator.
    • +q Channel Founder/Owner. This mode allows COMPLETE access to the channel, cannot be kicked by anyone (except themselves). These people will have an ~ prefixing their name (if server supports it). Not to be confused with
    • +v Voice, aka immunity from everything except getting kicked. Similar to an exempt. People with this mode will have a '+' next to their name
    [13:37] <~Owner> I am a channel owner, I have complete access.
    [13:37] <&Admin> I am a channel admin, I have higher access than Operator, but less access than Owner.
    [13:37] <@Operator> I have access to more than Mr Half Operator, but not everything.
    [13:37] <%HalfOperator> I have minimal access to the channel, only really basic user moderation abilities.
    [13:38] <+Voice> I have no power whatsoever, but I am exempt from mutes and bans.
    • Normal = n/a = Access Level 0
    • Voice = VOP = Access Level 2-3
    • Halfop = HOP = Access Level 4
    • Op = AOP = Access Level 5
    • Admin = SOP = Access Level 10
    • Founder = n/a = Access Level infinite
    Each channel will likely have it's own rules, so I suggest that you adhere to the rules as much as possible.

    It is actually possible to treat a channel as a normal entity. So for example, you can NOTICE it, CTCP it, however doing so will most likely get you banned.

    As far as starting your own channel goes, it's as simple as joining an empty channel. There, it's yours. You'll probably want to ensure that your channel isn't taken over by registering it with services.
    /msg ChanServ REGISTER #channelnamehere password description
    Replace password with the password you want the channel to have. I suggest that it is different to your Services password, so you can share it with other users without compromising everything.
    after your channel is registered, you can do quite a lot more with it (it becomes easier to keep/maintain), however I'm not going to cover this point right now (perhaps at a later stage) as the use of ChanServ is explained perfectly well within the services themselves.
    /msg ChanServ help

    6. User Modes
    Now that I've covered basic channel modes, it's time to explain user modes.
    These are less exciting than Channel modes, but can still benefit you.
    As before, there are many different modes depending on server, so serves as a useful guide.
    I'll cover a few common modes that may be of interest.
    • x Hidden Host, this usually hides your hostname so that people can't see where you're coming from. Different networks handle this differently.
    • i Invisible, you can't be found unless the other party knows your exact nick, or is on one of the same channels that you are on. Most servers set this automatically.
    • s This simply allows you to see advanced server information, ranging from server info to Oper Kills.
    • w Wallops, you can see messages that ircops send out.
    If you're concerned about User modes, I highly recommend that you do go and read up on them.
    I haven't documented the Oper modes, as it is unlikely that most people will need to know about them.


    7. IRC Services
    IRC Services are the result of modernization in IRC Servers, they are similar to bots (to all intents and purposes, they are basically the same thing), and are by definition an inclusion in an IRC server.
    IRC Services have ranging functions, but generally are the standard management packages.
    Anope appears to be the most widely used IRC Services package, so I will cover it's basic usage.
    To start off with, you MUST have a registered nick, which involves NickServ.
    /msg NickServ register Password
    After registering, you will have to identify before using that nick, to do so simply:
    /msg NickServ identify Password
    Different service handle different things.
    NickServ handles your main user, and personal settings, such as your greet (something that will appear if you have access in a channel)
    MemoServ is used for sending memos, so can be used to send a message that doesn't disappear after reading (can be sent to users and channels for chanops)
    ChanServ controls channels, which need to be registered with it first, I'd recommend looking at the channels section for specifics.
    BotServ allows for artificial bots to be placed in channels, allowing the use of fantasist (triggers for chanserv commands) commands, and can perform ChanServ actions using symbiosis (as if it was ChanServ)
    OperServ is used to make the jobs of IRC Operators (no-one else!) easier, it allows for klines, glines, service dropping, channel takeovers, anything basically. It also auto-sets operator modes on ircops without them having to identify to the server itself (making it easier).

    The commands for any service will be given in it's documentation, which can be reached using the universal Help command.
    /msg NickServ help
    /msg ChanServ help
    /msg MemoServ help
    /msg OperServ help (although this will only work if you are a server operator)
    /msg BotServ help
    to recieve additional help with on a particular command, simply add it after the "help" like so:
    /msg NickServ help set greet

    8. IRC Bots
    IRC bots are essentially user-less IRC clients, performing some action (usually something that is triggered by something in the chat.), they're usually used to enhance an IRC channel, and there are many different kinds of IRC bot.
    The most common type of IRC bot, is a standard channel enhancing bot (a.k.a. infobot), these often provide assorted search engine results and have various other website integration (usually through the medium of scripts).
    Other common IRC bots range from simple Channel-Management Bots (acting like services would), NewsBots (posting news, usually from RSS feeds), EchoBots/Pre-Bots (used for informational purposes/alerting within the scene), XDCC/FServe Bots (used for automated filesharing, XDCC using DCC and FServe using FTP), Server drones (these are bots that allow a user to control part of a server from an IRC channel/query, for example Source Dedicated Server.). There are of course, many more, but I can't possibly cover each and every type of bot.
    Some of the most popular IRC bots are:
    Eggdrop Eggdrop is the most popular IRC Bot platform, and it's C module & TCL Scripting allow for some very varied bots, for example the famous MegaHAL module allows eggdrops to 'talk'. My IRC bot of choice. There are a lot of resources available for eggdrop, and egghelp is a great hub, better than the official site.
    Psotnic Psotnic is a nice and light platform for maintaining IRC channels, favoured over eggdrop in some cases, as it is less demanding and supports forced channel joins.
    energymech Another IRC bot, this focuses on features and functionality rather than stability and resource usage. Usage only recommended with decent hosting.
    Rbot Rbot is a very useful bot, written in Ruby, that has extended customisablility, and it even rivals eggdrop in functionality. However, just like eggdrop, this isn't for novices, and will require said customisation to make it useful.
    irssi `script-bots` These are usually a bunch of simple scripts running on a detached (usually via screen) irssi client.
    mIRC `script-bots` I've included this for the same reason as I included clirc in the clients section. Bots being run off mIRC are neither light, nor stable, and are usually run by people who aren't adept enough to run a *real* bot. Good for beginners, however running one will most likely get you banned from most (active) IRC channels.
    There are also some completely useless bots, intended for fun use, Some examples include:
    Omegler IRC Bot This is one of many Omegle bots available, but it is a good example of one. This, when run, will connect random omegle users to an IRC channel, and is a good way of promoting activity in an IRC channel.
    GSRPG Idle RPG based on the original IdleRPG, this is a game where users idle in one channel, while they contribute in another, and level up by not doing anything in the idle channel. Including nick changes, posting messages, or even quitting/parting, although rules vary in different games. I'm currently running a session on GBAtemp, see here.
    buttbot another chatbot, this randomly takes things other people have said and makes it amusing.
    As with IRC Clients, there are a lot more IRC Bots out there; it would be impractical to cover all the ones I'm aware of, not to mention all the ones in existence.

    In (and in a lot of other channels), I am running one bot in particular, known as RAntBot.
    Now RAntBot is an eggdrop running a variety of different scripts and modules, but it's primary functions are:
    1) Providing Google results using the !g command, as well as other web services (ranging from Wikipedia to UrbanDictionary to WikiTemp)
    2) Collecting IRC statistics
    3) interfacing with my IRC bot network.
    see below for usage information.
    A list of most triggers available can be obtained using the "!bot all" command

  2. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    9. Key Terms
    • K:line ban from a server, this applies to one server within a network
    • G:line global K-line, this is a k-line from every server within a network
    • Z:line a more extreme version of a g:line/k:line, it can be applied to IP ranges without waiting for an ident response before killing.
    • O:line this is another ba-- just kidding, this gives a user Server Admin privilages
    • vhost Although not technicly the correct term for it, a vhost a spoof host that disguises/masks a person's host/looks cool. For example, mine is whereas my hostname is "". Most servers allow you to request a vhost using the /hs REQUEST HOSTNAME.HERE command, however on GBAtemp you'll need to ask an IRCop such as Narin.
    • muteban this is a ban affecting only the user's ability to contribute to a specific chan.
    • SysOp System Operator, they have access to everything. See IRCop
    • Network Admin Network Admin, they have same privilages as SysOp (well, globally) and are responsible for keeping a network working smoothly. See IRCop.
    • IRC Operator IRCOps have the ability to perform server wide commands, for example banning/kicking a person from a server, or taking over a channel.
    • PRIVMSG this is within the IRC protocol, the name given to the /msg command. used for contributing towards a channel, or in private messages.
    • notice similar to a PRIVMSG, only used for different purposes, somewhat used for relaying information instead of general conversation.
    • Query the correct name for a private message, but people seem to alternate between the two terms, so I don't think it really matters too much.
    • Action an action is like a PRIVMSG, except it is rendered by clients differently to normal IRC converse, so gives the apperance of a user doing something. For example "[12:01] * User1 slaps User2".
    • CTCP "Client To Client Protocol" is extended IRC protocol, used by IRC clients to query each other. It also allows messages containing null bytes (byte value 0) and newlines, which the standard protocol doesn't support. CTCP Action is how actions are implemented (i.e. /me ). CTCP replies are NOTICEs.
    • DCC "Direct Client-to-Client" is extended IRC protocl, in which the server is used to establish an independent connection between the two clients. Used for filesharing and secure chats. There is a varient of DCC around known as SDCC, "Secure Direct Client-to-Client" which implements more secure handshaking.
    • BNC/Bouncer An IRC Bouncer, first and foremost, is an IRC Proxy. It serves as something that a client connects through to connect to a network, although a lot of popular bouncers offer enhanced functionality. Some popular IRC Bouncers include ZNC, PsyBNC and irssi running with proxy mode enabled.
    • Fantasist the name given to bots performing triggered mode commands (kicks, bans, information)
    • Symbiosis the practice of a botserv bot performing the actions of chanserv alongside fantasist ones.
    10. Relevent Sites
    11. Notes
    Services really are worth reading up on. After you understand the basics, everything else becomes easier to understand.
    • Better Descriptions
    • Add Screenshots? (especially to GBAtemp basics guide)
    • more information relevent to GBAtemp
    haha, just found this (see this for explaination)
  3. Vulpes Abnocto

    Vulpes Abnocto Drinks, Knows Things

    Former Staff
    Jun 24, 2008
    United States
    It's true that there are many IRC guides available online,
    bit I like having one specifically for GBAtemp.

    Thank you Antoligy!
  4. iFish

    iFish Slower than a 90s modem

    Jul 11, 2009
    Montreal, QC
    I like it. [​IMG]

    Very good for noobs.

    Remember. "i downloaded IRC" [​IMG]

  5. Guild McCommunist

    Guild McCommunist (not on boat)

    May 6, 2009
    United States
    The Danger Zone
    I thought there was a GBAtemp IRC guide already, but it was quite outdated anyways.

    You also forgot the big sign that says "DON'T MAKE IT 4CHAN". [​IMG]

    Anyways, nice, I like it.
  6. Urza

    Urza hi

    Jul 18, 2007
    United States
    Except the only information unique to GBAtemp is the one line containing the server and port.
  7. Guild McCommunist

    Guild McCommunist (not on boat)

    May 6, 2009
    United States
    The Danger Zone
    There's gonna be enough retarded people who won't know anything about "servers" or "ports" that need a guide.

    And yes, we have to compensate for stupid people.
  8. p1ngpong

    p1ngpong Irish ex captain

    Former Staff
    Apr 18, 2008
    DS Scene
    This is more of a general guide for IRC, which is fine and everything but the thing people most frequently have issues with is actually configuring a client and connecting to our server in the first place. An updated version of this integrated into his guide would make it far more relevant to GBAtemp specifically.

    Good job though anyway.
  9. Urza

    Urza hi

    Jul 18, 2007
    United States
    Which would be as simple as linking to an off-site guide, with the aforementioned line placed under the link.
  10. flameiguana

    flameiguana that's not me

    Jul 12, 2008
    United States
    I think a copy of this should go under Site Discussions & Suggestions, along with a list of disallowed clients for the channel (if any). That is where I have seen most threads asking for help or people not having access due to using CLIRC or Mibbit.
  11. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    I'll be changing stuff next draft, and will be adding a mini-tutorial on configuring + connecting. Thanks for the suggestion.
  12. mthrnite

    mthrnite So it goes.

    Former Staff
    Jun 30, 2006
    United States
    th' south
    Thanks Ant, looks good. Keep filling this sucker out, that's why I stickied it.

    flameiguana: good suggestion, will consider.
  13. Devin

    Devin "Local Hardware Wizard"

    Aug 17, 2009
    United States
    The Nexus
    Nice guide. I went on IRC, today. It was.....Interesting.
  14. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    Updated with a minimal GBAtemp tutorial.
  15. Vidboy10

    Vidboy10 Tsardom

    Dec 15, 2008
    Vancouver, B.C
  16. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    Updated again, I have a feeling I'm pretty near thread limit....
  17. prowler

    prowler Sony

    Jul 14, 2009
    Thanks for this even though the only bit I used was the clients bit.
    xchat is way more easier for me than mirc.
  18. tj_cool

    tj_cool Site dev

    Jan 7, 2009
    This planet
    Can't say I've ever had much problems setting up/using mIRC.
    I'm using the Full version (+NNScript) for years now.
    Never tried XChat though.
  19. prowler

    prowler Sony

    Jul 14, 2009
    I never had any problems, only when messing around with scripts.. But xchat for me is better than mirc.
  20. Frederica Bernkastel

    Frederica Bernkastel WebPerf and PWA advocate; @antoligy on Twitter

    Jan 31, 2008
    Updated again,
    added two new sections, and planning to add even more.