Hak5
Save 10% at GoDaddy.com with coupon code HAK

Unrealircd

From Hak5

Jump to: navigation, search

[edit] Installing and Configuring UnrealIRCd

[edit] By Brainkill @ http://www.vertex-hosting.net


About:
So you bought you very own IRCd Server. Well, I am just going to tell you about the basics on how to setup the unix shell. I am slightly intoxicated so this ought to be good. I'll edit as i go along

Downloading and Unzipping
Login to your shell, and type the following:

wget http://path.to.binary.com/Unreal3.2.3.tar.gz

Alternative: you can ftp or sftp it to your shell if your host supports it.

When that's finished downloading, type the following command to unzip it:

tar -zxvf Unreal3.2.3.tar.gz

Optional: You can now remove the file you downloaded with the following command:

rm -f Unreal3.2.3.tar.gz

Running the Script
Now that we've unzipped our UnrealIRCd file, we need to move to that directory:

cd Unreal3.2

And now that we're in the Unreal directory, we need to run the configuration wizard:

./Config

Using the configuration script So we've got the script running. The first thing you're greeted with is the release notes for Unreal 3.2.3, now this is a lot of reading, and isn't really necessary, so just press enter once, then spacebar until you see:

==[ ADDITIONAL INFO ]==
* See ChangeLog
[Enter to continue]

Press enter and you'll be greeted with the first question.

Do you want to enable the server anti-spoof protection?
[No] ->

I've never actually come across a server that uses this, so just press enter to move on to the second question.

What directory are all the server configuration files in?
[/usr/local/username/Unreal3.2/] ->

Well we haven't changed the directory, so just press enter to move on to the third question.

What is the path to the ircd binary including the name of the binary?
[/usr/local/username/Unreal3.2/src/ircd] ->

Again, we haven't changed this path, so just press enter to move on to the fourth question.

Would you like to compile as a hub or as a leaf?
Type Hub to select hub and Leaf to select leaf.
[Hub] ->

If you're not going to link your server to any other IRC servers, just press enter. However, if you are going to link your server to another IRC server, and this server is going to be a leaf on that network, type 'Leaf' and press enter. If you are linking your server to another IRC server and your server will be the Hub, just press enter.

What is the hostname of the server running your IRCd?
[some.server.com] ->

This question may have already been answered for you correctly by the configuration script. If so, just press enter to move on to the next question.

What should the default permissions for your configuration files be? (Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted reading of the file
[0600] - >

The default value for this question is the one you should use, so just press enter.

Do you want to support SSL (Secure Socket Layer) connections?
[No] ->

Not many servers use this method of connection, and I doubt you will need to, and if you did, you'd know if you did, so just press enter to move on.

Do you want to enable IPv6 support?
[No] ->

If you know what this feature is and you're sure your host has IPv6 support, if you don't type no.

Do you want to enable ziplinks support?
[No] ->

Most people never really need this feature either, so press enter. However, It will allow you to later optimize inter-server traffic. If you are short on bandwidth, enable it.

Do you want to enable remote includes?
[No] ->

You don't really need this feature either, so just press no. If enabled, you can include data into your ircd's config file from remote locations. It allows for opers to be setup on-the-fly by changing one file but could allow for intrusion attempts onto your network.

Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient, PJIRC, etc.) with the notable exceptions of irssi, KVIrc and CGI:IRC.
This feature should be enabled/disabled network-wide.
[No] ->

This is a nice feature. It is very self-explanatory. If you have registered the channel, you will be ~yournick instead of @yournick in the channel, and anyone who you have added to the SOP list, or who is +a in the channel, will be &theirnick instead of @theirnick. Either type 'Yes' if you want to enable this feature, or just press enter if you don't want it.

What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
[5] ->

This value doesn't need to be edited, so press enter to move on to the next question.

How far back do you want to keep the nickname history?
[2000] ->

This value doesn't need to be edited either, so press enter to move on.

What is the maximum sendq length you wish to have?<br>
[3000000] ->

You guessed it, you don't need to edit this either. Press enter to move on to the next question.

How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
[18] ->

And yet again ... just press enter to move on.

How many file descriptors (or sockets) can the IRCd use?
[1024] ->

You do need to change this value it depends on what your IRCd account is: (small is 1000 User, Medium is 2000)

Would you like any more parameters to configure?
Write them here:
[] ->

No, unless you know what else you want to configure, some networks use other features hence why they have this in the config.

Now all you have to do is type 'make' and let it compile. When that's done, you will receive other instructions on what to do next.

Okay then, just type 'make' and ... let it compile, this should take a little longer than it did last time. When it's finished, you'll see a message beginning with:

Compile is now complete.
You should now read the documentation and learn
how to configure your IRCd.


Coding unrealircd.conf
Editing the config file is the hardest part of the entire setup. You must have everything spot on for the server to load. Any errors will be outputted to /home/user/Unreal3.2/logs/.

Download it to your shell by typing the following command:

wget http://site.of.yourfile.com/unrealircd.conf

And then you can either FTP to your shell and edit it with your text editor or use a SSH-based text editor with the following command:

pico -w unrealircd.conf

or

nano unrealircd.conf

or

edotunrealircd.conf

After you've edited it, save it (ctrl+x in pico) and now you can start your IRCd!
Starting UnrealIRCd
From shell, in the Unreal3.2 directory, type the following command:

./unreal start

If you receive no errors, you should now be able to connect to your IRCd!