This is an old revision of the document!


Setting up the Nefarious IRC Server Software (ircd)

ssh into your server.

Then run:

svn co https://evilnet.svn.sourceforge.net/svnroot/evilnet/branches/nefarious-1.3/

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
pcre++     (nef will offer to install this in your home directory if its not on the system)

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 libpcre++-dev

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 nefarious-1.3

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

linesync

linesync updates your server twice a day 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 */12 * * * /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 ./ircd > /dev/null; then
   exit
fi
cd /home/irc/ircd
./ircd

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

For unknown reasons (and particularly on Ubuntu), using cd to change directories and then starting the script via ./ircd sometimes doesn't work, so try this:

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

syncheck

syncheck is our anti-ddos attack tool, you should have received from us on successful testlink. It requires iptables, and thus root access: Put it in /root (or wherever you want) and as root run:

crontab -e

And install the following cronjob:

*/5 * * * * sh /root/syncheck

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