System Configuration
The main system configuration file, config.hjson both overrides defaults and provides additional configuration such as message areas. Defaults lived in core/config_default.js.
The default path is /enigma-bbs/config/config.hjson though this can be overridden using the --config parameter when invoking main.js.
Creating a Configuration
Section titled “Creating a Configuration”Your initial configuration skeleton should be created using the oputil.js command line utility. From your enigma-bbs root directory:
./oputil.js config newYou will be asked a series of questions to create an initial configuration, which is
written to config/config.hjson. The same run also produces your menu files under
config/menus/ — see Menu HJSON.
Overriding Defaults
Section titled “Overriding Defaults”The file core/config_default.js provides various defaults to the system that you can override via config.hjson. For example, the default system name is defined as follows:
general : { boardName : 'Another Fine ENiGMA½ System'}To override this for your own board, in config.hjson:
general: { boardName: Super Fancy BBS}(Note the very slightly HJSON different syntax. You can use standard JSON if you wish!)
While not everything that is available in your config.hjson file can be found defaulted in core/config_default.js, a lot is. Poke around and see what you can find!
Configuration Sections
Section titled “Configuration Sections”Below is a list of various configuration sections. There are many more, but this should get you started:
- Access Condition System (ACS): Gate menus, areas and actions on who the user is.
- Achievements: Reward users for posting, uploading and calling.
- Archivers: External archive utilities for ZIP, ARJ, RAR, and so on.
- Colour Codes: Renegade-style pipe codes used throughout your config.
- Directory Structure: What lives where in an installation.
- Email: SMTP and IMAP for password resets, 2FA and internet mail.
- Event Scheduler: Set up events as you see fit!
- External Support Binaries: The tools ENiGMA½ shells out to, and how to install them.
- File Base: Areas, storage tags, uploads and TIC.
- File Transfer Protocols: Oldschool file transfer protocols such as X/Y/Z-Modem!
- Message Areas, Networks, NetMail, etc.
- Built-in Modules: The modules ENiGMA½ ships with, and how to configure them.
- Security: Password storage, 2FA and choosing secure transports.
- Servers: Telnet, SSH and WebSocket logins; web, Gopher and NNTP content.
- …and a lot more! Explore the docs! If you can’t find something, please contact us!