Connecting ircd-hybrid to hybserv
Today at work I decided to set up an irc server on our tiny little ubuntu 9.10 intranet server. Having played with a few different ircd implementations before, I decided to go with one which was available as an ubuntu package (so not unrealircd or ircd-seven) and looked supported — I chose ircd-hybrid along with the apparently related hybserv.
Installation and configuration of ircd-hybrid was not difficult. For some reason it took a couple of tries to get the operator password to work. I may have had a typo though issuing:
$ /usr/bin/mkpasswd -Hmd5 mypassword
worked once pasted into the password field of the operator section.
The tough part came when attempting to hook up hybserv. The hybserv process was up and running and attempting to connect to ircd with a logged failure message:
Fri Jun 4 02:44:40 2010 Connecting to 127.0.0.1[127.0.0.1] tcp/6667
Fri Jun 4 02:44:40 2010 Connected to 127.0.0.1 tcp/6667
Fri Jun 4 02:44:40 2010 Server Error: Closing Link: 127.0.0.1 (Invalid password.)
Fri Jun 4 02:44:40 2010 Read error from server: Broken pipe
This confused me since I thought I had a simple and unencrypted password. After some playing around with the configuration some, I managed to get a slightly more helpful message:
Fri Jun 4 04:32:00 2010 Server Error: Closing Link: 127.0.0.1 (Server ID Exists)
After a little bit of head scratching and a lot of searching on google only to find no useful results, I eventually started playing with the configuration for hybserv and got:
Fri Jun 4 04:31:20 2010 Server Error: Closing Link: 127.0.0.1 (Invalid servername.)
Much of the problem of configuring ircd-hybrid to work with hybserv is that the hybserv configuration refers to the older irc configuration syntax. The hybserv configuration and documentation available refers to the M line and the N line and other lines in your ircd.conf — all of which do not exist. Luckily, ircd-hybrid did keep comments like (OLD U:) in the configuration and the connect section had the comment:
/* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */
This is when the a-ha hit. I made up a name in the server section of ircd.conf and copied that same made up name into hybserv.conf. On restart, hybserv quickly connected and everything works.
Excerpt from ircd.conf:
connect {
name = "irc-services.mydomain.com";
host = "127.0.0.1";
send_password = "plaintextpass";
accept_password = "plaintextpass";
hub_mask = "*";
class = "server";
};
Excerpt from hybserv.conf:
N:irc-services.
mydomain
.com:Hybrid services
S:plaintextpass
:127.0.0.1:6667
Lessons learned beyond these snippets:
- Get /oper working first — it speeds up everything and gives you more information when connected and in operator mode.
- Once you have /oper working, /rehash is your friend.
- Remember to restart hybserv with every configuration change.
If you run into this issue, hopefully google will find this post for you!
Man, this helped me so much. I’d never gotten services working until your post gave me an aha moment, too. I realized hybserv is basically another server connecting to ircd-hybrid.
… incidentally, how did you get oper working? Unless I’m simply requesting ops wrong, I didn’t get it working yet.
The /oper command worked for me after a couple of tries with the /usr/bin/mkpasswd command.
Thanks for helping me getting mine up and running, please excuse my noobish question, how do i log in as ServAdmin, Oper, etc.
Hey Your post definitely helped however once i start both servers ircd and hybserve i don’t see the ChanServ or NameServ being connected to the server. Any idea how to connect them ?
Thanks.
Hey Mate,
Great post, helped me get my IRCD working properly.
Champion ! =D
great post!,
did you ever get hybserv connecting to ircd-hybrid with a secure ssl connection?
gracias amigo