Routing
Step 1: Preparing your system
- you will need a few tools, like:
wget
,libssl-dev
, etc. - On Ubuntu, Debian and the like, you can install these with
apt install wget build-essential python3 libssl-dev
- It is usually a good idea to run UnrealIRCd on it's own user. You can create a
ircd
user withadduser ircd
- Switch to the new ircd user with
su ircd
Step 2: Downloading and building the IRCd
We will download Unrealircd
- Get the IRCD source code with
wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
- Configure it for compilation with
./Config
- The script will ask you a few questions. It is recommended to pick the defaults for everything, so you can just hit enter on every question.
- After you finish configuring, you can now compile and install UnrealIRCd with
make && make install
Step 3: Preparing Your Configuration
Edit the conf/unrealircd.conf with your favorite text editor. The parts you want to change are: Change the network name for like this network-name "Buzznet";
The me {} block: name is the name of your server. It doesn't need to resolve to your server, but it's a plus if it does. You can find available domains at Domains. info a description for your server, you can be creative here. sid is an identifier for your server and it should be unique. You can check out the Great big-ass server list of doom to find an unused one for your server. The admin {} block: In this block you can have up to three lines of free text. Ideally it should have some kind of info so we can contact you in case something goes wrong. You can put just your nick, nick and email or whatever. The oper ... {} block: This block sets the username and password you will use with the /oper command to admin your server. The default user and password are "bobsmith" and "test". CHANGE IT.
Now you can start your IRCd with ./unrealircd start.
Cloak keys for your conf below:
/* Buzznet uses "cloak_md5" module. */ set { cloak-keys { "55c5lCu203i311G18MsldHwqwPA2848aRFrm7d0BbCMf2718p0oxyyR2NKwdSHkfSJ11y6OSXQO4K1b2"; "jwc3i6Satr17n5YLA251sRpvdO3Lty8DmHmAp6hT3KFaRhR6aPLPqtN7A188VjIPD51oT7dM0Sgl54Mv"; "7RsJm0h0l7yEu4R51wdo20RQM8SJ65jT5f60L08KB1CH53aJ7x1dX360eS8XH4dK8gfPc581005ED3J0"; } }
Note: If you are not a hub, make sure to edit your servers class as follows, so you don't connect to more than one hub at a time:
/* Server class with good defaults */ class servers { pingfreq 60; connfreq 15; /* try to connect every 15 seconds */ maxclients 1; /* max servers */ sendq 20M; }
Suggested leaf setup
If you're running a leaf server you might be interested in these instructions:
- Create a separate
hubs
class withmaxclients
set to 1. - Add all the hubs from further down the page to your config. Make sure their
link
blocks use thehubs
class. - Enable autoconnect for the hubs that are geographically closest to you by adding
autoconnect;
to theoptions { tls; }
block. - Profit.
A hubs
class
block would look like this:
class hubs { pingfreq 60; connfreq 60; maxclients 1; sendq 20M; }
An autoconnect hub link
block would look like this:
link irc.buzznet.ovh { incoming { mask *; } outgoing { hostname irc.buzznet.ovh; port 6900; options { tls; autoconnect; } } password "awesome.base64.fingerprint" { spkifp; } class hubs; }
Suggested server setup
UnrealIRCd by default does not send a fake quit/join for "Changing host" when a ip/spoof/cloak/vhost/whatever is changed. This can be an issue for some clients and bots. This setting will only send the fake quit/join to clients on your server that do not support CHGHOST. This setting will not override CHGHOST. NOTE: UnrealIRCd uses PART instead of QUIT.
/* Server specific configuration */ set { allow-userhost-change force-rejoin; }