To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

ChangeLog/1.0 and Configuration: Difference between pages

From ZNC
(Difference between pages)
Jump to navigation Jump to search
>Silverleo
m Small fixes
 
>Jpnurmi
m User/Pass
 
Line 1: Line 1:
<!-- The following is generated via this command:
{{Languages|Configuration}}
HEAD=$(git rev-parse master) ; echo "Last update at $HEAD" ; echo ; git log --format='* %s {{git|%h}}' --no-merges znc-0.098..$HEAD | cat
-->


Last update at d0b7df5ec470141a4d9849719bd466df4aadac5f
== Creating a config file ==
To generate a basic configuration file, run <code>znc --makeconf</code> after installation.
It is NOT a good idea to create a new config file manually, please use <code>znc --makeconf</code>!


//TODO: need to reword almost every line here...
== File locations ==


== The Big News ==
* '''Configuration''' - ZNC gets its configuration by reading the file <code>~/.znc/configs/znc.conf</code>.
* '''Misc''' - Other files are also stored in the <code>~/.znc</code> directory, such as the SSL certificate (znc.pem) and the PidFile (znc.pid).
* '''Local Modules''' - Stored in <code>~/.znc/modules</code>. ZNC will look in the local module directory first when trying to load a module.
* '''Global Modules''' - Stored in <code>/usr/local/lib/znc</code> by default (where <code>/usr/local</code> is the prefix you chose). This is <code>/usr/lib/znc</code> if you used the Debian package.
* '''Binaries''' - <code>znc</code>, <code>znc-config</code>, and <code>znc-buildmod</code> are all stored in <code>/usr/local/bin</code> (or in <code>/usr/bin</code>) by default. You can change this when you configure by using <code>./configure --prefix=/whatever/path/you/want</code>.


=== Multinetwork ===
== Editing config ==
ZNC users can now connect to multiple IRC networks at once.
In most cases you '''should NOT''' edit znc.conf directly.
However, you still need to connect your IRC client multiple times to ZNC.
Use [[webadmin]] instead.
Think about new users as "user groups", while new networks are similar to old users.


To login to ZNC, use <code>user/network:password</code> as password, or <code>user/network</code> as username.
If you ''really'' need to edit znc.conf by hand, do the following:
Also, you can switch between different networks on the fly using the <code>/znc JumpNetwork</code> command.
# pkill -SIGUSR1 znc
#: to save current runtime configuration to znc.conf
# pkill znc
#: to shutdown running ZNC instance
# Edit znc.conf
# znc
#: to start it again with new configuration


When converting older znc configs, each user gets a single network called "default" (of course, networks are not mixed between different users). This network is used when a client logs in without specifying a network, so existing clients can login to new ZNC without changing their configuration.
== Config file structure ==


Users can create new networks up to an admin-configurable limit. By default, this limit is one network per user.
<span style="font-size:xx-large">This is outdated!</span>


Existing user-per-network setups can be migrated to the new multinetwork setup using the <code>/znc MoveNetwork</code> command.
Basically, a configuration file consists of the following settings:


You can see a list of networks via <code>/znc ListNetworks</code> and <code>/znc ListAllUserNetworks</code>.
<!-- Please keep this in the order it is inside the znc.conf. Sorry, but no idea what that order is. I just used the order that is used inside the source code, but if you want me to guess: The file is written with alphabetical order. -->
<!-- This will in theory make it simpler to check/verify against a znc.conf -->
<!-- GLOBAL SETTINGS -->
* '''AnonIPLimit''' - Limits the number of unidentified connections per IP.
* '''ConnectDelay''' - The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC.
* '''MaxBufferSize''' - Sets the global Max Buffer Size a user can have.
* '''ProtectedWebSessions''' - ...
* '''SSLCertFile''' - It's the TLS/SSL certificate file from which ZNC reads its server certificate.
* '''ServerThrottle''' - The time between two connect attempts to the same hostname.
* '''Skin''' - ...
* '''Motd''' - ...
* '''TrustedProxy''' - ...
* '''LoadModule''' - ...
* '''StatusPrefix''' - The prefix for the status and module queries. This setting may be overwritten by users.
* '''Version''' - The ZNC version that wrote this file.
<!-- No clue what order the rest of these go.. sort these later -->
* '''ISpoofFile''' - ZNC will write the ident of the user trying to connect to this file. Very useful if your shell supports oidentd.
* '''ISpoofFormat''' - The format of the ISpoofFile.
* '''PidFile''' - Make ZNC write a pid file. ZNC does not need this itself. See [[FAQ#How_can_I_restart_ZNC_automatically_.28in_case_of_a_machine_reboot.2C_crash.2C_etc..29.3F|the FAQ]] on info how to crontab ZNC.
* '''MOTD''' - The "message of the day" which is sent to clients on connect via notice from *status. Can be specified multiple times.
* '''BindHost''' - This is a list of allowed bindhosts. It is used by the [[webadmin]] module for users to select one. (Set different bindhosts in "Settings" on your Webadmin-Interface first - one per line - to make them appear in users configs afterwards)
* '''Listener''' = ''[web_only|irc_only] [host or IP] [+]port'' - Configuration of listening port. Use ''web_only'' or ''irc_only'', if you don't want port to be universal. Put host/IP before the port with a space between to bind to a specific IP ''(notice that in this case the listener can't listen on both ipv4 and ipv6)''. Then goes the port ZNC will listen on. If the port is prepended with a '+' (without space) then ZNC listens using SSL. You can have several listeners in one ZNC. (Introduced in [[ChangeLog/0.090|0.090]], see next chapter for older versions)
* '''Listener4''' or '''Listener6''' - Exactly the same as '''Listener''', but will use only IPv4 or IPv6.


=== Timezones ===
<!-- The above Listener is outdated, instead ZNC now generates a Listener section -->
Timezone can now be configured by name, e.g. "GMT-9", or "Europe/Madrid".
<!-- LISTENER SETTINGS -->
Old TimezoneOffset setting (which was the number of hours between the server's timezone and the user's timezone) is deprecated and should not be used anymore. Its old value is lost. The reason for this change is that the old TimezoneOffset was not trivial to count and often broke during switches to/from  daylight savings time.
* '''Listener''' - Definition of a port that znc should listen on.
** '''Host''' - The host or IP on which ZNC listens.
** '''URIPrefix''' - Prefix that ZNC should make the web interface available under. This can be used to make ZNC available behind a reverse proxy.
** '''Port''' - The port number used.
** '''IPv4''' - If this port is listening using IPv4.
** '''IPv6''' - If this port is listening using IPv6.
** '''SSL''' - If this port is listening using SSL.
** '''AllowIRC''' - If IRC connections are allowed on this listener.
** '''AllowWeb''' - If web connections are allowed on this listener.


So if you previously used the TimezoneOffset option, you now have to configure your timezone again (via the [[webadmin]] or [[controlpanel]] module).
<!-- USER SETTINGS -->
* '''User''' - The user definition, you can have more than one. Each user may only connect to one network, so you need a separate user for each network. This is intended behavior! (See the [[FAQ]] about multiple networks)
** '''Admin''' - If set to <code>true</code>, the user has admin rights (e.g. in the [[webadmin]] module).
<!-- So, this is at the end of the user, just stick it up here. -->
** '''Pass''' - Used by the client to connect to ZNC. A hash may be generated using <code>znc --makepass</code>.
*** '''Salt''' - ...
*** '''Method''' - ...
*** '''Hash''' - ...
** '''Allow''' - By default everyone is able to connect to ZNC as this user. With an ''Allow'' line you can restrict access to the specified IPs. Wildcards (*) are supported and multiple ''Allow'' lines can be set up.
** '''AltNick''' - The alternate nick ZNC will use if your main nick is in use.
** '''AppendTimestamp''' - Whether to append the [[timestamps]] to the message or not
** '''RealName''' - ...
** '''Bindhost''' - ...
** '''AutoClearChanBuffer''' - If set to <code>false</code>, it will buffer channels even while you are attached, and play the whole buffer back to you each time you connect. If set to <code>true</code>, it won't buffer while you are attached, and the buffer will be reset upon each playback.
** '''Buffer''' - ...
** '''CTCPReply''' - A request-reply-pair for CTCP-requests. Format: <code><request> <reply></code>, e.g. <code>VERSION unknown v1.0</code>
** '''ChanModes''' - Default modes ZNC will set when you join an empty channel.
** '''Buffer''' - This is the amount of lines that the playback buffer will store before dropping off the oldest line. The buffers are stored in the memory by default.
** '''DCCBindHost''' - ...
** '''DenyLoadMod''' - If set to <code>true</code>, the user isn't able to load modules.
** '''DenySetBindHost''' - If set to <code>true</code>, the user isn't able to change his vhost.
** '''Ident''' - ...
** '''JoinTries''' - How often should ZNC try to join if the first join failed, e.g. due to channel mode +i/+k or if you're banned.
** '''LoadModule''' - Load a [[Modules|module]] for this user on startup.
** '''MaxJoins''' - How many channels should ZNC join at once. Lower this if you get disconnected for 'Excess flood.
** '''MaxNetworks''' - Maximum number of networks a user is allowed to have.
** '''MultiClients''' - Set this to <code>true</code>, if you want to be able to connect with multiple clients at once.
** '''Nick''' - Your primary nick.
** '''PrependTimestamp''' - Whether to prepend the [[timestamps]] to the message or not
** '''QuitMsg''' - The default quit message ZNC will use when you jump servers or call shutdown.
** '''RealName''' - ...
** '''Skin''' - ...
** '''StatusPrefix''' - The prefix for the status and module queries.
** '''TimestampFormat''' - The format for the [[timestamps]] used in buffers, for example <code>[%H:%M:%S]</code>
<!-- Sort these later ... -->
** '''DCCVHost''' - This is the IP address used for DCC bouncing.
** '''BounceDCCs''' - If set to <code>true</code>, the DCCs will be bounced by ZNC.
** '''DCCLookupMethod''' - If set to <code>default</code>, ZNC will use the IP the clients sends for the DCC connections; if set to <code>client</code>, ZNC will use the IP the client connects from.
** '''Timezone''' - Set this to your local setting, so you'll get correct times in your [[timestamps]]. Format is Europe/Berlin, and is case sensitive, dropdown box will not work in IE.
** '''TimestampFormat''' - ...
** '''ClientEncoding''' - ...
<!-- End of sort later -->


=== No more ZNC-Extra ===
<!-- NETWORK SETTINGS -->
Most modules from [[ZNC-Extra]] are now enabled in the usual installation. It was pointless to have them shipped in the tarball, but requiring user to add some weird flags to ./configure.
* '''Network'''
** '''FloodBurst''' - How many lines ZNC sends at once.
** '''FloodRate''' - How many lines per second ZNC sends after the FloodBurst
** '''IRCConnectEnabled''' - If set to <code>false</code>, user doesn't connect to IRC servers.
** '''LoadModule''' - Load a [[Modules|module]] for this network on startup.
** '''Server''' - Adds a server to the list of servers this user will be able to connect to. If you want ZNC to connect to the IRC server using SSL, put '+' in front of the port number. The IP can be IPv6. If the server requires a password, just add it as the third argument. Format: <code>Server = <IP-Address/Host> [+]<Port> [<Password>]</code>
<!-- check to sort these later ... -->
** '''Nick''' - ...
** '''AltNick''' - ...
** '''Ident''' - ...
** '''RealName''' - ...
** '''BindHost''' - ...
** '''Encoding''' - ...
** '''JoinDelay''' - Defines the delay in seconds, until channels are joined after getting connected.
** '''QuitMsg''' - A network specific quit message ZNC will use when you jump servers or call shutdown.
** '''Chan''' - Channels you want ZNC to join when connecting.
<!-- check to sort these later ... -->
*** '''Key''' - Key for the channel.
*** '''Modes''' - Use this to override the '''ChanModes''' setting set in the User section.
*** '''Buffer''' - Use this to override the '''Buffer''' setting set in the User section.
*** '''AutoClearChanBuffer''' - Use this to override the '''AutoClearChanBuffer''' setting set in the User section.
*** '''Detached''' - If <code>true</code>, ZNC will join this channel as [[Detaching|detached]] so that the IRC client will not be bothered by it.
*** '''Disabled''' - If <code>true</code>, ZNC will not join this channel at all.


Antiidle, fakeonline and motdfile modules are dropped.
=== Old versions ===
Before 0.096
* '''BindHost''' was named '''vHost'''
Before 0.090:
* '''Listen''' was similar to '''Listener4''' from last version, without ''irc_only''/''web_only'' support.
* '''Listen6''' was similar to '''Listener''' or '''Listener6''' (depending on your OS) from last version, without ''irc_only''/''web_only'' support.
* TODO: When did Listeners become their own substructure?


Away module is renamed to [[awaystore]] to better explain its meaning.
[[Category:ZNC]]
 
== Fixes ==
* Don't try IPv6 servers when IPv6 isn't available. Use threads for non-blocking DNS instead of c-ares.
* Fix debug output of identfile.
* Don't forward WHO replies with multi-prefix to clients which don't support multi-prefix
* Send nick changes to clients before we call the OnNick module hook
* Don't connect to SSLed IRC servers when ZNC is compiled without SSL support
* Fix check for visibility support in the compiler
* Fix compilation on cygwin again, including [[modperl]] and [[modpython]]
* Support parting several channels at once
* Fix a crash in admin (now [[controlpanel]]) module
* Fix webadmin to deny setting a bindhost that is not on the global list of allowed bindhosts.
* Fix using empty value for defaults in user page in webadmin.
 
== Minor Stuff ==
* Rename admin module to [[controlpanel]] to make it clearer that it's not the same as admin flag of a user.
* Add protection from flood. If you send multiple lines at once, they will be slowed down, so that the server will not disconnect ZNC due to flood. It can be configured and can be completely turned off. Default settings are: 1 line per second, first 4 lines are sent at once.
* Modules can support several types now: a module can be loaded as a user module, as a network module ''and'' as a global module, if the module supports these types.
* Rename (non-)<code>KeepBuffer</code> to <code>AutoClearChanBuffer</code>
* Process starttls numeric
* Improvements to [[modperl]], [[modpython]], [[modtcl]].
* Add timestamps to <code>znc --debug</code>
* Listeners editor in [[webadmin]]
* Add [[sasl]] module which uses SASL to authenticate to NickServ.
* Rename saslauth to [[cyrusauth]], to make it clearer that it's ''not'' needed to do SASL authentication to NickServ.
* Modules get a way to describe their arguments.
* webadmin: allow editing of the bindhost without global list.
* Don't send our password required notice until after CAP negotiation
* Rewrite the JOIN channel logic, dropping MaxJoins
* Support messages directed to specific user prefixes (like <code>/msg @#channel Hello</code>)
* Show link to http://znc.in/ from web as a link. It was plain text before.
* Webadmin: use HTML5 numeric inputs for numbers.
* Add SSL/IPv6/DNS info to znc --version
* Clarify that only admins can load the [[shell]] module.
* [[cyrusauth]]: Allow creating new users on first login
* Clear channel buffers when keep buffer is disabled if we're online
* [[send_raw]]: Add a command to send a line to the current client
* webadmin: Implement clone user
* autoreply: Honor RFC 2812.
* Add 381 to the buffer ("You are now an IRC Operator")
* identfile: Pause the connection queue while we have a locked file
* Add <code>ShowBindHost</code> command
* autoop: Check for autoops when we get op status
* Improvements and fixes to the [[partyline]] module
* Check that there're modules available on startup. Check if ZNC is installed or not.
* Modified description field for bouncedcc module to explain what the module actually does.
* nickserv: add support for nickserv requests on wenet.ru and rusnet.
* send 422 event if MOTD buffer is empty
* route_replies: Handle much more replies
* Clear text colors before appending timestamps to buffer lines, add space before AppendTimestamp for colorless lines.
* Don't replace our motd with a different servers motd
* webadmin: Add a "Disabled" checkbox for channels
* Send a 464 ERR_PASSWDMISMATCH to clients that did not supply a password
* Separate compilation and linking for modules.
* Trim spaces from end of commands to autoattach.
* nickserv: add ghost, recover and release
* Warn if config was saved in a newer ZNC version.
* Backup znc.conf when upgrading ZNC.
 
== Internal Stuff ==
* #include <znc/...h> instead of #include "...h"
* Add string formatting function with named params.
* Python, perl: support global, user, network modules.
* Csock: able use non-int number of secs for timer.
* CString("off").ToBool() shouldn't be true
* Python: Override __eq__ to allow comparison of strings
* python: Allow iterating over CModules
* Add methods to CModule to get the web path
* Rework modperl to better integrate with perl.
* Store all 005 values in a map.
* Python: Use znc.Socket if no socket class is specified in CreateSocket()
* CZNC::WriteConfig(): Better --debug output
* Slight refactor of CBuffer & CBufLine.
* Implemented an OnInvite hook
* Allow a client to become "away"
* Create a connection queue
* Set default TrimPrefix to ":"
* Add a config writer
* Wrap MODULECALL macros in a do-while
* Don't require CTimer's label to be unique if its empty
* Allow loading python modules with modpython (ex. modname/__init__.py)
* bNoChange in On{,De}{Op,Voice} wast incorrect
* Drop znc-config, change znc-buildmod so it doesn't need znc-config
 
[[Category:ChangeLog]]

Revision as of 18:13, 28 October 2014

Creating a config file

To generate a basic configuration file, run znc --makeconf after installation. It is NOT a good idea to create a new config file manually, please use znc --makeconf!

File locations

  • Configuration - ZNC gets its configuration by reading the file ~/.znc/configs/znc.conf.
  • Misc - Other files are also stored in the ~/.znc directory, such as the SSL certificate (znc.pem) and the PidFile (znc.pid).
  • Local Modules - Stored in ~/.znc/modules. ZNC will look in the local module directory first when trying to load a module.
  • Global Modules - Stored in /usr/local/lib/znc by default (where /usr/local is the prefix you chose). This is /usr/lib/znc if you used the Debian package.
  • Binaries - znc, znc-config, and znc-buildmod are all stored in /usr/local/bin (or in /usr/bin) by default. You can change this when you configure by using ./configure --prefix=/whatever/path/you/want.

Editing config

In most cases you should NOT edit znc.conf directly. Use webadmin instead.

If you really need to edit znc.conf by hand, do the following:

  1. pkill -SIGUSR1 znc
    to save current runtime configuration to znc.conf
  2. pkill znc
    to shutdown running ZNC instance
  3. Edit znc.conf
  4. znc
    to start it again with new configuration

Config file structure

This is outdated!

Basically, a configuration file consists of the following settings:

  • AnonIPLimit - Limits the number of unidentified connections per IP.
  • ConnectDelay - The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC.
  • MaxBufferSize - Sets the global Max Buffer Size a user can have.
  • ProtectedWebSessions - ...
  • SSLCertFile - It's the TLS/SSL certificate file from which ZNC reads its server certificate.
  • ServerThrottle - The time between two connect attempts to the same hostname.
  • Skin - ...
  • Motd - ...
  • TrustedProxy - ...
  • LoadModule - ...
  • StatusPrefix - The prefix for the status and module queries. This setting may be overwritten by users.
  • Version - The ZNC version that wrote this file.
  • ISpoofFile - ZNC will write the ident of the user trying to connect to this file. Very useful if your shell supports oidentd.
  • ISpoofFormat - The format of the ISpoofFile.
  • PidFile - Make ZNC write a pid file. ZNC does not need this itself. See the FAQ on info how to crontab ZNC.
  • MOTD - The "message of the day" which is sent to clients on connect via notice from *status. Can be specified multiple times.
  • BindHost - This is a list of allowed bindhosts. It is used by the webadmin module for users to select one. (Set different bindhosts in "Settings" on your Webadmin-Interface first - one per line - to make them appear in users configs afterwards)
  • Listener = [web_only|irc_only] [host or IP] [+]port - Configuration of listening port. Use web_only or irc_only, if you don't want port to be universal. Put host/IP before the port with a space between to bind to a specific IP (notice that in this case the listener can't listen on both ipv4 and ipv6). Then goes the port ZNC will listen on. If the port is prepended with a '+' (without space) then ZNC listens using SSL. You can have several listeners in one ZNC. (Introduced in 0.090, see next chapter for older versions)
  • Listener4 or Listener6 - Exactly the same as Listener, but will use only IPv4 or IPv6.
  • Listener - Definition of a port that znc should listen on.
    • Host - The host or IP on which ZNC listens.
    • URIPrefix - Prefix that ZNC should make the web interface available under. This can be used to make ZNC available behind a reverse proxy.
    • Port - The port number used.
    • IPv4 - If this port is listening using IPv4.
    • IPv6 - If this port is listening using IPv6.
    • SSL - If this port is listening using SSL.
    • AllowIRC - If IRC connections are allowed on this listener.
    • AllowWeb - If web connections are allowed on this listener.
  • User - The user definition, you can have more than one. Each user may only connect to one network, so you need a separate user for each network. This is intended behavior! (See the FAQ about multiple networks)
    • Admin - If set to true, the user has admin rights (e.g. in the webadmin module).
    • Pass - Used by the client to connect to ZNC. A hash may be generated using znc --makepass.
      • Salt - ...
      • Method - ...
      • Hash - ...
    • Allow - By default everyone is able to connect to ZNC as this user. With an Allow line you can restrict access to the specified IPs. Wildcards (*) are supported and multiple Allow lines can be set up.
    • AltNick - The alternate nick ZNC will use if your main nick is in use.
    • AppendTimestamp - Whether to append the timestamps to the message or not
    • RealName - ...
    • Bindhost - ...
    • AutoClearChanBuffer - If set to false, it will buffer channels even while you are attached, and play the whole buffer back to you each time you connect. If set to true, it won't buffer while you are attached, and the buffer will be reset upon each playback.
    • Buffer - ...
    • CTCPReply - A request-reply-pair for CTCP-requests. Format: <request> <reply>, e.g. VERSION unknown v1.0
    • ChanModes - Default modes ZNC will set when you join an empty channel.
    • Buffer - This is the amount of lines that the playback buffer will store before dropping off the oldest line. The buffers are stored in the memory by default.
    • DCCBindHost - ...
    • DenyLoadMod - If set to true, the user isn't able to load modules.
    • DenySetBindHost - If set to true, the user isn't able to change his vhost.
    • Ident - ...
    • JoinTries - How often should ZNC try to join if the first join failed, e.g. due to channel mode +i/+k or if you're banned.
    • LoadModule - Load a module for this user on startup.
    • MaxJoins - How many channels should ZNC join at once. Lower this if you get disconnected for 'Excess flood.
    • MaxNetworks - Maximum number of networks a user is allowed to have.
    • MultiClients - Set this to true, if you want to be able to connect with multiple clients at once.
    • Nick - Your primary nick.
    • PrependTimestamp - Whether to prepend the timestamps to the message or not
    • QuitMsg - The default quit message ZNC will use when you jump servers or call shutdown.
    • RealName - ...
    • Skin - ...
    • StatusPrefix - The prefix for the status and module queries.
    • TimestampFormat - The format for the timestamps used in buffers, for example [%H:%M:%S]
    • DCCVHost - This is the IP address used for DCC bouncing.
    • BounceDCCs - If set to true, the DCCs will be bounced by ZNC.
    • DCCLookupMethod - If set to default, ZNC will use the IP the clients sends for the DCC connections; if set to client, ZNC will use the IP the client connects from.
    • Timezone - Set this to your local setting, so you'll get correct times in your timestamps. Format is Europe/Berlin, and is case sensitive, dropdown box will not work in IE.
    • TimestampFormat - ...
    • ClientEncoding - ...
  • Network
    • FloodBurst - How many lines ZNC sends at once.
    • FloodRate - How many lines per second ZNC sends after the FloodBurst
    • IRCConnectEnabled - If set to false, user doesn't connect to IRC servers.
    • LoadModule - Load a module for this network on startup.
    • Server - Adds a server to the list of servers this user will be able to connect to. If you want ZNC to connect to the IRC server using SSL, put '+' in front of the port number. The IP can be IPv6. If the server requires a password, just add it as the third argument. Format: Server = <IP-Address/Host> [+]<Port> [<Password>]
    • Nick - ...
    • AltNick - ...
    • Ident - ...
    • RealName - ...
    • BindHost - ...
    • Encoding - ...
    • JoinDelay - Defines the delay in seconds, until channels are joined after getting connected.
    • QuitMsg - A network specific quit message ZNC will use when you jump servers or call shutdown.
    • Chan - Channels you want ZNC to join when connecting.
      • Key - Key for the channel.
      • Modes - Use this to override the ChanModes setting set in the User section.
      • Buffer - Use this to override the Buffer setting set in the User section.
      • AutoClearChanBuffer - Use this to override the AutoClearChanBuffer setting set in the User section.
      • Detached - If true, ZNC will join this channel as detached so that the IRC client will not be bothered by it.
      • Disabled - If true, ZNC will not join this channel at all.

Old versions

Before 0.096

  • BindHost was named vHost

Before 0.090:

  • Listen was similar to Listener4 from last version, without irc_only/web_only support.
  • Listen6 was similar to Listener or Listener6 (depending on your OS) from last version, without irc_only/web_only support.
  • TODO: When did Listeners become their own substructure?