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.

Introduction

From ZNC
Jump to navigation Jump to search

Hint: This has been written by a beginner and is intended to help beginners. I had some trouble figuring out stuff that is just obvious as soon as you use ZNC. So this text should provide all the information to get started and link to further information. This page is still incomplete. It is intended to complement, not replace other pages in this wiki. Please extend and fix this page. Thanks.

This Introduction tries to be useful to readers who are new to both IRC Bouncers and ZNC.

Usually a IRC Client connects to a IRC Server. With a IRC Bouncer (like ZNC), the IRC Client connects to the IRC Bouncer and the IRC Bouncer connects to the IRC Server. The most common benefits of this are:

  • The IP Address of the Bouncer is visible on the IRC network instead of the IRC Client IP Address
  • The bouncer can keep the connection to the server when the client disconnects. This is a way to keep the IRC nickname. To be able to keep up the connection for a long time, IRC Bouncers are usually run on computers with stable internet connections (and static IP Addresses).
  • The bouncer can stay in a channel while the client disconnects. This way
    • a user can keep their channel modes (like op), and
    • the bouncer can buffer chat messages while the client is disconnected and send them to the client as soon as it reconnects.
  • multiple devices (like Desktop Computer, Notebook and Smartphone) can share a single IRC nickname

To get started with ZNC you need to:

  • find a computer with a good internet connection (ideally a vserver or root server) that is accessible from the IRC client (with a global ip address, dyndns or accessable via vpn)
  • install znc on that computer (now called Bouncer Server). The easiest way is to use the ZNC packages provided by your Linux distribution.
  • create a ZNC Configuration
    • First run znc --makeconf. It will ask you a few questions and create a configuration in ~/.znc/ accordingly.
    • Global:
      • Port: Common IRC ports are 6667 for non-ssl and 6697 for ssl
      • SSL: to use SSL you need a IRC Client that can handle SSL and a SSL-certificate. However ZNC automatically generates a simple self-signed SSL-certificate, so it's easy to just use SSL. Of course you can use your own certificate as well, if you already have one.
      • IPv4 and/or IPv6
      • Modules: As a ZNC beginner, you probably just want to use webadmin. That's the easiest way to complete your configuration. However, configuration can also be done via IRC (but you need to look up commands) or by editing the configuration file (not recommended).
    • User:
      • Username: You can have mutiple ZNC users for each ZNC instance you run, but you need at least one user for ZNC to be useful. If you have multiple IRC nicknames (on one Network), you will need multiple Usernames. You can use your IRC Nickname here, or another name.
      • Password: This Password is used when connecting to ZNC (together with the Username). This is not the Password you may need to connect to a IRC Server.
      • Admin: The ZNC Admin can change all ZNC configurations: The global settings (like Portnumber), its own user configuration and the configuration of other users. (It is possible to create a user just for admin purposes, without any networks or channels)
      • Nick: IRC Nickname, can be same as Username
      • Alt Nick: IRC Nickname if Nick above is in use, e.g. in case of a netsplit.
      • Ident: IRC Ident, usually your unix username, or anything you choose.
      • Real Name: anything you choose.
      • Nick, Alt Nick, Ident and Real Name are just defaults an can be overwritten for each Network later.
      • Bind Host: In case your Bouncer Server has multiple IP addresses, you can choose which one the Bouncer should use to connect to the IRC Server. This does not specify which address the Bouncer should listen on for incoming connections from your IRC Client! (That would be Host in Listener)
      • # of lines: This limits the number of messages you get when reconnecting to your bouncer.
      • clear channel buffers: TBD
      • channel modes: TBD
    • Network: When you do not use a bouncer, you specify the IRC Server you want to use in your IRC Client. When you use a bouncer, the IRC Bouncer is entered in the IRC Client instead. So you need a way to specify where the Bouncer should connect to. That's what the Network configuration is for.
      • Each network has a name, a IRC Server host, a IRC Server port, an optional password, and a SSL flag (yes/no).
      • you can add/change/delete networks via the webadmin webinterface. The webinterface listens on the same port as the IRC bouncer.
      • if you choose to have multiple networks per bouncer user, you should use username/networkname instead of username in your IRC Client. (TBD: link to per irc client info / workarounds)
    • Channels: You do not need to add a channel to your config now, you can join channels using your IRC client after connecting. However you can add a channel so that ZNC automatically connects. However you need to be aware that whenever you leave a channel in your IRC client, ZNC also leaves the channel. If you want ZNC to stay in the channel and buffer messages, you need to either go offline or detach from the channel.
  • run ZNC
  • connect to ZNC with your IRC Client