====== 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: * Websockets * RPC * third/react * third/metadata * third/redact * third/relaymsg ===== Matterbridge ===== [[https://github.com/matterbridge-org/matterbridge|Latest upstream]] On the current implementation of third/relaymsg and unlike what the [[https://github.com/ValwareIRC/valware-unrealircd-mods/blob/main/relaymsg/README.md|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: 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: [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 ===== * setup Let's Encrypt correctly instead of self-signed certificates * history and bouncers