$Id: README,v 1.51 2003/02/10 19:09:40 kreator Exp $

NOTES:
The former Hybserv development team has decided to spin off and
focus its energies towards the HYBSERV2 project. Like the name
implies this new version will be even better then that last. If
their is something you would like to see added to HYBSERV2 please
let us know as we are always looking for new ideas.

IMPORTANT NOTE:
Per Sidewnder's (Cosine's) request - HYBSERV will no longer be
supported. So if you have some questions or problems, please
*upgrade* first to a version listed in the HYBSERV2 dir.

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.


HYBSERV STAFF:

Lead developer of HybServ2

kreator     Dinko Korunic        kreator@srce.hr

The following people have contributed to this release of HybServ2
(in nick alphabetical order):

adx         Piotr Nizynski       adx@crashnet.pl
args        Antoniu-George Savu  antoniu-george.savu@fr.tiscali.com
asuffield   Andrew Suffield      asuffield@users.sourceforge.net
bane        Dragan Dosen         ddosen@nano.vef.hr
Bruns       Brian Bruns          bruns@magenet.net
c0manche    Olivier Molinete     omg@digitallyunited.com
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
Hwy101      Wendy Campbell       wcampbel@botbay.net
ike         Ivan Krstic          ike@gnjilux.srk.fer.hr 
Janos       John Binder          jbinder@kgazd.bme.hu
John-Work   F. John Rowan        john@tdkt.org
kreator     Dinko Korunic        kreator@srce.hr
KrisDuv     Christophe Duverger  krisduv2000@yahoo.fr
mend0za     Vladimir Shahov      mend0za@nsys.by
rhodie      Julian Petrov        rhodie@irchelp.unibg.org
sofit       Stanislav Zahariev   sofit@mail.bg
toot        Toby Verrall         to7@antipope.fsnet.co.uk
    
HybServ was specifically designed to run with hybrid ircd, although it
*should* work with CSr as well.  You may receive the hybrid irc daemon
from ftp.blackened.com in /pub/irc/hybrid. These services (more or less
same code) are currently used by EFNet / DalNet / ICQ / WFNet / HybNet /
EFNow / Openprojects Network.

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.

DISTRIBUTION

  You can get HybServ from:

  #1:  Anonymous CVS:
       :pserver:cvs@hybserv.dyndns.org:/home/cvs
       cvs login
       <press enter, no password>
       cvs checkout hybserv

  #2:  CVS Web:
       http://hybserv.dyndns.org/

  #3:  Mirrors:
       http://www.2mbit.com/hybserv2/
       http://www.srce.hr/~kreator/projects/tarballs/

NOTE: CVS is usually more current than the release.


INSTALLATION

  Read the INSTALL file :-).

#########################################################################
# BUGS -  PLEASE PLEASE PLEASE mail any bugs you find to                #
#                                                                       #
#          kreator@srce.hr                                              #
#                                                                       #
#########################################################################
 
We can't fix bugs if no one reports them!

The criteria for reporting bugs is somewhat specific. 

1. We need to know exactly how to reproduce the bugs. Use
   #define DEBUG in include/config.h to make sure server
   will produce corefile.

2. If you do not know how to reproduce the bug at will, please
   do the following: #define EXTREMEDEBUG in config.h, which will
   cause the file "hybserv.hubinfo" to be created. If the bug
   occurs again, email to kreator@srce.hr the hybserv.hubinfo
   file, and it will give us a starting point.


################################################################
# If you are interested in helping out with the development of #
# HybServ feel free to join the HybServ Development List       #
################################################################

Below are the official HybServ2 mailing lists:

These are publicly postable lists.

Here we can discuss anything we need and make sure problems get fixed.
Please feel free to give out this address, and you may subscribe by
sending email to:

hybserv-request@hybserv.dyndns.org

(Please use a command from below in the body of the message and
 not in the subject)

Available Lists 

  hybserv         General HybServ2 talk, issues, bugs, etc.


Available List Manager (Ecartis) Commands:
------------------------------------------

subscribe
        Syntax: subscribe [<list>] [<user>]
        Subscribe to a list                                                   

unsubscribe
        Syntax: unsubscribe [<list>] [<user>]
        Unsubscribe from a list      

which
        Syntax: which
        Display lists to which you are subscribed
        
who
        Syntax: who [<list>]
        Display membership for a list

info
        Syntax: info [<list>]
        Retrieves the info for a list.

lists
        Syntax: lists
        Send list of mailing lists available on this site.

help
        Syntax: help
        Send user the helpfile

commands
        Syntax: commands
        Send list of available commands, providing a 'cheat sheet' for
        users.  This takes into account any local plugins. 

end
        Syntax: end
        Ends processing of list server commands       


#########################################################
# Running Hybserv                                       #
#########################################################

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 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:

  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 Hybrid 7 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. 

IMPORTANT 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 Hybrid-7 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";
  };

##########################################################################
# Legal Stuff:                                                           #
##########################################################################

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.

##########################################################################
# Credits:                                                               #
##########################################################################

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>, W. Campbell, and Hybrid7 team.

Some help files were used from EsperNet's service package:

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.

