Tip of the day: If you want to bypass access checks for channels as an IRCOp, use SAMODE or SAJOIN. Or use OperOverride.

Linking servers (genlinkblock)

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

If you are linking two UnrealIRCd 6 servers *NIX (not on Windows) then linking is very easy. Using ./unrealircd genlinkblock all configuration is done for you. Follow the instructions below.

NOTE: The process below is quick and easy and mostly automatic. If you don't want this and prefer to learn everything about linking then see Tutorial: Linking servers.

On side A

Run the command ./unrealircd genlinkblock on the shell of server A (irc1.example.org in this case):

[email protected]:~/unrealircd$ ./unrealircd genlinkblock

Add the following link block to the unrealircd.conf on the OTHER side of the link
(so NOT in the unrealircd.conf on THIS machine). Here it is, just copy-paste:
################################################################################
link irc1.example.org {
    incoming {
        mask *;
    }
    outgoing {
        hostname irc1.example.org;
        port 6900;
        options { tls; autoconnect; }
    }
    password "..." { spkifp; }
    class servers;
}
################################################################################

Do what it says and copy-paste the link block to server B (so the other server!)

NOTE: If the hostname in link::outgoing::hostname (hostname irc1.example.org;) does not actually exist in your case (eg: because you have not bought or registered the domain irc1.example.org yet), then you may have to modify it to be the IP address of server A, like: hostname 198.51.100.1;

On side B

Run the same command on the shell of server B:

[email protected]:~/unrealircd$ ./unrealircd genlinkblock

Add the following link block to the unrealircd.conf on the OTHER side of the link
(so NOT in the unrealircd.conf on THIS machine). Here it is, just copy-paste:
################################################################################
link irc2.example.org {
    incoming {
        mask *;
    }
    outgoing {
        hostname irc2.example.org;
        port 6900;
        options { tls; autoconnect; }
    }
    password "..." { spkifp; }
    class servers;
}
################################################################################

And copy-paste the outputted link block to server A (so to the server from the previous step).

NOTE: Again, here too. If the hostname in link::outgoing::hostname (hostname irc2.example.org;) does not actually exist in your case (eg: because you have not bought or registered the domain yet), then you may have to modify it to be the IP address of server B, like: hostname 198.51.100.2;

Rehash

Now REHASH both servers.

Link!

The servers should now automatically link to each other.

Do you see any errors? Or are the servers not linked? Check out Troubleshooting: linking servers

You can always tell UnrealIRCd to try to link the servers right now by executing (as IRCOp) /CONNECT name.of.other.server. This can be used if you disabled autoconnect, or simply if you don't want to wait ;)

Successfully linked your two servers? Now that you have a multi-server network, you may want to read about Distributing user load and doing server maintenance.