Hybserv2 Homepage : HybservCompileAndRun

HybservStart :: Categories :: PageIndex
:: RecentChanges :: RecentlyCommented :: Login/Register

Hybserv compile and run


Hybserv2 was specifically designed to run with Hybrid ircd, although it
*should* work with Ratbox ircd and any other Hybrid-based ircd.

Compilation process
The fast and easy way:

 ./install.fast


NOTE: If you use this script, you must make sure config.h is correctly configured prior to running the script. Also - using this script will default to installing Hybserv2 in /usr/local/hybserv/, unless you first edit Makefile.in.

In order to compile Hybserv2, you should perform the following steps:

  1. Enter the hybserv tree and run ./configure, a GNU configure script, which should find whatever it needs for compilation.
  2. Edit include/config.h and change the information to suit your IRC network. This is a must. Also, be sure to edit bin/hybserv.conf to set up the services to work with your network. This is the file where you can give others access to Hybserv2.
  3. Run 'make' in the hybserv tree to compile the package. When make finishes, you'll probably want to: 'strip bin/hybserv' to remove debugging symbols from the file, since the author is the only one who really uses it. It also decreases the file size greatly.
  4. Finally, become root if necessary, and run 'make install' to install Hybserv2 on your system. The default install directory is /usr/local/hybserv. This will automatically chown the install directory to the same user who ran the configure script, so it won't run as root. You can change the user by editing Makefile.
  5. You may wish to remove any objects/binaries created during installation. You can do this via 'make clean'. If you wish to remove any configure generated files as well, use 'make distclean'.

NOTE: if you want to install Hybserv2 in a directory other than /usr/local/hybserv, you must run the configure script with the --prefix option.

For example, if you want to install Hybserv2 in /home/mydir:

 ./configure --prefix=/home/mydir
 make all install


Then, Hybserv2 will be installed in /home/mydir/hybserv.

NOTE: ./configure script accepts several additional parameters which can be used to fine-tune your setup:

 --disable-largefile     omit support for large files
 --enable-dmalloc        Enable dmalloc support [[default=no]]
 --enable-warnings       Enable compiler warnings [[default=no]]
 --enable-asserts        Enable asserts in code [[default=no]]
 --enable-gimmecore      Enable core dumping [[default=yes]]
 --enable-daemontools    Enable daemontools support [[default=no]]
 --with-nicklen=LENGTH     Sets nick length to LENGTH [[default=18]]
 --with-chanellen=LENGTH   Sets channel length to LENGTH [[default=200]]
 --with-topiclen=LENGTH    Sets topic length to LENGTH [[default=90]]
 --with-network=TYPE       Sets network type TYPE


Hybserv2 is known to compile cleanly on the following operating systems, and may compile on others:


Systems known not to compile sucessfuly (ie. miserably fail):


If you are unable to compile Hybserv, please make a bug report. Bug reports, suggestions/feature requests are very helpful.

Configuration and running

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.

NOTE: Suppose the host name of services is "services.name" with an ip of 1.2.3.4, 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 are:

 C:1.2.3.4:password:services.name::1
 N:1.2.3.4:password:services.name::1
 H:*:*:services.name


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 127.0.0.1 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 = "1.2.3.4";
   send_password = "password";
   accept_password = "password";
   compressed = no;
   hub_mask = "*";
   class = "server";
 };


In hybserv.conf configuration should be as follows:

 S:password:hub.server.somewhere:6667
 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 <password>


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";
 };
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.2
Page was generated in 0.1199 seconds