Configuring UnrealIRCD3.2+ on windows including portforwarding and domain forwarding.Hello I'm Alexandra.
After helping multiple friends set up IRC servers on windows using UnrealIRCD It got suggested to me that I write a quick guide... And as it was commented to me that the guides on the internet are not always as easy to understand for new comers.
I have seen a Windows guide for UnrealIRCD on here already although it was unsubstantial and somebody said that most of it was "pasted from the UnrealIRCD guide" also I thought it didn't explain fully enough what to do.
Downloading UnrealIRC3.2
1. Go to http://www.unrealircd.com and download "3.2.8.1 Win32" (Be sure not Win32 Ssl this guide is for non ssl)
2. During the download and installation you need to click download as a service along the way.
3. Once you have downloaded it go to your computer then your C drive then go to program files then down to Unreal3.2If you use Vista If you use vista you will need to add yourself to permissions to edit the config file, to do this you need to right click the Unreal3.2 file and go down to properties, then in that tab go to security. Then in the "Group or Usernames:" section click "Users (Admin-PC\Users)" and then go to Edit - Then Highlight "Users (Admin-PC\Users)" again and below there will be a check window, check Full control and press "Apply" then "Ok".
You can now join the rest of the guide.
(Note:By doing this you have added yourself to permissions to be able to edit the configuration file for UnrealIRCD. Xp users do not have this problem as if they are running admin they can edit it anyway. Also you must be running admin to edit permissions.)Editing the configuration file
1. Open up My Computer > Your C: File > Programme Files > Unreal3.2
2. In Unreal3.2 go to the folder named "Doc" - In there open up Example (Config file), It may ask you to say what programme to open it with, If it does open with Notepad.
3. Go back to the main Unreal3.2 file and create a new notepad file - copy and paste the whole of the "Example" file that you opened a minute ago into the new notepad. Now save that file as "unrealircd.conf" by saving it as name unrealircd.conf you have recognised that file as a config file. Check this by after saving it looking in your Unreal3.2 and checking that "unrealircd" is saved as a CONF file.
4. Open up this Unrealircd (Conf file) if you have not already - you are now ready to edit the config file.
Note that the codes that you edit are not the only ones you need so don't go deleteing the whole file and just adding the ones below.Scroll down to where you see this:
Code:
/* FOR Windows, uncomment the following 2 lines: */
//loadmodule "modules/commands.dll";
//loadmodule "modules/cloak.dll";
You need to "uncomment" the modules like this-
Code:
/* FOR Windows, uncomment the following 2 lines: */
loadmodule "modules/commands.dll";
loadmodule "modules/cloak.dll";
Now scroll down to where the me { block is
Code:
me
{
name "irc.TestNET.com";
info "Irc server for testing";
numeric 1;
};
(Note: The name doesn't have to be an actual Domain name.) Admin block:
Code:
admin {
"Alexandra";
"Lexy";
"PutA@Email.here";
};
This is what will come up when you do the /admin command, This is fairly unimportant but still.
Now scroll down to the operblock-
Code:
oper Yourname {
class clients;
from {
userhost *@*;
};
password "Apassword";
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
global;
};
};
Important to note here that this is what you use to identify yourself as an operator - I tend to find that it is case sensitive so that is somthing you need to consider.
Now scroll down to the listen block.
Code:
listen *:6667
{
options
{
clientsonly;
};
};
It is important to delete the ssl; bit from here as we are not compiling for ssl (and this is not the ssl version).
Listen is the ports that people can connect through, note that 6667 is the default port for most Irc servers.
Now scroll to the link block.
Code:
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
/* Note: You should not use autoconnect when linking services */
autoconnect;
ssl;
zip;
};
};
We delete this as we are not linking yet, this is used to link to other servers to make a network and also to link to services, I'm not using this guide for Anope services at the moment although I can/will make a guide for that later on.
Code:
ulines {
services.anynet.org;
stats.anynet.org;
};
As with the above we are not configuring this for services so you can leave this or delete it.
Now scroll down to the tld { block - This is used to display a different motd file to people from different countries. I'm not setting this up as most people speak english, Delete this block otherwise it will cause a directory error when you start up.
Delete this:Code:
tld {
mask *@*.fr;
motd "ircd.motd.fr";
rules "ircd.rules.fr";
};
Now scroll down to "/* Network configuration */" (Set block.)
This is generally where you set it up yourself. Most of the time it doesn't matter if you dont keep the addresses uniform although it helps when you configure anope services. I'll show you mine as an example.
Code:
set {
network-name "TestNET";
default-server "irc.TestNET.com";
services-server "services.TestNET.com";
stats-server "stats.TestNET.org";
help-channel "#Help";
hiddenhost-prefix "Key"; /* This is the bit that you see in user host like on SwiftIRC its *@Swift- */
cloak-keys {
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"aoAr1HnR6gl3sJ7hVz4Zb52TilLoRoFl14Wzx4";
"aoAr1HnR6gupUdshEakdj4Zb7x4YwpW";
};
hosts {
local "locop.TestNET.com";
global "ircop.TestNET.com";
coadmin "coadmin.TestNET.com";
admin "admin.TestNET.com";
servicesadmin "csops.TestNET.com";
netadmin "netadmin.TestNET.com";
host-on-oper-up "no";
};
};
cloak-keys are what Unreal uses to hide your ip, you need three and they need to be different, in the example file you can just copy the same one into each area and just change 5-10 chars of each.
Hosts { is not really needed but to complete that block I added them anyway. These are the hosts that are given to each "strand" of oper, "host-on-oper-up "no"; means that this feature is off at the moment. If you want to change your host as oper you can do /sethost
host or use HostServ if you have Anope services compiled.
Now scroll to the next set block, this doesn't need to be changed mush although there are some key things to be considerd.
Code:
set {
kline-address "This.needs@to.be.a.valid.email.address";
modes-on-connect "+ixw";
modes-on-oper "+xwgs";
oper-auto-join "#Lexy"; /* Channel to auto join when identified as oper */
auto-join "#Lexy"; /* I added this - this autojoins a user to said channel when they connect */
options {
hide-ulines; /* The rest doesn't really need to be changed. */
show-connect-info;
};
maxchannelsperuser 10;
oper-only-stats "okfGsMRUEelLCXzdD";
throttle {
connections 3; /* Stops users reconnecting too fast. */
period 60s;
};
anti-flood {
nick-flood 3:60; /* 3 nickchanges per 60 seconds (the default) */
};
spamfilter {
ban-time 1d; /* default duration of a *line ban set by spamfilter */
ban-reason "Spam/Advertising";
virus-help-channel "#help";
};
};
Another block I normally add is the DNS block:
Code:
dns {
nameserver 127.0.0.1; /*IP address of the server to connect to */
timeout 5s; /* Timeout if it cannot resolve address of the server within 2 secs. */
retries 1s; /* Retry connecting to the server after 2 secs. */
};
Although this block has met me with some trial and tribulation as i'm not entirely sure that I need it. But it works for me so whatever. (:
Save the file and open up UnrealIRCD, it should start fine if it doesn't post the errors here. On mIRC or SwiftKit you can now do /server -m 127.0.01 (with unrealircd running) and this will connect you to your irc server on a local server.
Port ForwardingPeople will not be able to connect to your server until you portforward which is where you direct connections towards port 6667 (and therefore the IrcD). Port forwarding is done differently depending on what modem you have.
I found this website very useful -
http://www.portforward.com it has most of the main modems. Basically what you have to do is forward connections to your local ip on port 6667- Mine looks like this

After port forwarding users will be able to connect through your ip.
Forwarding domains to your Irc server.Possibly the most simple thing to explain. All you need to do is go to
http://www.afraid.org and let them host a domain for you. You need to get a registerd domain before getting them to host it (you dont just get a domain by entering it in their database). If you dont want to spend money on a domain you can get a free one from
http://www.co.cc When logged into afraid.org you can make subdomains - the default one to make is irc.yourdomain.co.cc although you can use almost anything like on swiftirc you'll see tripwire.uk.eu.swiftirc.net "tripwire.uk.eu" replaces "irc". You then need to direct this subdomain to your ip which will in turn direct the connection to the local ip which will connect them to your irc server.
I hope you find this guide useful and if you have any questions you can memo me on irc nickname Alexandra or post here.
-Lexy