Table of Contents

IRC server setup

Unrealircd 6

Implements most of IRCv3 while allowing servers to be linked together (which isn't the case of ErgoChat).

Every default module is enabled, plus:

Matterbridge

Latest upstream

On the current implementation of third/relaymsg and unlike what the docs say, the relay needs to be oper (and not simply channel op) to use the relay feature.

You can add it to your Unreal config file as such:

unrealircd.conf
oper relaybot {
        class opers;
        mask *@127.0.0.1;
        password "password";

        operclass relaybots;
        swhois "is a Relay Bot";
}

operclass relaybots {
        permissions { relaymsg; }
}

This will give the relay only the necessary permissions to do its job.

On the Matterbridge side:

matterbridge.toml
  [irc.fediirc]
    Server="localhost:6697"
    UseTLS=true
    SkipTLSVerify=true
    Nick="i"
    NickServPassword="password"
    UseRelayMsg=true
    StripNick=false
    RunCommands=["OPER relaybot password", "CAP REQ draft/relaymsg", "MODE {BOTNICK} +B"]
    RemoteNickFormat="{LABEL}/{NICK}"
    Label="irc"

Note the commands: it'll need to OPER up, manually issue a CAP REQ (because the Unreal module requires it and Matterbridge doesn't do it for some reason, as I write this) and for good measure mark itself as a bot. Additionally, RemoteNickFormat needs to include a / character somewhere to differentiate from real users.

TODO