# IRC Guide

IRC is one of the internet's oldest chat systems, and still a great way to play a text game together. You connect with an app called a client, pick a nickname, and join channels: named chat rooms. This guide gets you from nothing to chatting, and it only takes a few minutes.

## Quick Connection Reference

| | |
|---|---|
| **Server** | `irc.deadkeys.net` |
| **Port** | `6697` (TLS required) |
| **General Channel** | `#deadkeys` |

TLS encrypts the connection between your client and the server. Enable it when connecting on port `6697`.

Already have a registered nickname and know IRC? Connect with SASL PLAIN, which signs you in during connection, and join **#deadkeys**.

## Choosing a Client

The quickest start is in your browser: [open the DeadKeys web client](https://deadkeys.net/webclient). It runs gamja, an IRC client we host for you, so there's nothing to install.

For a desktop app, we recommend **[Halloy](https://halloy.chat)**. It's open source and runs on Windows, macOS, and Linux. It supports SASL for automatic sign-in. Its settings live in a TOML file, a plain text file with named sections and settings. There's an example below.

Other options:

- **mIRC**: a classic Windows IRC client, still actively developed
- **HexChat**: a graphical client for Windows and Linux
- **Textual**: an IRC client for macOS and iOS
- **goguma**: an Android client
- **senpai**: runs in a terminal, with good support for newer IRC features through IRCv3
- **WeeChat**: runs in a terminal and can be extended with plugins and scripts
- **IRCCloud**: a hosted client with a bouncer, a service that keeps you connected when you're away

For more options, see [Libera Chat's client list](https://libera.chat/guides/clients).

## Registering Your Nickname

You can visit **#deadkeys** and **#cpr-ooc** without registering. Register your nickname to reserve it and get access to channels that require registration.

1. Connect and choose a nickname. Your client may ask for one during setup, or you can enter `/nick YourNick`.
2. Register it with NickServ, the service that manages nickname accounts:

```
/nickserv register <password>
```

Replace `<password>` with a strong password containing no spaces. Leave out the angle brackets.

Registration completes immediately. Your nickname is now reserved and only you can use it.

This is your NickServ account password. Use it in the sign-in settings below. It is separate from any password used to unlock your client app.

## Setting Up Automatic Sign-In

SASL signs you in to your registered account while your client connects, before you appear online. This is more reliable than signing in after connecting and keeps you from appearing as an unidentified user.

Use **SASL PLAIN** with the TLS connection described above.

### Halloy

Add this to your Halloy configuration file, `halloy.toml`:

```toml
[servers.deadkeys]
server = "irc.deadkeys.net"
port = 6697
use_tls = true
nickname = "YourNick"

[servers.deadkeys.sasl.plain]
username = "YourNick"
password = "YourNickServPassword"
```

Replace `YourNick` and `YourNickServPassword` with your registered nickname and NickServ password. Keep the quotation marks.

See [Halloy's server configuration docs](https://halloy.chat/configuration/servers.html) for the full set of options.

### mIRC

These steps apply to mIRC 7.48 and later, after you've added DeadKeys to your server list using the connection settings above:

1. Open **File**, then **Select Server...**
2. In **Connect**, go to **Servers**, find the DeadKeys entry, and click **Edit**.
3. From the **Login Method** dropdown, choose **SASL (/CAP)**.
4. In the **Password** field, enter `YourNick:YourNickServPassword`, replacing both placeholders with your registered nickname and NickServ password.
5. Click **OK**.

> *Adapted from [Libera Chat's mIRC SASL guide](https://libera.chat/guides/mirc).*

### Other Clients

See [Libera Chat's connection guides](https://libera.chat/guides/connect) for instructions for other clients. Use `irc.deadkeys.net` as the server and `6697` as the port, with TLS enabled.

### Server Password Alternative

If your client doesn't support SASL, enter the following in its **server password** field:

```
YourNick:YourNickServPassword
```

Replace the placeholders with your registered nickname and NickServ password, keeping the colon between them.

This signs you in as you connect. Use SASL when your client supports it.

## Joining and Leaving Channels

Enter this command to join a channel, replacing `#channelname` with its name:

```
/join #channelname
```

For example, `/join #deadkeys` joins the general chat.

To leave a channel:

```
/part #channelname
```

Most clients also have menus or buttons for joining channels. Some channels require registration before you can join.

## Adding Alternate Nicknames

If you use more than one nickname, such as a shorter name on mobile, you can group them under your main account. Grouped nicknames share the same password, access, and settings.

First, sign in to your main account using SASL or the server password method above.

1. Switch to the alternate nickname, replacing `YourAltNick` with the name you want:

```
/nick YourAltNick
```

2. Add it to your account:

```
/nickserv group
```

Repeat for each alternate nickname. All grouped nicknames sign in to the same account.

Use `/nickserv group` for this step. Running `/nickserv register` while using an alternate nickname creates a separate account with its own password.

## Channel Etiquette

- **#deadkeys** is the general channel, open to everyone.
- **Game channels**, such as those beginning with `#cpr-`, are for play and game discussion. **#cpr-ooc** is open to everyone.
- During sessions, follow the **GM** (Game Master), the person running the game.
- Treat other players with respect.

Stuck anywhere? Ask in **#deadkeys**. Someone will help, and nobody minds beginner questions.
