MRC
Multi-Relay Chat — a BBS-scene chat protocol that connects sysops
and users across many BBSes through a central hub.
How it differs from IRC
- One central hub (no server federation)
- Authentication is optional, per-handle "trust" (
/identify), not a
NickServ-style requirement to chat at all - Messages carry the user's BBS as part of the identity, composed by
the bridge — you don't need to type it yourself - Mostly text-only; not many bots; a calmer, more BBS-y feel
Connecting
Built in. The anetbbs-mrc-bridge systemd service runs alongside the BBS and
keeps one persistent, BBS-wide connection to the hub — every web and
terminal user shares it. Both /mrc/ (web) and the terminal Chat
menu's MRC option talk through this same bridge.
There is no web admin page for the bridge — it's configured by editing
mrc/bridge/config.json (copy mrc/bridge/config.example.json on
first setup) and restarting the anetbbs-mrc-bridge service:
mrc_host/mrc_port— the hub to connect to (default
mrc.bottomlessabyss.net/5001)identify_required_mode— iftrue, callers must/identify
before they can chat at all. Defaults tofalse—/identify
is optional "MRC Trust," not a gate, unless a sysop deliberately
turns this on.bbs_description/bbs_telnet/bbs_ssh/bbs_website/
bbs_sysop— fill these in! They're what other MRC clients see
when someone runs/bbsesor/info <n>and looks up your BBS.
Left blank (the default), your entry shows up with missing info to
everyone else on the network.
Rooms
There's no sysop-configured channel list — rooms are dynamic, created
on the hub side as people /join them. Everyone lands in lobby by
default on connect. Use /list to see what rooms currently have
people in them, /join <room> to switch.
Command reference (terminal client)
Session: /quit (leave), /help (ask the hub for help),
/helpserver / /h / /? (local command list).
Messaging: /msg <user> <text> (DM, aliases /t /tell /dm /pm
/whisper /w), /r <text> (reply to last DM), /me <action>,
/broadcast <text> (sysop-wide).
Rooms: /join <room>, /list, /topic [text], /roompass
<pw>, /roomconfig [param value].
People: /who, /chatters, /users, /bbses (list connected
BBSes), /info [n] (look up one BBS's directory entry — see the
bbs_description etc. fields above), /lastseen [user], /afk
[msg] / /back, /status <param> [value] (set a hub status field,
e.g. /status AFK gone fishing).
Info: /motd (ask the hub for its message of the day), /banners
(ask the hub for its banner rotation).
Auth (optional): /identify [password], /register <password>
[email], /trust [sub].
Preferences — /set: /set list shows current values.
Configurable: prefix/suffix (nick decoration), color <00-15>
(nick color code), entermsg/leavemsg/quitmsg (supports
{handle}), ticker on|off, clock on|off, tz <zone-or-offset>,
palette default|green|amber|cyan|mono, clockformat 12|24 (status-bar
clock/timestamp hour format), twitfilter on|off (master switch for
your /twit ignore list — turn it off to temporarily hear from
everyone again without clearing the list), defaultroom <room> (room
to auto-join on your next connect — changing it mid-session doesn't
move you immediately). All /set values save per-user.
Ignore/shield: /twit add|del|list|clear [user] — per-user
ignore list. /shield [on|off] — refuses to send/show sysop
broadcasts while active.
Client-only: /scroll [n|up|down|bottom], /clear, /mentions,
/termsize, /raw <text>, /dlchatlog (download your scrollback).
What the terminal screen shows
- Status bar (row 1): current room, topic, mention count, latency,
AFK flag, optional clock. - Scrolling ticker (row 2, toggle with
/set ticker): hub
banners/stats plus rotating tips. - Nick-list sidebar: everyone in the current room, on terminals
≥100 columns wide. - Tab-complete: usernames seen in chat or via
/whoautocomplete
on Tab.
Long messages
The MRC hub caps a single wire message at 140 characters. A message
you type that's longer than that is split into multiple (1/n),
(2/n), … chunks and sent with a small delay between each chunk (the
hub rate-limits chunks sent back-to-back). If you notice a brief pause
partway through someone's long message, that's this splitting at
work, not lag.
Bridged into web/terminal
Once MRC is wired up, Chat users on the local BBS see MRC traffic
as if it were native — web and terminal share the same rooms and
identity through the one bridge connection.