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.

User:KindOne/FAQ: Difference between revisions

From ZNC
Jump to navigation Jump to search
KindOne (talk | contribs)
FAQ rewrite: Add freenode at the top / saslauth -> cryusauth / Add `Connecting to ZNC` / Move eggdrop/mIRC into own page / Update buffer info / Add info on `znc --makepass`
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
<!-- CHECK FOR ALL THE TODO STUFF -->  
<!-- CHECK FOR ALL THE TODO STUFF -->  
<!--
TODO:
Info on loading new znc config on older znc on different server/computer.
Include a lot more info on stuff like how to add/remove users and other commands?
What about connecting with TOR?
-->


{{Languages}}
{{Languages}}
If your question isn't answered here, feel free join [irc://irc.freenode.net/znc freenode] or [irc://irc.efnet.org/znc EFnet] to talk about this or any other ZNC related issues.  We are happy to help wherever we can.
If your question isn't answered here, feel free join [irc://irc.freenode.net/znc freenode] or [irc://irc.efnet.org/znc EFnet] to talk about this or any other ZNC related issues.  We are happy to help wherever we can.


== Compiling ZNC ==
== Starting ZNC ==
=== General ===


=== Starting ===


Open a shell and type:
znc


==== The compiler dies saying it has not enough memory! ====
You can see a list of options with:
Starting from ZNC 0.062, you can use the ''--disable-optimization'' to configure. This will disable "-O2" and instead use "-O0". GCC should need less memory now.
znc --help


If you still can't compile ZNC, try ''./configure --disable-optimization CXXFLAGS="--param ggc-min-expand=2 --param ggc-min-heapsize=20000"'' but be prepared for looong wait.
=== How can I restart ZNC automatically? ===
Add a cron entry to execute ZNC regularly. If there is already one copy of ZNC running on a particular config file, new copies won't be spawned. Example cron entry:
*/10 * * * *  /home/you/znc/bin/znc >/dev/null 2>&1
This will check if ZNC is running every 10 minutes. If you load a module like [[awaystore]] for example, that needs user input to run, you can add the input to the '''LoadModule''' line in your config file
Example:
LoadModule = awaystore yourpassword


==== configure: error: pkg-config could not find znc (znc.pc) ====
If you're using Vixie's cron, you can start it on start-up like this.
Use ''PKG_CONFIG_PATH=~/znc/lib/pkgconfig ./configure'' and replace ''~/znc'' with the path you installed ZNC to.


==== Upgrading / updating from a previous release, to a new version ====
  @reboot your_username /home/you/znc/bin/znc >/dev/null 2>&1
This is really simple. You can just follow the instructions on the [[Installation]] page again. Your configuration won't be deleted. If you'd like to make a backup before, however, you can backup ZNC's config folder. It is usually located at ~/.znc. You can use tar to make a backup, like this: <code>tar cfvj znc-backup.tar.gz ~/.znc</code>.


Your existing configuration will be upgraded to new version. If new ZNC will complain about few missing modules, you may need to remove them from znc.conf. That can happen if some modules which were loaded to your ZNC are removed in new version. See [[ChangeLog]] for details.
=== Debugging ZNC ===


==== Do I have to shut down and restart ZNC during an upgrade to a new version? ====
See [[Debugging]]
Yes. You have to. There's no way to avoid it and also no feasible technical way to do it in a future version, sorry.
 
== Using ZNC ==


=== BSD ===
=== Connecting to ZNC ===
==== I get a "Need an operator" error when running make in bsd ====
See [[:Category:Clients]] for your IRC clients directions. If you are having any issues connecting, please check the page.
Try using gmake instead.
====ZNC crashes at making a config file or adding a user via webadmin on FreeBSD 7.x 64bit====
Try to compile znc from source with g++42/gcc42 from the ports instead of the default gcc (./configure CXX=g++42) and check your compile output for g++42.
 
=== Debian ===
==== I'm getting the error: configure: error: C++ compiler cannot create executables ====
There are missing some compiler packages, you need to install them via:
sudo aptitude update
sudo aptitude install build-essential make bin86
If you aren't on Debian, Ubuntu, or related distro, you need to install ''g++'', ''make'' and possibly other things using your package manager.


==== I'm compiling under debian and I don't have an openssl/include directory available ====
=== I keep getting "Incorrect Password" when I connect ===
Try using ''apt-get install libssl-dev'' to get the development version of OpenSSL.  (Something similar may be the case for other distros with package managers.)
There are a few ways to supply password:


==== I've installed znc, but when i try to compile modules it says that there is no command znc-buildmod ====
See [[:Category:Clients]] on how to supply the password to ZNC automatically.
You need to add the development files to your debian/ubuntu:
sudo aptitude install znc-dev


== Starting ZNC ==
You can also connect and manually send the password in your IRC client with the following command:
=== Why do I get an "Incorrect Password" every time I connect even though my pass is correct? ===
/quote pass username:password
There're few ways to supply password:
or
# If you have decent IRC client, you can just use "username" (or "ident") field for username and "server password" field for password.
/quote pass username/network:password
# You can supply both your user and pass as the server password separated by a colon like "user:pass" (without quotes)
# Just do "/quote pass PA$$WORD" manually every time you connect to ZNC


Also, make sure you did not accidentally load one of the [[Cyrusauth]] or [[imapauth]] modules.
Also, make sure you did not accidentally load one of the [[Cyrusauth]] or [[imapauth]] modules.


=== How can I restart ZNC automatically (in case of a machine reboot, crash, etc.)? ===
Add a cron entry to execute ZNC regularly. If there is already one copy of ZNC running on a particular config file, new copies won't be spawned. Example cron entry:
*/10 * * * *  /home/you/znc/bin/znc >/dev/null 2>&1
This will check if ZNC is running every 10 minutes. If you load a module (like [[away]]) that needs user input to run, you can add the input to the '''LoadModule''' line in your config file (ie. <code>LoadModule = away yourpassword</code>).
If you're using Vixie's cron, you can start it on start-up like this.
  @reboot your_username /home/you/znc/bin/znc >/dev/null 2>&1
== Using ZNC ==
=== Connecting to ZNC ===
See [[:Category:Clients]] for your IRC clients directions.


=== How do I tell ZNC which network/server a channel belongs to? ===
=== How do I tell ZNC which network/server a channel belongs to? ===
Line 85: Line 71:
So you can add several servers of one network to server list of one user.
So you can add several servers of one network to server list of one user.


=== I have two ips on my server and i would like to add both to ZNC ===
=== I have two ips on my server and I would like to add both to ZNC ===
By default user can choose any bindhost:
By default user can choose any bindhost:
  /znc setbindhost 1.2.3.5
  /znc setbindhost 1.2.3.5
  /znc jump
  /znc jump
If you want to limit users to choose only from the list, or simply to show the list at webadmin at all, you can do this:
If you want to limit users to choose only from the list, or simply to show the list at [[webadmin]] at all, you can do this:
  /znc addbindhost 1.2.3.4
  /znc addbindhost 1.2.3.4
  /znc addbindhost 1.2.3.5
  /znc addbindhost 1.2.3.5


=== How do I add a new user? ===
=== How do I add a new user? ===
There are (at least) three ways to add a new user.
If you are admin, there are at least three ways to add a new user.


The easiest way is to load and use the [[webadmin]] module.
The easiest way is to load and use the [[webadmin]] module.


If you want to do it from IRC, load the [[controlpanel]] module and check out ''/msg *controlpanel help''.
If you want to do it from IRC, load the [[controlpanel]] module and:
 
/msg *controlpanel adduser username password
 


It's not suggested if you are new to ZNC, but it's also possible to add a new user via the config file. To do that, edit znc.conf and add a new <User> section. After that, rehash ZNC by issuing ''/msg *status rehash'' from IRC or ''kill -SIGHUP `pidof znc`'' from the shell.
It's not suggested if you are new to ZNC, but it's also possible to add a new user via the config file. To do that, edit znc.conf and add a new <User> section. After that, rehash ZNC by issuing ''/msg *status rehash'' from IRC or ''kill -SIGHUP `pidof znc`'' from the shell.


=== I got banned from #channel and ZNC keeps trying to rejoin ===
=== How do I add a new network? ===
Just do <code>/part #channel</code> and ZNC will remove the channel.
You can add a network with the [[webadmin]] module.
 
If you want to do it from IRC, then enter:
/msg *status addnetwork network_name_here
 
Note: If you are admin, you can increase the max number of networks you are allowed to have in [[webadmin]]
 
=== How do I get a valid SSL certificate? ===
See [[StartSSL]] for more information.
 
=== How do I load / unload modules? ===
Depending on how you want to load the module, you can enter:
/msg *status loadmod --type=global|user|network module_name_here
 
Example:
/msg *status loadmod --type=network log
 
Loading as '''global''' will apply for everything.
 
Loading as '''user''' will apply for the network(s) the user has.
 
Loading as '''network''' will only apply for the specific network it was loaded from.
 
You can look at the modules pages for more information.
 
Depending on how you loaded the module, you can unload it by entering:
/msg *status loadmod --type=global|user|network module_name_here
 
Example:
/msg *status unloadmod --type=network log


=== How to use the loaded modules? ===
=== How do I use the loaded modules? ===
  /msg *modulename command
  /msg *modulename command
or
or
  /znc *modulename command
  /znc *modulename command
"*" is the StatusPrefix, which you can change in config file. You could start trying the help command which should work on all modules.
" '''*''' " is the StatusPrefix, which you can change by
/msg *controlpanel set statusprefix $me new_prefix_here
 
=== How do I access webadmin with my browser? ===
By default [[webadmin]] runs on the same PORT as your ZNC is accessible.
 
If your webinterface won't come up, please ensure that you are using the correct protocol
for connecting. If ZNC listens using SSL, use the HTTPS protocol (https://) instead of just HTTP (http://).
 
If you are using Google Chrome and keep getting an Error 312 (net::ERR_UNSAFE_PORT)
then try calling Chrome with the following parameter or use a port that is not used by default for IRC.
--explicitly-allowed-ports=PORT
 
=== How do I to change the timestamps? ===
See [[Timestamps]] for more information.
 
=== I got banned from #channel and ZNC keeps trying to rejoin ===
Enter the following command and ZNC will stop:
/part #channel


=== I keep getting kicked for flood when I reattach ZNC! ===
=== I keep getting kicked for flood when I reattach ZNC! ===
This happens if you use "many" channels, due to IRC clients flooding the server with commands upon reattach. There is no throttling/fix for this yet. A workaround is disable AutoClearChanBuffer and setting some lines of buffer for each channel. (You should experiment how many is enough.)
This happens if you use "many" channels, due to IRC clients flooding the server with commands upon reattach. There is no throttling/fix for this yet. A workaround is disable AutoClearChanBuffer and setting some lines of buffer for each channel. (You should experiment how many is enough.)
Some clients like xchat (and forks) will `/who #channel` when you join the channels to get the idle status to color the nicklist.


=== Every time I connect to my ZNC, I see the channel buffers from the last time I connected! ===
=== I keep seeing the channel buffer from the last time I connected ===
If you have a large channel buffer, it may be annoying to see the channel buffer every time you reconnect. To have ZNC erase the channel buffer every time you connect, set:  
If you have a large channel buffer, it may be annoying to see the channel buffer every time you reconnect. To have ZNC erase the channel buffer every time you connect, set:  
<!-- Renamed in https://github.com/znc/znc/commit/27f42d11187054719c5065a4d0d0d3b9af9062cf (pre-1.0) -->
<!-- Renamed in https://github.com/znc/znc/commit/27f42d11187054719c5065a4d0d0d3b9af9062cf (pre-1.0) -->
  AutoClearChanBuffer = true  
  AutoClearChanBuffer = true  
using the webadmin module or by controlpanel
using the [[webadmin]] module or by [[controlpanel]]
  /msg *controlpanel AutoClearChanBuffer $me true
  /msg *controlpanel set AutoClearChanBuffer $me true


This will result in only the missed messages being played back to you upon reconnecting.  Be careful if you use more than one client as znc will still see you as connected when one drops off and messages will not be buffered.  Also, if your connection to znc dies unnaturally, znc might take a little bit to realize you're gone and thus not buffer a few of the messages that you haven't yet seen.
This will result in only the missed messages being played back to you upon reconnecting.  Be careful if you use more than one client as znc will still see you as connected when one drops off and messages will not be buffered.  Also, if your connection to znc dies unnaturally, znc might take a little bit to realize you're gone and thus not buffer a few of the messages that you haven't yet seen.
Line 130: Line 167:
  % host 208.84.148.90
  % host 208.84.148.90
  90.148.84.208.in-addr.arpa domain name pointer demo.znc.in.
  90.148.84.208.in-addr.arpa domain name pointer demo.znc.in.
As long as the response looks similar then you should be able to
As long as the response looks similar then you should be able to enter the following command and connect to IRC:
  /msg *status SetVHost 208.84.148.90
  /msg *status SetVHost 208.84.148.90
connect to IRC and check that it's working.


If you find you are unable to connect to IRC after attempting to set VHOST options then it is likely you have set an IP address or host name that is not available on your computer. The easiest way to resolve this and get connected to IRC is to
If you find you are unable to connect to IRC after attempting to set VHOST options then it is likely you have set an IP address or host name that is not available on your computer. The easiest way to resolve this and get connected to IRC is to enter the following command try connecting again:
  /msg *status ClearVHost
  /msg *status ClearVHost
and try to connect again.


To get rid of several misunderstandings vhost was renamed to bindhost since version [[ChangeLog/0.096|0.096]].
Note: To get rid of several misunderstandings vhost was renamed to bindhost since version [[ChangeLog/0.096|0.096]].


=== I get 'Could not find znc-config. Please (re)install' when using znc-buildmod ===
=== I get 'Could not find znc-config. Please (re)install' when using znc-buildmod ===
Line 149: Line 184:
and retry.  You can also put the above line into your ~/.profile or ~/.bashrc so it gets set when you login.
and retry.  You can also put the above line into your ~/.profile or ~/.bashrc so it gets set when you login.


=== I keep getting a lot of stuff like /who replies when connected with multiple clients to one znc-user ===
=== I keep getting /who replies when I have multiple clients ===
See the [[Route_replies]] module.
See the [[Route_replies]] module.


=== How can I access webadmin with my browser? ===
=== ZNC ExpandString ===
By default [[webadmin]] runs on the same PORT as your ZNC is accessible.
See [[ExpandString]] for more infomation.
 
If your webinterface won't come up, please ensure that you are using the correct protocol
for connecting. If ZNC listens using SSL, use the HTTPS protocol (https://) instead of just HTTP (http://).
 
If you are using Google Chrome and keep getting an Error 312 (net::ERR_UNSAFE_PORT)
then try calling Chrome with the parameter "--explicitly-allowed-ports=PORT".


=== My IRC-Client doesn't allow multiple connections to one server/host ===
=== My IRC-Client doesn't allow multiple connections to one server/host ===
Line 166: Line 195:
=== How to reload ZNC config without restart? ===
=== How to reload ZNC config without restart? ===
The best way is '''NOT''' to change znc.conf and other files manually while ZNC is running.
The best way is '''NOT''' to change znc.conf and other files manually while ZNC is running.
Use [[webadmin]] or [[controlpanel]] instead, or use <code>/msg *status help</code>
Use [[webadmin]] or [[controlpanel]] instead, or use  
/msg *status help


If you really need to do something in znc.conf, stop ZNC, make your changes and start it again.
If you really need to do something in znc.conf, stop ZNC, make your changes and start it again.


If you ''really'' need to rehash config from file without restart, there're 2 ways to do that: from IRC (<code>/msg *status rehash</code>)
If you ''really'' need to rehash config from file without restart, there're 2 ways to do that, from IRC or shell:
and from shell (<code>pkill -SIGHUP znc</code>). But don't complain if something is broken (because it ''will'' be broken for sure)


=== [10053] Software caused connection abort ===
/msg *status rehash
Socket error 10053 can be caused by attempting to connect without SSL to a znc bouncer with SSL enabled (or vice versa). Refer to your IRC-client's documentation on how to establish a SSL-secured connection to a server.
pkill -SIGHUP znc
But don't complain if something is broken, because it ''will'' be broken for sure


=== How to store private messages even when user is attached, so other clients can see them? ===
=== How to store private messages even when user is attached, so other clients can see them? ===
Line 213: Line 245:
==== How do I connect to my networks? ====
==== How do I connect to my networks? ====


When you supply your username to ZNC in your client, you can include the network as `username/network`. If you send your username in the password field you can use `username/network:password`.
 
When you supply your username to ZNC in your client, you can include the network. Each network requires a seperate connection.
 
/server ip:port username/network:password
If you store your password in the IRC client, use the following example in the password field:
username/network:password


==== Is it the same as in psybnc? ====
==== Is it the same as in psybnc? ====
Line 219: Line 257:
No, ZNC doesn't use stupid tags for networks, which mix up different channels and nick together to one big network with prefixes.
No, ZNC doesn't use stupid tags for networks, which mix up different channels and nick together to one big network with prefixes.
Instead, you should connect to ZNC multiple times, once for each network, see previous question on how to do that.
Instead, you should connect to ZNC multiple times, once for each network, see previous question on how to do that.
Also you may switch between networks on the fly via <code>/msg *status JumpNetwork</code> command.
Also you may switch between networks on the fly via the following command:
/msg *status JumpNetwork  


If ZNC ever supports connecting to all networks together, it will be done properly, without those prefixes, but via an IRC protocol extension instead.
If ZNC ever supports connecting to all networks together, it will be done properly, without those prefixes, but via an IRC protocol extension instead.
Line 228: Line 267:
=== I forgot my ZNC password ===
=== I forgot my ZNC password ===


If you forgot your ZNC password, you can generate a new one and copy/paste the new password over your old one in the znc.conf (Usually located at ~/.znc/configs/znc.conf) Its best to do this while ZNC is not running.
If you forgot your ZNC password, you can generate a new one and copy/paste the new password over your old one in the znc.conf (Usually located at ~/.znc/configs/znc.conf) with the following command:
<!-- TODO - What about when ZNC is running? -->
<!-- TODO - What about when ZNC is running? -->


  znc --makepass
znc --makepass
 
Note: Its best to do this while ZNC is not running.


=== My SSL certificate has expired ===
=== My SSL certificate has expired ===


If your ZNC SSL certificate has expired, you can delete the old one (the filename is znc.pem) and generate a new one with the following command:
If your ZNC SSL certificate has expired, you can delete the old one (Usually located at ~/.znc/znc.pem) and generate a new one with the following command:
  znc --makepem
znc --makepem


Note: You can do this while ZNC is running.
 
=== My question isn't answered here ===
=== My question isn't answered here ===


Line 244: Line 287:
=== Where do I report bugs? ===
=== Where do I report bugs? ===


Create a new issue [https://github.com/znc/znc on GitHub].
* Verify the bug exists in the [[Git|latest version]]
* Report it at [https://github.com/znc/znc/issues Github]


[[Category:ZNC]]
[[Category:ZNC]]

Revision as of 17:13, 5 November 2013


If your question isn't answered here, feel free join freenode or EFnet to talk about this or any other ZNC related issues. We are happy to help wherever we can.

Starting ZNC

Starting

Open a shell and type:

znc

You can see a list of options with:

znc --help

How can I restart ZNC automatically?

Add a cron entry to execute ZNC regularly. If there is already one copy of ZNC running on a particular config file, new copies won't be spawned. Example cron entry:

*/10 * * * *   /home/you/znc/bin/znc >/dev/null 2>&1

This will check if ZNC is running every 10 minutes. If you load a module like awaystore for example, that needs user input to run, you can add the input to the LoadModule line in your config file Example:

LoadModule = awaystore yourpassword

If you're using Vixie's cron, you can start it on start-up like this.

 @reboot your_username /home/you/znc/bin/znc >/dev/null 2>&1

Debugging ZNC

See Debugging

Using ZNC

Connecting to ZNC

See Category:Clients for your IRC clients directions. If you are having any issues connecting, please check the page.

I keep getting "Incorrect Password" when I connect

There are a few ways to supply password:

See Category:Clients on how to supply the password to ZNC automatically.

You can also connect and manually send the password in your IRC client with the following command:

/quote pass username:password

or

/quote pass username/network:password

Also, make sure you did not accidentally load one of the Cyrusauth or imapauth modules.


How do I tell ZNC which network/server a channel belongs to?

You don't. That's not how ZNC works (because the IRC protocol isn't capable of handling multiple servers in one connection and therefore no IRC clients can support it). You need to add one ZNC user per network (Note: since 0.207 it has been changed, user can have several networks now, see Networks). Please also read the next question.

How to use multiple networks like with psybnc?

ZNC works differently. One user represents one network. (Note: since 0.207 it has been changed, user can have several networks now, see Networks) So you need to use a separate ZNC username for each network. You can have multiple ZNC users in one and the same config file, running in one and the same ZNC process.

See this feature request on sf.net for technical details.


I added several different servers, but ZNC connects only to one of them!

You need to have separate user per IRC network (see previous question). (Note: since 0.207 it has been changed, user can have several networks now, see Networks) Additional servers for the same user are for fallback. If one server doesn't work, ZNC tries to connect to another server. So you can add several servers of one network to server list of one user.

I have two ips on my server and I would like to add both to ZNC

By default user can choose any bindhost:

/znc setbindhost 1.2.3.5
/znc jump

If you want to limit users to choose only from the list, or simply to show the list at webadmin at all, you can do this:

/znc addbindhost 1.2.3.4
/znc addbindhost 1.2.3.5

How do I add a new user?

If you are admin, there are at least three ways to add a new user.

The easiest way is to load and use the webadmin module.

If you want to do it from IRC, load the controlpanel module and:

/msg *controlpanel adduser username password


It's not suggested if you are new to ZNC, but it's also possible to add a new user via the config file. To do that, edit znc.conf and add a new <User> section. After that, rehash ZNC by issuing /msg *status rehash from IRC or kill -SIGHUP `pidof znc` from the shell.

How do I add a new network?

You can add a network with the webadmin module.

If you want to do it from IRC, then enter:

/msg *status addnetwork network_name_here

Note: If you are admin, you can increase the max number of networks you are allowed to have in webadmin

How do I get a valid SSL certificate?

See StartSSL for more information.

How do I load / unload modules?

Depending on how you want to load the module, you can enter:

/msg *status loadmod --type=global|user|network module_name_here

Example:

/msg *status loadmod --type=network log

Loading as global will apply for everything.

Loading as user will apply for the network(s) the user has.

Loading as network will only apply for the specific network it was loaded from.

You can look at the modules pages for more information.

Depending on how you loaded the module, you can unload it by entering:

/msg *status loadmod --type=global|user|network module_name_here

Example:

/msg *status unloadmod --type=network log

How do I use the loaded modules?

/msg *modulename command

or

/znc *modulename command

" * " is the StatusPrefix, which you can change by

/msg *controlpanel set statusprefix $me new_prefix_here 

How do I access webadmin with my browser?

By default webadmin runs on the same PORT as your ZNC is accessible.

If your webinterface won't come up, please ensure that you are using the correct protocol for connecting. If ZNC listens using SSL, use the HTTPS protocol (https://) instead of just HTTP (http://).

If you are using Google Chrome and keep getting an Error 312 (net::ERR_UNSAFE_PORT) then try calling Chrome with the following parameter or use a port that is not used by default for IRC. --explicitly-allowed-ports=PORT

How do I to change the timestamps?

See Timestamps for more information.

I got banned from #channel and ZNC keeps trying to rejoin

Enter the following command and ZNC will stop:

/part #channel 

I keep getting kicked for flood when I reattach ZNC!

This happens if you use "many" channels, due to IRC clients flooding the server with commands upon reattach. There is no throttling/fix for this yet. A workaround is disable AutoClearChanBuffer and setting some lines of buffer for each channel. (You should experiment how many is enough.) Some clients like xchat (and forks) will `/who #channel` when you join the channels to get the idle status to color the nicklist.

I keep seeing the channel buffer from the last time I connected

If you have a large channel buffer, it may be annoying to see the channel buffer every time you reconnect. To have ZNC erase the channel buffer every time you connect, set:

AutoClearChanBuffer = true 

using the webadmin module or by controlpanel

/msg *controlpanel set AutoClearChanBuffer $me true

This will result in only the missed messages being played back to you upon reconnecting. Be careful if you use more than one client as znc will still see you as connected when one drops off and messages will not be buffered. Also, if your connection to znc dies unnaturally, znc might take a little bit to realize you're gone and thus not buffer a few of the messages that you haven't yet seen.

What are VHOSTS and why can't I make mine work?

ZNC VHOST option controls the IP address ZNC will attempt to make connections to the IRC servers from. For this to be successful the computer you're running ZNC on must have this IP address configured and usable for your user. For it to show up as a host name on IRC there must be matching forward and reverse DNS in place. You can check this with:

% host demo.znc.in
demo.znc.in has address 208.84.148.90
% host 208.84.148.90
90.148.84.208.in-addr.arpa domain name pointer demo.znc.in.

As long as the response looks similar then you should be able to enter the following command and connect to IRC:

/msg *status SetVHost 208.84.148.90

If you find you are unable to connect to IRC after attempting to set VHOST options then it is likely you have set an IP address or host name that is not available on your computer. The easiest way to resolve this and get connected to IRC is to enter the following command try connecting again:

/msg *status ClearVHost

Note: To get rid of several misunderstandings vhost was renamed to bindhost since version 0.096.

I get 'Could not find znc-config. Please (re)install' when using znc-buildmod

If you manually provided a --prefix option when building znc then you will need to ensure that this prefix is in PATH. For example, if you did

./configure --prefix=$HOME/local

you will need to ensure that

echo $PATH

includes $HOME/local/bin (expanded to your home dir, not literally $HOME). If it doesn't then a quick, one-time fix is to type

export PATH=$HOME/local/bin:$PATH

and retry. You can also put the above line into your ~/.profile or ~/.bashrc so it gets set when you login.

I keep getting /who replies when I have multiple clients

See the Route_replies module.

ZNC ExpandString

See ExpandString for more infomation.

My IRC-Client doesn't allow multiple connections to one server/host

Try to use different local aliases for the bnc-host.

How to reload ZNC config without restart?

The best way is NOT to change znc.conf and other files manually while ZNC is running. Use webadmin or controlpanel instead, or use

/msg *status help

If you really need to do something in znc.conf, stop ZNC, make your changes and start it again.

If you really need to rehash config from file without restart, there're 2 ways to do that, from IRC or shell:

/msg *status rehash

pkill -SIGHUP znc

But don't complain if something is broken, because it will be broken for sure

How to store private messages even when user is attached, so other clients can see them?

Here's simple workaround.

First, you should know number of wanted clients. Let's say that you want 3 clients: 1 xchat and 2 irssi-s. Let's say that your username is johndoe.

Make following users: johndoe_ircd, johndoe_xchat, johndoe_irssi1, johndoe_irssi2. This naming scheme isn't strict - everything is up to you. Set StatusPrefix for "client users" to something else, for example ^, because otherwise you won't be able to speak to both *status-es.

Connect user johndoe_ircd to IRC server. Connect users johndoe_xchat, johndoe_irssi1 and johndoe_irssi2 to 127.0.0.1 to the same ZNC, to user johndoe_ircd.

Connect xchat to johndoe_xchat, and irssi to johndoe_irssiN.

           ___________________________________________________
          /                                                   \
         |                         ZNC                         |
         |                                 via 127.0.0.1       |
xchat ------> user "johndoe_xchat"------------\                |
         |                                     v               |
irssi1 -----> user "johndoe_irssi1" ---> user "johndoe_ircd" -----> IRC server
         |                                     ^               |
irssi2 -----> user "johndoe_irssi2" ----------/                |
         |                                                     |
          \___________________________________________________/

This way, every private message that johndoe_ircd gets, is sent to all "client users", and they remain in those buffers until that client reads them.


Networks

What is this new network support?

It means you can add multiple IRC networks such as EFnet and freenode onto a single user. Instead of creating multiple users for each network like you did in versions before 1.0.

How do I connect to my networks?

When you supply your username to ZNC in your client, you can include the network. Each network requires a seperate connection.

/server ip:port username/network:password

If you store your password in the IRC client, use the following example in the password field:

username/network:password

Is it the same as in psybnc?

No, ZNC doesn't use stupid tags for networks, which mix up different channels and nick together to one big network with prefixes. Instead, you should connect to ZNC multiple times, once for each network, see previous question on how to do that. Also you may switch between networks on the fly via the following command:

/msg *status JumpNetwork 

If ZNC ever supports connecting to all networks together, it will be done properly, without those prefixes, but via an IRC protocol extension instead. Also that extension should be standardized at IRCv3, to allow client developers to support it easier.

Troubleshooting

I forgot my ZNC password

If you forgot your ZNC password, you can generate a new one and copy/paste the new password over your old one in the znc.conf (Usually located at ~/.znc/configs/znc.conf) with the following command:

znc --makepass

Note: Its best to do this while ZNC is not running.

My SSL certificate has expired

If your ZNC SSL certificate has expired, you can delete the old one (Usually located at ~/.znc/znc.pem) and generate a new one with the following command:

znc --makepem

Note: You can do this while ZNC is running.

My question isn't answered here

Hop on freenode or EFnet and ask! Even if nobody's around, you shouldn't have to wait long for someone to get back.

Where do I report bugs?