Skip to content

Start Here

ENiGMA½ is a modern BBS package written in Node.js: Telnet, SSH and WebSocket logins in one process, FidoNet mail without an external mailer, an indexed file base, and DOS doors that run without an emulator on the host.

These docs cover running a board and customising it. Pick the row that matches where you are.

If you are…Start at
Setting up a board for the first timeInstallation Methods
Just installed, wondering what nextTesting Your Installation
Configuring a board you already installedSystem Configuration
Making it look like your boardGeneral Art Information and Themes
Running one day to dayAdministration and oputil
Working on ENiGMA½ itselfContributing

Roughly the order things happen in:

  1. Install — the install script, Docker, manually, or on Windows. Then test it and log in; the first account to log in becomes the SysOp.
  2. Configureconfig.hjson holds your board name, servers and areas. It is HJSON, which is JSON that forgives you.
  3. Open the doors — decide which of Telnet, SSH and WebSocket users reach you on, and whether you also expose the board over Gopher, NNTP or the web.
  4. Add contentmessage areas and, if you want mail from the wider world, a network. Then a file base.
  5. Make it yours — art, themes, MCI codes, and the menus that tie them together.
  6. Keep it running — backups, logs, and upgrades.
  • Built-in Modules — the features that ship with ENiGMA½ and the config each takes
  • Doors — DOS games, interactive fiction, and hosted door services
  • oputil — the command line tool for users, areas and maintenance
  • Access Condition System — how access is gated everywhere in the system
  • REST API — programmatic access to the board

Troubleshooting covers reading the logs and the common SSH and WebSocket failures. Beyond that, try Discussions, the issue tracker, or Discord.