Viewing revision r1 of Instant Messages — saved 2026-08-03 01:34 EDT .
“Initial seed content”
Jump to current version Full history

Instant Messages

Inter-BBS real-time IM using the Message Send Protocol (MSP,
RFC 1312). Port 18/tcp.

What's the use?

Synchronet, Mystic, ANetBBS and a handful of others all speak MSP.
A sysop pings you live from another BBS; you see a toast in the
web UI (or a >>> message <<< line on terminal) and can reply.

It's a low-friction way to make sure your neighbour is alive without
sending netmail.

Sending

/imsg/send — pick a target from the BBS directory or type
username@host manually. Up to 8000 chars per message (the MSP wire
protocol itself allows up to 8192 bytes).

Receiving

Inbound MSP arrives on TCP 18. The listener stores it in the
InstantMessage table; the unread badge in the nav shows the
count. /imsg/ is your inbox.

Network reachability

You need TCP 18 reachable from the outside, OR your messages will
arrive but you can't be paged back. /admin/peers/ runs a SYSTAT
probe against federation-hub peers (ANotherNetwork registry entries)
as a general "is my BBS reachable" health check — it isn't MSP-specific,
but the same reachability it confirms is what MSP paging needs too.

Directory

/imsg/directory/ shows the BBS directory. It's populated by pulling
a sbbsimsg.lst/anetbbs.lst file from a master directory URL — the
"Directory refresh" button on that page (/imsg/directory/refresh) —
not by manually adding entries in admin.

Encoding

MSP is 8-bit clean. Outbound messages are encoded as UTF-8. Inbound
messages are decoded as UTF-8 first, falling back to latin-1 only if
that fails — so a peer sending plain CP437/latin-1 text still comes
through readable, but UTF-8 is what ANetBBS actually sends and
prefers on the wire.