45 lines
1.1 KiB
Markdown
45 lines
1.1 KiB
Markdown
# Server links
|
|
|
|
echoIRCd links to other servers — and to echo services — over a standard server-to-server
|
|
protocol, wire-compatible with the InspIRCd 1206 protocol.
|
|
|
|
## Server identity
|
|
|
|
Every server needs a unique **SID** (three characters, the first a digit) and a name.
|
|
|
|
```ini
|
|
network "echoiRCd";
|
|
sid "0AA";
|
|
```
|
|
|
|
## A link block
|
|
|
|
Each `link` block describes a peer: its name, address, port, and the passwords used to
|
|
authenticate the connection in each direction.
|
|
|
|
```ini
|
|
listen { ip "[::]"; port 7700; type server; }
|
|
|
|
link {
|
|
name "hub.example.net";
|
|
ip "203.0.113.10";
|
|
port 7700;
|
|
sendpassword "outbound-secret";
|
|
recvpassword "inbound-secret";
|
|
}
|
|
```
|
|
|
|
> Treat link passwords as secrets, and restrict the server port to trusted peers.
|
|
|
|
## Services
|
|
|
|
echo services connect as a special linked server. In the ircd, mark the services server name as a
|
|
**U-lined** server (and as the SASL server) so its privileged commands and SASL relay are
|
|
accepted:
|
|
|
|
```ini
|
|
uline { server "services.echoircd.org"; }
|
|
sasl_server "services.echoircd.org";
|
|
```
|
|
|
|
See [Services](/docs/services) for the services side of the link.
|