Hybrid2 IRC Services
C Shell Other
Latest commit 90b381f Feb 23, 2015 @dkorunic dkorunic - update Kamen's email
Failed to load latest commit information.
autom4te.cache - fix libefence and libdmalloc configure/detection Jan 11, 2013
bin - remove spurious $Id$ references throughout the code Jan 9, 2013
compat - print all warnings (misc) Jan 9, 2013
contrib - welp, Dockerfile has to be in / to pick README... Nov 7, 2014
doc - remove spurious $Id$ references throughout the code Jan 9, 2013
help - add Fuckover docs back [Kamen Sabeff] Apr 30, 2013
include - smarter expire patches [Kamen Sabeff] Apr 30, 2013
src - add travis conf May 4, 2014
tools - remove spurious $Id$ references throughout the code Jan 9, 2013
.gitignore - add self-scripted Coverity integration script to ignore Jan 8, 2013
.travis.yml - update travis configuration May 4, 2014
COPYING - smaller changes for 1.9.0 release Jun 19, 2005
ChangeLog - stage 1.9.5 release Jul 4, 2013
Dockerfile - Dockerfile cleanups Nov 18, 2014
INSTALL - remove spurious $Id$ references throughout the code Jan 9, 2013
Makefile.in Update Makefile.in Jul 17, 2014
README.md - update Kamen's email Feb 23, 2015
RELEASENOTES - stage 1.9.5 release Jul 4, 2013
TODO - remove spurious $Id$ references throughout the code Jan 9, 2013
UPGRADE - remove spurious $Id$ references throughout the code Jan 9, 2013
aclocal.m4 - improve svn version detection in configure script for newer Subversion Nov 12, 2006
config.guess - move autoconf stuff from autoconf/ to root Jul 26, 2005
config.sub - move autoconf stuff from autoconf/ to root Jul 26, 2005
configure - fix libefence and libdmalloc configure/detection Jan 11, 2013
configure.in - fix libefence and libdmalloc configure/detection Jan 11, 2013
install-sh - move autoconf stuff from autoconf/ to root Jul 26, 2005
install.fast - remove spurious $Id$ references throughout the code Jan 9, 2013


Travis CI Build Status Coverity Scan Build Status Issue Stats


Important note: as it currently stands, Hybserv2 is incompatible with IRCD Hybrid 8.x as they have decided to be TS3 incompatible. There is some grunt work needed to make it fully TS6 and I personally don't have any more time and interest to code for IRC and related to IRC. For me, IRC has long died, as well as NNTP and other things we Unix kids loved in the past.


Hybserv2 is a new and improved version of the now unsupported Hybserv, sporting new features, bugfixes, and more. It is specifically designed for Hybrid IRC servers, but may work with others as well. It includes OperServ, NickServ, ChanServ, MemoServ, StatServ, HelpServ, and Global. Each of the services can be enabled and disabled as necessary.

Hybserv was specifically designed to run with Hybrid6/7 IRCd, although it should work with Ratbox IRCd and any other Hybrid-based IRCd. You may find the Hybrid IRC daemon at http://ircd-hybrid.com/. These services (more or less same code) are currently used by several other networks such as idolNET, BalcanNET, BGNet, BGFree, UniBG, BCNet, GunNet, ShakeIT, FreeWorld, IRCBG, FreeNode/OPN.

The former Hybserv development team has decided to spin off and focus its energy towards the Hybserv2 project. Like the name implies, this new version is even better. If there is something you would like to see added to Hybserv2, please let us know as we are always looking for fresh ideas.

NOTE: Per Sidewnder's (Cosine's) request - original Hybserv will no longer be supported. So if you have questions or some problems, please upgrade first to a recent stable or even to a development version.

Hybserv was first coded by Patrick Alken wnder@underworld.net and is now maintained by the Hybserv2 Coding Team, unless otherwise mentioned in the code or the Credits.


Lead developer of Hybserv2:

IRC nick real name e-mail
kreator Dinko Korunic dinko.korunic@gmail.com

The following people have contributed to Hybserv2 in blood and sweat (nick alphabetical order):

IRC nick real name e-mail
adx Piotr Nizynski adx@crashnet.pl
alex Ales Tokic ales.tokic@gmail.com
args Antoniu-George Savu antoniu-george.savu@fr.tiscali.com
asuffield Andrew Suffield asuffield@users.sourceforge.net
bane Dragan Dosen ddosen@ddosen.net
bbrazil Brian Brazil bbrazil@netsoc.tcd.ie
BEER_MAN Ilian Jovchev ilian@irc.zonebg.com
Bruns Brian Bruns bruns@magenet.net
CoolCold Roman Ovchinnikov coolcold@coolcold.org
cosine Patrick Alken wnder@uwns.underworld.net
ddb Ivan Petrov ddb@xplovdiv.com
decho Nedelcho Stanev decho@iname.com
fl_ Lee Hardy lee@leeh.co.uk
harly Tomislav Novak harly@bofhlet.net
ike Ivan Krstic ike@gnjilux.srk.fer.hr
Janos John Binder jbinder@kgazd.bme.hu
John-Work F. John Rowan john@tdkt.org
knight Alan Levee alan.levee@prometheus-designs.net
KrisDuv Christophe Duverger krisduv2000@yahoo.fr
mend0za Vladimir Shahov mend0za@nsys.by
MOLI Olivier Molinete olivier@molinete.org
rhodie Julian Petrov rhodie@irchelp.unibg.org
Sarisa Wendy Campbell wcampbel@botbay.net
sofit Stanislav Zahariev sofit@proshe.bg
t0sh Todor Dimitrov todor_p_dimitrov@yahoo.com
toot Toby Verrall to7@antipope.fsnet.co.uk
Craig Kamen Sabeff kamen@wpw.pw

We are grateful to all these people, as well as all users that have been reporting bugs last several years. Thank you, without you this project would be meaningless.


You can get Hybserv2 from:

  1. Hybserv2 home and Hybserv2 releases

    NOTE: GitHub copy is always more current than the release, since it is working/development version. It is possible to checkout any needed release via appropriate tags (for example REL_1_9_5).


Please read the INSTALL file. NOW.


Make sure that each hub server you have specified in your config file has C/N lines for Hybserv matching the password in the first field of the S: line and the server name specified in the N: line. Also, if you wish to enable jupes (#define ALLOW_JUPES), you MUST give services an H: line in ircd.conf.

Configuration examples:

NOTE: Suppose the host name of services is "services.name" with an ip of, and that server accepting the services has name "server.shomewhere" with ircd class "server" (or class 1).

Required statements in ircd.conf for Hybrid5/6:


NOTE: You can leave out H line if you don't want to use server jupes and G-Lines.

NOTE: We recommend using services on same server that is your hub, and then you can use as address in C/N lines (which will give you some performance, since traffic will go through loop back device).

However in Hybrid7 to accomplish the same you have to put in ircd.conf following code:

  connect {
    name = "services.name";
    host = "";
    send_password = "password";
    accept_password = "password";
    compressed = no;
    hub_mask = "*";
    class = "server";

In hybserv.conf configuration should be as follows:

  N:services.name:Hybrid services

When you have compiled Hybserv and edited the necessary files, simply type ./hybserv which should start daemon properly. If it is not in process list, check hybserv.log which should state reasons of failure.

Then, go on IRC and type: /msg OperServ identify

Assuming OperServ is the OperServNick defined in settings.conf and you have given yourself a O: line in hybserv.conf. You should be allowed to give OperServ commands through /msg or DCC CHAT.

For a list of commands do: /msg OperServ help

Most commands may also be done through DCC CHAT, and in fact more commands are available through DCC CHAT. Simply /dcc chat OperServ to connect, and .help

I have tried to make Hybserv fully compatible with TCM (linking wise). If you wish Hybserv to be part of your TCM botnet, read TCM-LINKING for instructions. If you have no idea what a TCM bot is, don't worry about it :-)

If you enabled NickServ, ChanServ, MemoServ etc. in config.h, you can get lists of their commands through */msg Serv help. NickServ and ChanServ have several commands that can only be executed by administrators. This means you must match an O: line (with an "a" flag) in hybserv.conf and be registered with OperServ to use them. This can be done by typing /msg OperServ password, these commands CANNOT be accessed by DCC Chat.

NOTE: If you use Hybrid or Hybrid-compatible IRC daemon, you should enable Q-lines (quarantined nickname) for services-reserved nicknames because of obvious security reasons:

  Q:NickServ:This nickname is reserved.
  Q:ChanServ:This nickname is reserved.
  Q:OperServ:This nickname is reserved.

However Q lines changed in Hybrid7. Feel free to copy and paste these lines:

  resv {
    # The reason must go first
    reason = "This nickname is reserved";
    nick = "NickServ";
    nick = "ChanServ";
    nick = "OperServ";


Use the appropriate bug reporting and ticketing system: Hybserv2 Issues

Alternative, subscribe to the mailing list (details follow) and post them there. We can't fix bugs if no one reports them!


This package has absolutely no warranty. Use at your own risk. The author will accept no responsibility for any damage, whatsoever, caused by this program.

This software is released under the terms of the GNU General Public License (see COPYING). Should you choose to use and/or modify any of code, please do so under the terms of the GNU General Public License, published by the Free Software Foundation.


Functions used from other GPL'd sources:

  • match() -- from ircd-hybrid source
  • HashNick() -- from ircd-hybrid source
  • HashChannel() -- from ircd-hybrid source

tools/mkpasswd.c is copyright (C) 1991 Nelson Minar minar@reed.edu, Wendy Campbell wcampbel@botbay.net, and Hybrid7 team.

Some help files were used from EsperNet's service package: ftp://ftp.dragonfire.net/software/unix/irc

The ideas for a settings.conf and the shownicks/showchans programs were inspired from this package as well. See also the beginning of this file.