Linking to BlabberNet

Prequisites

Operating an IRC server requires technical knowledge in networking, Unix, and the IRC protocol itself. Other than that, you will need:

  • A Unix based server or virtual server.
  • A permanent connection with static IP address.
  • One IP address dedicated to IRC services, ie. not shared with web, mail, etc. services.
  • Git and other development tools.
  • Working NTP time synchronisation.

New servers undergo a 2 week trial before being given a DNS entry in the blabber.net domain, and 1 or more months trial before being placed in the irc.blabber.net DNS pool. Entry into the pool is given on the merit of server stability - unstable links will not be included in the pool.

If you'd like to link to BlabberNet, please contact us.

Overview

Preparing your server for linking to BlabberNet follows these steps:

  1. Creation of a user account and home directory.
  2. Cloning the Git repository.
  3. Compiling and installing InspIRCD.
  4. Compiling and installing BOPM.
  5. Configuring InspIRCD.
  6. Configuring BOPM.
  7. Configuring loaddaemons script.

Both InspIRCD and BOPM are distributed from our Git repository and should not be downloaded from elsewhere. The Git versions sometimes contain bug fixed or enhanced versions that we need.

If this document seems sparse, please expand it based on your experience after linking.

1. Creation of a user account and home directory

The user account name should be blabber so as to maintain a single convention across all servers. The remainder of this guide assumes this and that the account home directory is /home/blabber.

The steps to creating a user account varies between different Linux distributions, but below are two examples to try:

adduser --home /home/blabber --shell /bin/bash --gecos "Blabber" blabber
useradd --home-dir /home/blabber --shell /bin/bash --comment "Blabber" blabber

This is the only step to be performed by the root user. Switch to the blabber user for the remaining steps!

su -l blabber

2. Cloning the Git repository

Access details of the Git repository must be obtained from us privately. You will need to give us a working SSH public key.

Cloning the repo will leave you with something like the following:

/home/blabber/source/InspIRCd-2.0.0.tar.bz2
/home/blabber/source/bopm-3.1.3.tar.gz
/home/blabber/inspircd/conf/blabber.conf
/home/blabber/inspircd/conf/blabber.motd.tpl
/home/blabber/inspircd/conf/blabber.rules
/home/blabber/bopm/etc/bopm.conf.blabber
/home/blabber/loaddaemons

From top to bottom these are:

  1. InspIRCD tarball distribution.
  2. BOPM tarball distribution.
  3. BlabberNet IRCD configuration.
  4. BlabberNet IRCD MOTD template.
  5. BlabberNet IRCD rules file.
  6. Sample BOPM configuration.
  7. Crontab script to restart daemon processes.

3. Compiling and Installing InspIRCD

Extract the distribution tarball and from within the extracted directory run:

./configure --enable-extras=m_regex_pcre.cpp,m_geoip.cpp
./configure

You'll be prompted for various information, the answers to which are:

Info Answer
Base install path /home/blabber/inspircd
Config path /home/blabber/inspircd/conf
Module path /home/blabber/inspircd/modules
Binary path /home/blabber/inspircd/bin
SSL support Yes
3rd party modules update No

Once you get through that, compile and install:

make
make install

4. Compiling and installing BOPM

Extract the distribution tarball and from within the extracted directory run:

./configure
make
make install

5. Configuring InspIRCD

You need to create a configuration for your server in /home/blabber/inspircd/conf/inspircd.conf. Here's a configuration template:

<config format="xml">
<server name="SERVERNAME.blabber.net" description="STATE/PROVINCE, COUNTRY" network="blabber">
<admin name="YOUR_NAME" nick="YOURNICK" email="YOURMAIL@example.net">
<define name="bindip" value="IRCD_IP_ADDRESS">
<bind address="&bindip;" port="6667" type="clients">
<bind address="&bindip;" port="7000" type="clients" ssl="openssl">
<bind address="&bindip;" port="8000" type="servers" ssl="openssl">

<power diepass="DIE_PASSWORD" restartpass="RESTART_PASSWORD">

<include file="conf/blabber.conf">

<oper name="YOURNICK" hash="sha256" password="HASH" host="*@example.net *@example.com *@localhost" type="NetAdmin">

<link name="YOURUPSTREAM.blabber.net"
	bind="BIND_ADDRESS"
	ipaddr="UPSTREAM_ADDRESS"
	port="8000"
	allowmask="IPMASK/24"
	timeout="5"
	ssl="openssl"
	sendpass="SENDPASS"
	recvpass="RECVPASS">

<autoconnect period="120" server="YOURUPSTREAM.blabber.net">

Text in uppercase needs to be edited by you for your server specifics.

6. Configuring BOPM

You should find a sample configuration in /home/blabber/bopm/etc/bopm.conf.blabber. This sample has various lines with the text “EDITME” erroneously inserted to mark fields that need to be edited. Make a copy of the sample:

cd /home/blabber/bopm/etc && cp bopm.conf.blabber bopm.conf

Then edit bopm.conf using these clues for each marked field:

field description
options::pidfile Full path to BOPM's pidfile. Usually /home/blabber/bopm/var/bopm.pid.
irc::vhost IP address to bind to when connecting to the IRCD. Usually the same IP address as your IRCD.
irc::nick Bot's nickname. Our convention is “beebopX” where X is a sequential number.
irc::server IP address of your IRCD.
scanner::vhost IP address to bind to when port scanning. Usually the same IP address as your IRCD.
scanner::target_ip IP address of your IRCD.
scanner::target_string Connection string to look for - edit this so that the hostname matches your server's hostname.

7. Configuring loaddaemons script

In the base of the blabber home directory is a script called “loaddaemons”. It is run by crontab every 5 minutes to ensure the IRCD and BOPM are both running. You must configure it by creating /home/blabber/loaddaemons.conf like this:

BASE="/home/blabber"
ME="estranged"
MONITOR="ircd bopm"

PID_ircd="${BASE}/inspircd/data/inspircd.pid"
PID_bopm="${BASE}/bopm/var/bopm.pid"
START_ircd="${BASE}/inspircd/inspircd start"
START_bopm="${BASE}/bopm/bin/bopm"

Final Steps

Try run the loaddaemons script. It should start InspIRCD and BOPM with no errors. If all's well your server should connect to BlabberNet in about 2 minutes.

When everything is running as it should, be sure to add the loaddaemons script to blabber's crontab:

*/5	*	*	*	*	/home/blabber/loaddaemons
 
irc/linking.txt · Last modified: 2011/06/11 19:42 by aragon
 
Except where otherwise noted, content on this wiki is licensed under the following license:Public Domain
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki