Traditional IRC Problem:
When you connect to an IRC server and then disconnect (close your client, lose internet, etc.), you're completely gone from the server. You miss all messages sent while you were away, and you have to rejoin all your channels when you reconnect.
What a Bouncer Does:
A bouncer sits between you and the IRC server as a middleman:
- Server ↔ Bouncer: This connection stays alive 24/7, even when you're not actually connected
- Bouncer ↔ Your Client: You connect/disconnect from the bouncer whenever you want
While you're disconnected, the bouncer:
- Stays connected to the server
- Keeps you in all your channels
- Buffers messages for you
- Maintains your presence
When you reconnect, the bouncer replays missed messages and you're instantly back in all your channels.
Ergo's Built-in Bouncer:
Instead of running a separate bouncer program (like ZNC), Ergo has this functionality built directly into the server which is managed by NICKSERV. To get started, take the following steps:
1. Register your nick with NICKSERV
/msg NICKSERV register <password> <email>
2. Enable the bouncer for persistent connectivity
/msg NICKSERV SET always-on true
3. Configure message playback.
If using only one device at a time, this will only playback messages that were missed. This is determined by no clients being connected to the bouncer and doesn't work if you multi-client:
/msg NickServ set autoreplay-missed true
If using multiple devices, set how many messages play back, in this case the last 25:
/msg NickServ set autoreplay-lines 25
4. Disconnect from the server and reconfigure your IRC client to use SASL authentication
You will use your registered nick and the password you set. This will connect you to the bouncer. You can find a guide for many clients here https://libera.chat/guides/sasl
If your client doesn't support SASL, you can use nick:password in the Server PASS field
Extra
You can use the bouncer to playback the history of a channel over the specified time block:
/history #channel 1h
You can also have the bouncer play back some of your recent DM lines. There is no database set up for permanent message storage, it can only send what's currently held in memory:
/nickserv set dm-history ephemeral