Server: irc.handmade.network
Port: 7777 (SSL) or 7666 (Plain Text)
The server now supports cloaking, and will do so automatically when you connect so your IP address will not be visible to non-admins.
Where programs expect an IRC url, use:
1 | ircs://irc.handmade.network:7777/ |
You can also copy/paste this into Firefox's address bar.
Using a Web Client
You can access HMN via the Kiwi IRC web client via this url: https://kiwiirc.com/nextclient/#i...irc.handmade.network:7777/#random
There is also another web client hosted by insofaras available at https://hmnirc.party with history playback.
Common Channels
#dev — programming talk / questions
#hmn — questions / concerns relating to the website or other hmn services
#hero — concerning Handmade Hero
#streams — automated twitch stream notifications
#random — main social channel
...and more (inquire within)
Join them with /join <name>, e.g. /join #hero
Rules
- Keep topics related to the #channel you are in. Randomly arguing the finer points of Salsa music on #dev would break this rule.
- Programmers are known to curse and engage in flame wars. This is fine in channels like #random, but it's to be kept at a minimum elsewhere.
- Comply with channel operators. They will time out or ban users who are visibly out of line, at their discretion and interpretation of what that means in context.
In the end, we want a toxic-free server with caring programmers helping each other.
Simplified History
IRC stands for Internet Relay Chat (RFC 1459), and it's a protocol designed to dictate to a programmer the rules of how to exchange messages between clients and a server in an organized way—this is known as the client/server networking model. If you were to write a C program that implements the server rules of the IRC protocol, and then you run that program, you've made an IRC server. All you'd need is to similarly write a client that implements the client rules of the IRC protocol, and provide that source (or compiled build) to users and have them run each client as they connect to the server through a valid port number. If the client you programmed allows users to write a message through a supplied interface (e.g. typing on the command-line), the server will broadcast it to all connected clients. Chat services such as Slack have relied on an IRC backend before implementing their own. Twitch chat still uses IRC. It's the simplest, oldest, and most well-known form of real-time communication method across the Web. There's more involved, such as the concept of channels, operators, and queries, but that's the general gist of this chat mechanism.
Per tradition, people ask "Are you on IRC?" instead of "Do you use a chat system that implements the IRC protocol?" to simplify the conversation.
Installing HexChat Client
- Download HexChat
- Select HexChat -> Network List from the top menu.
- Select Add from the dialog box. Type in handmade.network or some such memorable name.
- Change the value of newserver/6667 to irc.handmade.network/7777
- Make sure the "Use SSL for all the servers on this network" is checked for secure communication.
- Have a nickname and optionally a second choice if the first is taken (See note below as we explain how to register your nickname so it isn't taken away).
- If you have a registered nickname, select NickServ (/MSG NickServ + password) from the Login method field. Input your password.
- Close and hit Connect.
NOTE: If you want to register your own nickname, after you've connected to the IRC type in
/msg NickServ register YourPassword [email protected]s
Installing Weechat Client (via Matt Mascarenhas)
Handmade.Network IRC on WeeChat:
WeeChat is an ncurses-based IRC client, available for Linux, Unix, BSD, GNU Hurd, Mac OS X and Windows (cygwin). This short guide assumes you have installed WeeChat and the CA certificates – on Arch Linux: pacman -S weechat ca-certificates – launched WeeChat and have your typing fingers poised to get yourself into the Handmade.Network IRC.
To add the secured (SSL) Handmade.Network IRC server to WeeChat, autoconnect to the server upon launching WeeChat and autojoin the #dev, #hero, #hmn and #random channels upon connecting to the server, run the following command:
1 | /server add HMN irc.handmade.network/7777 -autoconnect -autojoin=#dev,#hero,#hmn,#random -ssl |
To set your nicks and username for Handmade.Network, run the following commands replacing YourPreferred*:
1 | /set irc.server.HMN.nicks "YourPreferredNick" |
1 | /set irc.server.HMN.username "YourPreferredUsername" |
To use /secure (see /help secure for more information) to store your password, run the following command replacing YourPreferredPassword:
1 | /secure set HMN YourPreferredPassword |
And finally to use this secured password to automatically identify with nickserv upon connecting to the server, run the following replacing YourPreferredUsername:
1 | /set irc.server.HMN.command "/msg nickserv identify YourPreferredUsername ${sec.data.HMN}" |
1 | /set irc.server.HMN.password "${sec.data.HMN}" |
With all of this set – and I apologise that it couldn't be a one-liner – you should be able to invoke /connect HMN and so find yourself joined to #dev, #hero, #hmn and #random. To then navigate between these buffers, press Alt+1 (where 1 is a single-digit number) or Alt+j [release] 10 (where 10 is a double-digit number) corresponding to the buffer number of the channel you want. If this is your first encounter with WeeChat then you will want to install buffers.pl at the very least, to make navigating between buffers more pleasant:
1 | /script install buffers.pl |
If you're enjoying WeeChat so far, stay tuned for a walkthrough of my setup, to give you some ideas for making a really pleasant IRC environment.