About Servers
ENiGMA½ runs two kinds of server, and the distinction matters because they are configured in different blocks and do different jobs.
Login Servers
Section titled “Login Servers”A login server is a way for a person to reach your board — it carries a
terminal session, hands the user to a first menu, and from there they are on the
BBS. Configured under loginServers in config.hjson.
| Server | Default port | Notes |
|---|---|---|
| Telnet | 8888 | Enabled by default. Not secure — credentials cross the wire in the clear |
| SSH | 8889 | Encrypted, supports public key authentication. Needs a host key generated first |
| WebSocket | 8810 / 8811 | Browser access, paired with a client such as VTX |
Features that require a secure connection — 2FA/OTP enrolment, uploading an SSH public key — are available over SSH and secure WebSocket, and deliberately blocked over plain Telnet.
Content Servers
Section titled “Content Servers”A content server exposes parts of the board without a terminal session —
message areas to a newsreader, files to a browser, your system to the Fediverse.
Configured under contentServers.
| Server | Default port | Exposes |
|---|---|---|
| Web | 8080 / 8443 | Temporary file download links, password reset pages, static files, and the routes other handlers register |
| Gopher | 8070 | Message conferences and areas, plus anything in your Gopher hole |
| NNTP | 8119 / 8563 | Message conferences and areas to newsreaders |
Two further pieces build on the web server rather than standing alone: the REST API, and the web handlers that add routes — including WebFinger and ActivityPub for Fediverse federation.
Which Do I Need?
Section titled “Which Do I Need?”At minimum, one login server, or nobody can call. Everything under content servers is opt-in, and every one of them defaults to disabled.
The one that repays enabling early is the web server: password reset links and temporary file download URLs both depend on it, and those are features users notice missing.