This is an old revision of the document!


Setting up the Nefarious IRC Server Software (ircd)

ssh into your server.

Then run:

git clone https://github.com/evilnet/nefarious2.git

The system will begin to download the latest version of the nefarious ircu.

Before we continue, we'd like to make sure you have the packages needed for a successful install. So be sure you have the packages below installed on your box:

openssl
libssl-dev (for enabling ssl -- openssl-devel on redhat)
autoconf   (to avoid errors when running make)
automake
flex
libpcre3-dev
byacc

The named packages above can be fetched (on a Debian based system) with apt-get:

sudo apt-get install openssl libssl-dev autoconf automake flex libpcre3-dev byacc

Note: The names of the packages above may vary, depending on your distribution.

With that said, we now move on to getting the server up and running.

cd nefarious2

For your own convenience, we recommend using one centralized directory when running the configure script (it's up to you though). ssl is enabled now by default. The following will install everything into $HOME/ircd/

./configure --libdir=$HOME/ircd --mandir=$HOME/ircd --bindir=$HOME/ircd

Once that is done, run:

make

Then:

make install

If everything runs smoothly you should now have an ircd directory:

cd /home/user/ircd

Then fetch the ircd.conf to the ircd directory:

wget -O ircd.conf http://www.afternet.org/downloads/ircd.conf

You'll have to edit the configuration file a bit (for simplicity, nano is used in this example):

nano -w ircd.conf

Change the options in the General and Admin sections.

Where YourNumeric will be changed to a number we give you before you link.

You might also want to give yourself an oper block, otherwise you can't oper up. Now save the file.

You are now ready to start your IRC server, run:

./ircd

That will start the ircd. Test it by connecting to your server. Installing the cronjobs needed Cron is the system scheduled jobs manager. We generally run 3 jobs to help maintain the ircd. To edit the cron list, login with the account on which you want the scheduled jobs to run under, and run:

crontab -e

The syntax of the file is as follows:

  # Min Hour  Day   Month   DOW
  */5   *       *       *          *      /path/to/program.sh

read the unix manual to crontab for more information.

Please install the following cron jobs:

linesync

linesync updates your server every hour with the latest k: lines, features, and server connection info. It is required. You should receive it from us when your testlink is approved. (Opers can get it here...)

0 0 * * * /home/user/ircd/linesync.sh /home/user/ircd/ircd.conf /home/user/ircd/ircd.pid

checkircd.sh

This gem checks if the irc server is running, and if it isnt, starts it up. This will keep the ircd up after reboots, or in the case of a crash. Create the file using a text editor, pasting this code in:

#!/bin/sh
# don't start the server if it is already running
procs=`ps x`
if echo "$procs" | grep /home/user/ircd/ircd > /dev/null; then
   exit
fi
/home/user/ircd/ircd

(be careful to use the right kind of `` ticks!)

Make the script executable:

chmod a+x checkircd.sh

And add a cron job:

*/5 * * * * /home/user/checkircd.sh

With these cronjobs installed, you are now ready to link your server to the network.