How to Install a IRC Server & Remove Connection Limit

This is a tutorial on how to install a IRC Server, as well as remove the hard connection limit to allow over 1024 connections at one time.

What you will need:
A VPS with linux and a root account
IRCD Software (im using Unkn0wn's modded Ircd.) Found HERE
Putty or some other SSH client, as well as a SSH FTP client. Im using FlashFXP Beta.

Ok now to start
Log into your vps with the root account with putty. If this is your first time logging into your server it will ask you to accept the SHA1 fingerprint. Just do it :)

Now that you are logged in, make sure that you have gcc, gcc-c++, and kernel-devel installed. Use your install command based on the OS you are using. I am using CentOS 5 so my install command is "yum install".
[Image: 2-2.png]
I would also install nano if it isnt already, its an easy text editor to use, also make sure the package "make" is installed too.

It will ask if you want to install, type Y and it will install.

Now its time to FTP through SSH.


If this is your first time logging into your server it will ask you to accept the SHA1 fingerprint. I have already done this.

You will be put in the root directory. Upload the Unreal3.2 folder that you get from the RAR archive at the top of the thread. Once that is finished uploading, go into that folder.

You will have to change the permission's on 3 of the files, unreal, Config and configure. Right click each file, and change the checkmarks to look like mine.


And


Once that is done, go back into putty and type ls to make sure the Unreal3.2 folder is in there.

Good, its in there. You can go to that folder by typing:

Code:
cd Unreal3.2

Now we will change the hardlimit before we compile and install the IRCD.

We will do this by first typing

Code:
nano /usr/include/bits/typesizes.h

and scrolling down and change

Code:
#define __FD_SETSIZE 1024

To whatever you want, I did

Code:
#define __FD_SETSIZE 12000


We do the next part by typing:
Code:
nano /etc/security/limits.conf

Now that we are in there, scroll all the way down by using the arrow keys.
Once you are down there, type:

Code:
root hard nofile 12000
root soft nofile 12000

This alters the limit. You can change it to whatever you want, the highest I have tried is 12000. To save and exit, press ctrl-x. When it say do you want to save, hit Y. Then just hit enter.

[Image: 8-1.png]

Now you need to exit the putty and resign into your root account. Type:

Code:
ulimit -n

And if all goes well then you will see the number you put in putty in the limits.conf file.

Once that has shown up, type cd Unreal3.2 again to get back to the folder. Once you are in there type

Code:
./Config

It will say to press enter, do that.

Just hold enter through all this readme shit, you dont need it.

Then it will start asking questions, you dont need to change anything except for one value, this is very important.

Change it to the value you changed it to with the ulimit function.


Press enter again and again until the compiler starts running. It will look like this.

Once its done, all you have to do is type "make" and then hit enter. More shit will stream down the screen.


Once done it will look like this:


Now type this:

Code:
nano unrealircd.conf
Edit these parts, really the only ones that need to be edited.

Code:
#  ##
#  #  Class Block    #
#  ##

class  clients
{
  pingfreq 90;
  maxclients 12000;
  sendq 100;
  recvq 4000;
};

Edit it to whatever values you changed the limit to.

And this block.

Code:
#  ##
#  #    Operator Block    #
#  ##

oper Yourusername {
  class  clients;
  from {
    userhost *@*;
  };
  password "Yourpassword";
  flags
  {
    global;
    services-admin;
    can_rehash;
    can_die;
    can_restart;
    helpop;
    can_wallops;
    can_globops;
    can_localroute;
    can_globalroute;
    can_localkill;
    can_globalkill;
    can_kline;
    can_gzline;
    can_gkline;
    can_unkline;
    can_localnotice;
    can_globalnotice;
    netadmin;
    can_zline;
    get_umodew;
    get_host;
    can_override;
    };
    snomask *;
    maxlogins "2";
};

All that is left is to start the server. You achieve this by typing:

Code:
./unreal start

If you get this screen, nothing went wrong and your server is now up! Now all you have to do is connect to your server using an IRC client.


I hope this helped you, Enjoy!

My Goals for 2011:
  1. Become an Internet Marketer
  2. Make £100 per day