2018-01-31 23:35:54 +00:00
---
layout: page
2018-11-20 04:16:37 +00:00
title: System Configuration
2018-01-31 23:35:54 +00:00
---
2017-02-10 03:48:44 +00:00
## System Configuration
2017-11-26 09:09:11 +00:00
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.
2015-11-21 20:34:30 +00:00
2018-11-20 04:16:37 +00:00
See also [HJSON General Information ](hjson.md ) for more information on the HJSON format.
2017-09-29 22:45:59 +00:00
### Creating a Configuration
2018-11-23 18:05:51 +00:00
Your initial configuration skeleton should be created using the `oputil.js` command line utility. From your enigma-bbs root directory:
2017-09-29 22:45:59 +00:00
```
./oputil.js config new
```
You will be asked a series of questions to create an initial configuration.
2016-07-02 20:16:01 +00:00
2017-09-29 22:45:59 +00:00
### 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:
2015-11-20 05:34:55 +00:00
```javascript
general : {
boardName : 'Another Fine ENiGMA½ System'
}
```
To override this for your own board, in `config.hjson` :
```hjson
general: {
boardName: Super Fancy BBS
}
```
2018-11-23 18:05:51 +00:00
(Note the very slightly [HJSON ](hjson.md ) different syntax. **You can use standard JSON if you wish!** )
2017-02-10 03:48:44 +00:00
2017-09-29 22:45:59 +00:00
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 ](https://github.com/NuSkooler/enigma-bbs/blob/master/core/config.js )!
2018-11-23 18:05:51 +00:00
### Configuration Sections
Below is a list of various configuration sections. There are many more, but this should get you started:
* [ACS ](acs.md )
* [Archivers ](archivers.md ): Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.
* [Email ](email.md ): System email support.
* [Event Scheduler ](event-scheduler.md ): Set up events as you see fit!
* [File Base ](/docs/filebase/index.md )
* [File Transfer Protocols ](file-transfer-protocols.md ): Oldschool file transfer protocols such as X/Y/Z-Modem!
* [Message Areas ](/docs/messageareas/configuring-a-message-area.md ), [Networks ](/docs/messageareas/message-networks.md ), [NetMail ](/docs/messageareas/netmail.md ), etc.
2016-03-29 04:58:06 +00:00
### 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!**
2016-03-21 04:17:33 +00:00
```hjson
{
general: {
boardName: A Sample BBS
2017-10-30 22:26:55 +00:00
menuFile: "your_bbs.hjson" // copy of menu.hjson file (and adapt to your needs)
2016-03-21 04:17:33 +00:00
}
2018-11-08 01:33:07 +00:00
theme: {
default: "super-fancy-theme" // default-assigned theme (for new users)
2016-03-21 04:17:33 +00:00
}
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
}
}
}
}
}
```