Setup IRC Channel

Make sure you refer my previous post on getting started with IRC.

This is a quick guide to create a channel on Freenode.

Step 1: Eligibility

Freenode is primarily a network for people involved in open source software. Read Freenode’s guidelines to determine whether you are on topic before getting started. Although we are a private company, we work on open source code, and that is sufficient to claim eligibility.

Step 2: Register Yourself on Freenode

Choose a preferred nickname or nick and enter your desired password. Freenode has good docs on registering a nick, here is how you register:

/msg NickServ REGISTER <password> <>

If the nick you want is already registered, then change your nick as follows:

/nick <newnick>

If its available, register it and update your IRC client settings (HexChat/ XChat).

Once you’ve registered a nick and confirmed your email address, login to IRC. The easiest way to do this is to just restart your IRC client and make sure it logs in correctly. Alternatively, you can run this command:

/msg NickServ IDENTIFY <nick> <password>

First time logging in, use this command to force anyone using your nick to login, preventing potential abuse:

/msg NickServ SET ENFORCE ON

Step 3: Our Main Topic, Register a Channel

First pick a channel name based on the naming guidelines and check if it is already in use via “/msg ChanServ INFO #channelname”. Once you’ve found an available channel, join it and register it:

/join #channelname
/msg ChanServ REGISTER #channelname

Now lets put some safeguards in place to make sure you don’t lose access to your channel in next login. First, tell ChanServ to guard your channel. This ensures that your channel is never completely empty (once empty, all it’s settings are lost).

/msg ChanServ SET #channelname GUARD ON

Next, if you want private channel then lock down your channel via the following flags:

  • p (private): don’t show channel membership and don’t allow people to request invites
  • r (block unidentified): only registered users can join
  • s (secret): don’t show the channel in the channel lists
  • i (invite-only): only invited users can join
/msg ChanServ SET #channelname MLOCK +prsi

Or, if you are okay with public access then do the following:

/msg ChanServ SET #channelname MLOCK +pst

Next Some Extra setting if you want to do:

  • /msg chanserv op #channel
    • Making yourself as channel operator
  • /msg chanserv set #channel secure [on|off]
    • Keeps everyone except aops, sops, and the founder from becoming ops.
  • /msg chanserv set #channel keeptopic [on|off]
    • Maintains the topic even if everyone leaves.
  • /msg chanserv set #channel founder [nickname]
    • Sets the current channel’s founder.
  • /msg chanserv set #channel password [newpass]
    • Changes the current channel’s password to newpass.
  • /msg chanserv set #channel desc [description]
    • Changes the current channel’s description.
  • /msg chanserv set #channel url [address]
    • Associates a URL with the channel.
  • /msg chanserv set #channel [email@address]
    • Associates an email address with the channel.

Step 4: Invite Users (if made private)

For each user, you want to allow in your room, add them to the invitation list (make sure they’ve registered their nick first):

/mode #channelname +I $a:<nickofperson>

Also considering giving somebody else admin privileges or “ops” in case something is needed when you’re not around:

/msg ChanServ flags #channelname <nickofperson> +voAti
  • v (voice): Enables use of the voice/devoice commands, allowing the user to send messages in a moderated channel.
  • o (op): Enables use of the op/deop commands.
  • A (access list): Enables viewing of channel access lists.
  • t (topic): Enables use of the topic and topicappend commands.
  • i (invite): Enables use of the invite and getkey commands.

Step 5: Setting auto-ops for channel users

Set op flags for each user. The little `o` gives them the ability to self op. The big `O` will cause them to be auto-oped upon joining the channel. You can set ops and auto-ops:

/msg ChanServ flags #channelname <nickofperson> +oO
(notice) Flags +oO were set on <nickofperson> in #channelname.


Obtaining a cloak:

Now you may request a cloak to conceal your IP. The simplest way to go about this is typing the command /stats p It gives a list of freenode staff who are available for help. Choose any of the nicks and type /msg staffnick Hello, may I have an unaffiliated cloak? Be sure to replace staffnick with one of the nicks listed with /stats p

If a nick doesn’t show up in the list, you have the option of waiting and trying again later or joining the public support channel #freenode and asking for a cloak there. It is not uncommon for many staffers to be available, but none listed in /stats p

The final step is making sure that your cloak is applied automatically whenever you connect to Freenode. The simplest way to ensure this is with a login method known as SASL, which identifies you to NickServ and applies your cloak during the server connection process. Unfortunately, not all clients support this. Freenode has been kind enough to amass a list of clients with SASL support as well as some guides on enabling it. If this is your first IRC client, we recommend HexChat/XChat for Windows/Linux.

If you want to run your own IRC Server, check out InspIRCd-2.0, also see how to configure it. Check IRC channel of #rpisec as use case.

Some Useful References:

Cheatsheet 1

Channel Modes




Join the Discussion

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at

Up ↑

%d bloggers like this: