Skip to content
J-P Nurmi edited this page Feb 18, 2015 · 10 revisions

Introduction

ZNC is a an advanced IRC bouncer that is designed to run in a shell box and keep you online 24/7.

This page summarizes the Communi way of configuring ZNC for ultimate IRC experience:

  • no repetitive buffer playback
  • persistent queries

Download

ZNC version 1.6.0 or later is needed. Download the latest release or clone the repository hosted on GitHub:

git clone -b 1.6 git://github.com/znc/znc.git
cd znc
git submodule update --init --recursive

Build

In a nutshell:

./autogen.sh # only when using git
mkdir build && cd build
../configure --prefix $HOME/znc
make -j$(nproc)
make install

See also wiki.znc.in/Installation.

Configure

Create a configuration file:

$ ~/znc/bin/znc --makeconf
[ .. ] Checking for list of available modules...
[ >> ] ok
[ ** ] 
[ ** ] -- Global settings --
[ ** ] 
[ ?? ] Listen on port (1025 to 65534): 12345
...
[ ** ] Enabled global modules [webadmin]
[ ** ] 
[ ** ] -- Admin user settings --
[ ** ] 
[ ?? ] Username (alphanumeric): jpnurmi
...
[ ** ] Enabled user modules [chansaver, controlpanel]
[ ** ] 
[ ?? ] Set up a network? (yes/no) [yes]: 
[ ** ] 
[ ** ] -- Network settings --
[ ** ] 
[ ?? ] Name [freenode]: 
...
[ ** ] Enabled network modules [simple_away]
[ ** ] 
[ .. ] Writing config [/home/jpnurmi/.znc/configs/znc.conf]...
[ >> ] ok

Persistent buffers

ZNC automatically clears playback buffers by default. Disable that for channels and queries:

/msg *controlpanel set AutoClearChanBuffer $me false
/msg *controlpanel set AutoClearQueryBuffer $me false

See also wiki.znc.in/Query_buffers.

Modules

Playback

An external playback module provides non-repetitive playback buffer and lets Communi clear appropriate buffers when queries are closed:

git clone git://github.com/jpnurmi/znc-playback.git
~/znc/bin/znc-buildmod playback.cpp
mv playback.so ~/.znc/modules/

/msg *status loadmod playback

Buffextras

The built-in buffextras module stores channel events such as joins and parts to the playback buffer so that you can see full channel history. The buffextras module stores these messages as PRIVMSGs, but Communi parses and visualizes them as appropriate:

/msg *status loadmod buffextras

See also wiki.znc.in/Compiling_modules.

Clone this wiki locally