The remote server must choose an [SID](http://www.stack.nl/~jilles/irc/charybdis-oper-guide/configlines.htm) (one digit and two characters which can be digits or letters); these need to be unique across the peer network. (See the bottom of this page for the current list in our peer network.) This SID then goes into the `serverinfo` block of the remote server's `ircd.conf` file.
IRC is highly DNS-dependent; the remote IRC server must be using a DNS server which can resolve hostnames for its clients' IP addresses. So that means that if the IRC server is running on the shell server box, and clients will be connecting to `localhost`, then the DNS server needs to be able to resolve `127.0.0.1` to its valid tilde hostname; if it can't, then clients will appear as *username@127.0.0.1* rather than *username@tildehost.tld*. We're running `dnsmasq`, which is super-lightweight and uses `/etc/hosts` for its configuration -- so we were able to just add a line such as `127.0.0.1 tildehost.tld localhost` in our `/etc/hosts` and everything worked as it shoudl.
Finally, the remote shell server should be running an identd daemon (a la `oidentd`). This is because IRC is the one service out there that really, really tries to use identd to determine the non-spoofed username of the user connecting to it.
The main tilde.club IRC server needs to allow traffic from the remote server; this means that we need to allow traffic from the specific IP address to port `6697` (SSL connections).
There needs to be [a `connect` section](https://github.com/tildeclub/tilde.club/blob/master/docs/ircserver.md#connect-section) in the `ircd.conf` file for each remote server. See [the documentation for our server setup](https://github.com/tildeclub/tilde.club/blob/master/docs/ircserver.md#connect-section) for full information about how this is configured.
You should have the `/var/log/charybdis/serverinfo` log file enabled, and it's this file that will contain the pertinent information about the success or failure of server connections.