3.8 KiB
layout | title |
---|---|
page | System Configuration |
System Configuration
The main system configuration file, config.hjson
both overrides defaults and provides additional configuration such as message areas. The default path is /enigma-bbs-install-path/config/config.hjson
though you can override the config.hjson
location with the --config
parameter when invoking main.js
. Values found in core/config.js
may be overridden by simply providing the object members you wish replace.
See also HJSON General Information for more information on the HJSON format.
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 new
You will be asked a series of questions to create an initial configuration.
Overriding Defaults
The file core/config.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.js
, a lot is. Poke around and see what you can find!
Configuration Sections
Below is a list of various configuration sections. There are many more, but this should get you started:
- ACS
- Archivers: Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.
- Email: System email support.
- Event Scheduler: Set up events as you see fit!
- File Base
- File Transfer Protocols: Oldschool file transfer protocols such as X/Y/Z-Modem!
- Message Areas, Networks, NetMail, etc.
A Sample Configuration
Below is a sample config.hjson
illustrating various (but certainly not all!) elements that can be configured / tweaked.
This is for illustration purposes! Do not cut & paste this configuration!
{
general: {
boardName: A Sample BBS
menuFile: "your_bbs.hjson" // copy of menu.hjson file (and adapt to your needs)
}
theme: {
default: "super-fancy-theme" // default-assigned theme (for new users)
}
messageConferences: {
local_general: {
name: Local
desc: Local Discussions
default: true
areas: {
local_enigma_dev: {
name: ENiGMA 1/2 Development
desc: Discussion related to development and features of ENiGMA 1/2!
default: true
}
}
}
agoranet: {
name: Agoranet
desc: This network is for blatant exploitation of the greatest BBS scene art group ever.. ACiD.
areas: {
agoranet_bbs: {
name: BBS Discussion
desc: Discussion related to BBSs
}
}
}
}
messageNetworks: {
ftn: {
areas: {
agoranet_bbs: { /* hey kids, this matches above! */
// oh oh oh, and this one pairs up with a network below
network: agoranet
tag: AGN_BBS
uplinks: "46:1/100"
}
}
networks: {
agoranet: {
localAddress: "46:3/102"
}
}
}
}
scannerTossers: {
ftn_bso: {
schedule: {
import: every 1 hours or @watch:/home/enigma/bink/watchfile.txt
export: every 1 hours or @immediate
}
defaultZone: 46
defaultNetwork: agoranet
nodes: {
"46:*": {
archiveType: ZIP
encoding: utf8
}
}
}
}
}