Published the 2021-05-28 on Willow's blog

Perfect ZNC Multi-Client Setup

By default, ZNC handle the playback. When no client is connected, it will store missed messages and play them back when you log in with an IRC client.

But if you got multiple IRC client in multiple device, login with one of them will make the others to never receive the messages.

clientbuffer is a module to fix that ! It will track what message all of your IRC clients received.

Configure clientbuffer

We have to compile it as it is not a base module.

$ apt install unzip znc-dev
$ curl -o v1.0.48.zip https://github.com/CyberShadow/znc-clientbuffer/archive/refs/tags/v1.0.48.zip
$ unzip v1.0.48.zip
$ cd znc-clientbuffer-1.0.48/
$ znc-buildmod clientbuffer.cpp
$ mkdir -p /var/lib/znc/modules/
$ cp clientbuffer.so /var/lib/znc/modules/

Connect to ZNC

Use this as username: "username@CLIENTNAME/network"

Here CLIENTNAME will be used by clientbuffer to identify this client. Make it unique per client.

Enable clientbuffer on each network

/msg *controlpanel set AutoClearChanBuffer $me False
/msg *controlpanel set AutoClearQueryBuffer $me False
/msg *status LoadMod clientbuffer autoadd timelimit=86400