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 time | Installation Methods |
| Just installed, wondering what next | Testing Your Installation |
| Configuring a board you already installed | System Configuration |
| Making it look like your board | General Art Information and Themes |
| Running one day to day | Administration and oputil |
| Working on ENiGMA½ itself | Contributing |
The Path Through a New System
Section titled “The Path Through a New System”Roughly the order things happen in:
- Install — the install script, Docker, manually, or on Windows. Then test it and log in; the first account to log in becomes the SysOp.
- Configure —
config.hjsonholds your board name, servers and areas. It is HJSON, which is JSON that forgives you. - 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.
- Add content — message areas and, if you want mail from the wider world, a network. Then a file base.
- Make it yours — art, themes, MCI codes, and the menus that tie them together.
- Keep it running — backups, logs, and upgrades.
Reference
Section titled “Reference”- 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
Stuck?
Section titled “Stuck?”Troubleshooting covers reading the logs and the common SSH and WebSocket failures. Beyond that, try Discussions, the issue tracker, or Discord.