website/content/docs/services.md

2.3 KiB

echo services

echo services is a Rust services package that links to the echoIRCd daemon over the S2S protocol as a linked services server — it is not built into the daemon. State is event-sourced: every change is an appended event, replayed to rebuild the database.

Running

echo services is its own binary with its own configuration:

echo config.toml

Only [uplink] and [server] are required; everything else is optional. The daemon must U-line the services server and name it as the SASL server — see Server links. For the full configuration, see Running & config.

The services

The standard suite comes up by default; the enabled set is controlled by [modules] services.

Service Role
NickServ Register and manage your nick/account; log in
ChanServ Register and manage channels, access, modes, topics
OperServ Network administration, bans/X-lines, SVS commands (operator)
MemoServ Leave and read offline messages between accounts
HostServ Virtual host (vhost) requests, offers, and assignment
BotServ Channel bots that speak, moderate, and auto-respond
GroupServ Named account groups (!group) for access lists
StatServ Network and per-channel activity statistics
InfoServ Public and operator bulletins / news
ReportServ User abuse reports queued for staff
HelpServ User help-desk ticket queue
DiceServ Dice-expression rolling and calculation
DictServ DICT-protocol dictionary/thesaurus lookups (opt-in)
GameServ Turn-based games (tic-tac-toe, Connect Four, chess) with ranked stats
ChanFix Restore ops to a channel's trusted regulars
DebugServ Internal diagnostic feed of services activity

The last ten are covered on the other services page. echo services also runs a native anti-abuse engine.

Accounts & SASL

Registration and login (including key-based ECDSA login) are covered in Accounts & SASL; SASL is relayed from the daemon to services mechanism-agnostically, so new mechanisms work without daemon changes.