<!DOCTYPE html> <html lang="en-US"> <head> <meta charset='utf-8'> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/png" sizes="16x16" href="/enigma-bbs/assets/images/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png"> <link rel="stylesheet" href="/enigma-bbs/assets/css/style.css?v="> <!-- Begin Jekyll SEO tag v2.7.1 --> <title>System Configuration | ENiGMA½ BBS Software</title> <meta name="generator" content="Jekyll v4.2.1" /> <meta property="og:title" content="System Configuration" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="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." /> <meta property="og:description" content="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." /> <meta property="og:site_name" content="ENiGMA½ BBS Software" /> <meta property="og:type" content="article" /> <meta property="article:published_time" content="2023-01-16T18:10:22+00:00" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="System Configuration" /> <script type="application/ld+json"> {"headline":"System Configuration","dateModified":"2023-01-16T18:10:22+00:00","datePublished":"2023-01-16T18:10:22+00:00","description":"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.","url":"/enigma-bbs/configuration/config-hjson.html","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/configuration/config-hjson.html"},"@type":"BlogPosting","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"@context":"https://schema.org"}</script> <!-- End Jekyll SEO tag --> </head> <body> <div id="container"> <div class="sidebar" id="sidebar"> <hr class="mobile-divide"> <div class="container"> <a href="/enigma-bbs/"><img src="/enigma-bbs/assets/images/enigma-logo.png" class="logo" alt="Enigma logo"></a> </div> <ul> <li>Installation</li> <ul> <li><a href="/enigma-bbs/installation/installation-methods.html">Installation Methods</a></li> <li><a href="/enigma-bbs/installation/install-script.html">Install Script</a></li> <li><a href="/enigma-bbs/installation/docker.html">Docker</a></li> <li><a href="/enigma-bbs/installation/manual.html">Manual Installation</a></li> <li>OS / Hardware Specific</li> <ul> <li><a href="/enigma-bbs/installation/hardware/rpi.html">Raspberry Pi</a></li> <li><a href="/enigma-bbs/installation/hardware/windows.html">Installation Under Windows</a></li> </ul> <li><a href="/enigma-bbs/installation/network.html">Network Setup</a></li> <li><a href="/enigma-bbs/installation/testing.html">Testing Your Installation</a></li> <li><a href="/enigma-bbs/installation/production.html">Production Installation</a></li> </ul> <li>Configuration</li> <ul> <li><a href="/enigma-bbs/configuration/creating-config.html">Creating Initial Config Files</a></li> <li><a href="/enigma-bbs/configuration/sysop-setup.html">SysOp Setup</a></li> <li><a href="/enigma-bbs/configuration/config-files.html">Configuration Files</a></li> <li class="active-nav">System Configuration</li> <li><a href="/enigma-bbs/configuration/hjson.html">HJSON Config Files</a></li> <li><a href="/enigma-bbs/configuration/menu-hjson.html">Menu HSJON</a></li> <li><a href="/enigma-bbs/configuration/directory-structure.html">Directory Structure</a></li> <li><a href="/enigma-bbs/configuration/external-binaries.html">External Support Binaries</a></li> <li><a href="/enigma-bbs/configuration/archivers.html">Archivers</a></li> <li><a href="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a></li> <li><a href="/enigma-bbs/configuration/email.html">Email</a></li> <li><a href="/enigma-bbs/configuration/colour-codes.html">Colour Codes</a></li> <li><a href="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a></li> <li><a href="/enigma-bbs/configuration/acs.html">Access Condition System (ACS)</a></li> <li><a href="/enigma-bbs/configuration/security.html">Security</a></li> </ul> <li>Miscellaneous</li> <ul> <li><a href="/enigma-bbs/misc/user-interrupt.html">User Interruptions</a></li> </ul> <li>File Base</li> <ul> <li><a href="/enigma-bbs/filebase/index.html">About File Areas</a></li> <li><a href="/enigma-bbs/filebase/first-file-area.html">Configuring a File Base</a></li> <li><a href="/enigma-bbs/filebase/acs.html">ACS</a></li> <li><a href="/enigma-bbs/filebase/uploads.html">Uploads</a></li> <li><a href="/enigma-bbs/filebase/web-access.html">Web Access</a></li> <li><a href="/enigma-bbs/filebase/tic-support.html">TIC Support</a></li> <li><a href="/enigma-bbs/filebase/network-mounts-and-symlinks.html">Network Mounts & Symlinks</a></li> </ul> <li>Message Areas</li> <ul> <li><a href="/enigma-bbs/messageareas/configuring-a-message-area.html">Message Base</a></li> <li><a href="/enigma-bbs/messageareas/message-networks.html">Message Networks</a></li> <li><a href="/enigma-bbs/messageareas/bso-import-export.html">BSO Import / Export</a></li> <li><a href="/enigma-bbs/messageareas/netmail.html">Netmail</a></li> <li><a href="/enigma-bbs/messageareas/qwk.html">QWK Support</a></li> <li><a href="/enigma-bbs/messageareas/ftn.html">FidoNet-Style Networks (FTN)</a></li> </ul> <li>Art</li> <ul> <li><a href="/enigma-bbs/art/general.html">General Art Information</a></li> <li><a href="/enigma-bbs/art/themes.html">Themes</a></li> <li><a href="/enigma-bbs/art/mci.html">MCI Codes</a></li> <li>Views</li> <ul> <li><a href="/enigma-bbs/art/views/button_view.html">Button View</a></li> <li><a href="/enigma-bbs/art/views/edit_text_view.html">Edit Text View</a></li> <li><a href="/enigma-bbs/art/views/full_menu_view.html">Full Menu View</a></li> <li><a href="/enigma-bbs/art/views/horizontal_menu_view.html">Horizontal Menu View</a></li> <li><a href="/enigma-bbs/art/views/mask_edit_text_view.html">Mask Edit Text View</a></li> <li><a href="/enigma-bbs/art/views/multi_line_edit_text_view.html">Multi Line Edit Text View</a></li> <li><a href="/enigma-bbs/art/views/spinner_menu_view.html">Spinner Menu View</a></li> <li><a href="/enigma-bbs/art/views/text_view.html">Text View</a></li> <li><a href="/enigma-bbs/art/views/toggle_menu_view.html">Toggle Menu View</a></li> <li><a href="/enigma-bbs/art/views/vertical_menu_view.html">Vertical Menu View</a></li> </ul> </ul> <li>Servers</li> <ul> <li>Login Servers</li> <ul> <li><a href="/enigma-bbs/servers/loginservers/telnet.html">Telnet Server</a></li> <li><a href="/enigma-bbs/servers/loginservers/ssh.html">SSH Server</a></li> <li><a href="/enigma-bbs/servers/loginservers/websocket.html">Web Socket / Web Interface Server</a></li> </ul> <li>Content Servers</li> <ul> <li><a href="/enigma-bbs/servers/contentservers/web-server.html">Web Server</a></li> <li><a href="/enigma-bbs/servers/contentservers/gopher.html">Gopher Server</a></li> <li><a href="/enigma-bbs/servers/contentservers/nntp.html">NNTP Server</a></li> </ul> </ul> <li>Modding</li> <ul> <li><a href="/enigma-bbs/modding/local-doors.html">Local Doors</a></li> <li><a href="/enigma-bbs/modding/door-servers.html">Door Servers</a></li> <li><a href="/enigma-bbs/modding/telnet-bridge.html">Telnet Bridge</a></li> <li><a href="/enigma-bbs/modding/existing-mods.html">Existing Mods</a></li> <li><a href="/enigma-bbs/modding/file-area-list.html">File Area List</a></li> <li><a href="/enigma-bbs/modding/last-callers.html">Last Callers</a></li> <li><a href="/enigma-bbs/modding/whos-online.html">Who's Online</a></li> <li><a href="/enigma-bbs/modding/user-list.html">User List</a></li> <li><a href="/enigma-bbs/modding/msg-conf-list.html">Message Conference List</a></li> <li><a href="/enigma-bbs/modding/msg-area-list.html">Message Area List</a></li> <li><a href="/enigma-bbs/modding/bbs-list.html">BBS List</a></li> <li><a href="/enigma-bbs/modding/rumorz.html">Rumorz</a></li> <li><a href="/enigma-bbs/modding/file-transfer-protocol-select.html">File Transfer Protocol Select</a></li> <li><a href="/enigma-bbs/modding/onelinerz.html">Onelinerz</a></li> <li><a href="/enigma-bbs/modding/show-art.html">The Show Art Module</a></li> <li><a href="/enigma-bbs/modding/file-base-download-manager.html">File Base Download Manager</a></li> <li><a href="/enigma-bbs/modding/file-base-web-download-manager.html">File Base Web Download Manager</a></li> <li><a href="/enigma-bbs/modding/set-newscan-date.html">Set Newscan Date Module</a></li> <li><a href="/enigma-bbs/modding/node-msg.html">Node to Node Messaging</a></li> <li><a href="/enigma-bbs/modding/top-x.html">TopX</a></li> <li><a href="/enigma-bbs/modding/user-2fa-otp-config.html">2FA/OTP Config</a></li> <li><a href="/enigma-bbs/modding/autosig-edit.html">Auto Signature Editor</a></li> <li><a href="/enigma-bbs/modding/menu-modules.html">Menu Modules</a></li> </ul> <li>Administration</li> <ul> <li><a href="/enigma-bbs/admin/administration.html">Administration</a></li> </ul> <li>Modding</li> <ul> <li><a href="/enigma-bbs/modding/wfc.html">Waiting For Caller (WFC)</a></li> </ul> <li>Administration</li> <ul> <li><a href="/enigma-bbs/admin/oputil.html">oputil</a></li> <li><a href="/enigma-bbs/admin/updating.html">Updating</a></li> </ul> <li>Troubleshooting</li> <ul> <li><a href="/enigma-bbs/troubleshooting/monitoring-logs.html">Monitoring Logs</a></li> </ul> </ul> </div> <div class="main_area"> <div class="container"> <section id="main_content"> <div class="PageNavigation"> <a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/configuration/config-files.html">« Configuration Files</a> <a href="#sidebar" class="btn menu_button">MENU</a> <a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/configuration/hjson.html">HJSON Config Files »</a> <br clear="both"> </div> <div class="page"> <h1 class="page-title">System Configuration</h1> <h2 id="system-configuration">System Configuration</h2> <p>The main system configuration file, <code class="language-plaintext highlighter-rouge">config.hjson</code> both overrides defaults and provides additional configuration such as message areas. Defaults lived in <code class="language-plaintext highlighter-rouge">core/config_default.js</code>.</p> <p>The default path is <code class="language-plaintext highlighter-rouge">/enigma-bbs/config/config.hjson</code> though this can be overridden using the <code class="language-plaintext highlighter-rouge">--config</code> parameter when invoking <code class="language-plaintext highlighter-rouge">main.js</code>.</p> <blockquote> <p><img class="emoji" title=":information_source:" alt=":information_source:" src="https://github.githubassets.com/images/icons/emoji/unicode/2139.png" height="20" width="20"> See also <a href="/enigma-bbs/configuration/config-files.html">Configuration Files</a>. Additionally <a href="/enigma-bbs/configuration/hjson.html">HJSON General Information</a> may be helpful for more information on the HJSON format.</p> </blockquote> <h3 id="creating-a-configuration">Creating a Configuration</h3> <p>Your initial configuration skeleton should be created using the <code class="language-plaintext highlighter-rouge">oputil.js</code> command line utility. From your enigma-bbs root directory:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./oputil.js config new </code></pre></div></div> <p>You will be asked a series of questions to create an initial configuration.</p> <h3 id="overriding-defaults">Overriding Defaults</h3> <p>The file <code class="language-plaintext highlighter-rouge">core/config_default.js</code> provides various defaults to the system that you can override via <code class="language-plaintext highlighter-rouge">config.hjson</code>. For example, the default system name is defined as follows:</p> <div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">general</span> <span class="p">:</span> <span class="p">{</span> <span class="nl">boardName</span> <span class="p">:</span> <span class="dl">'</span><span class="s1">Another Fine ENiGMA½ System</span><span class="dl">'</span> <span class="p">}</span> </code></pre></div></div> <p>To override this for your own board, in <code class="language-plaintext highlighter-rouge">config.hjson</code>:</p> <pre><code class="language-hjson">general: { boardName: Super Fancy BBS } </code></pre> <p>(Note the very slightly <a href="/enigma-bbs/configuration/hjson.html">HJSON</a> different syntax. <strong>You can use standard JSON if you wish!</strong>)</p> <p>While not everything that is available in your <code class="language-plaintext highlighter-rouge">config.hjson</code> file can be found defaulted in <code class="language-plaintext highlighter-rouge">core/config_default.js</code>, a lot is. <a href="https://github.com/NuSkooler/enigma-bbs/blob/master/core/config_default.js">Poke around and see what you can find</a>!</p> <h3 id="configuration-sections">Configuration Sections</h3> <p>Below is a list of various configuration sections. There are many more, but this should get you started:</p> <ul> <li><a href="/enigma-bbs/configuration/acs.html">ACS</a></li> <li> <a href="/enigma-bbs/configuration/archivers.html">Archivers</a>: Set up external archive utilities for handling things like ZIP, ARJ, RAR, and so on.</li> <li> <a href="/enigma-bbs/configuration/email.html">Email</a>: System email support.</li> <li> <a href="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a>: Set up events as you see fit!</li> <li><a href="/enigma-bbs/filebase/index.html">File Base</a></li> <li> <a href="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a>: Oldschool file transfer protocols such as X/Y/Z-Modem!</li> <li> <a href="/enigma-bbs/messageareas/configuring-a-message-area.html">Message Areas</a>, <a href="/enigma-bbs/messageareas/message-networks.html">Networks</a>, <a href="/enigma-bbs/messageareas/netmail.html">NetMail</a>, etc.</li> <li>…and a <strong>lot</strong> more! Explore the docs! If you can’t find something, please contact us!</li> </ul> </div> <div class="PageNavigation"> <a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/configuration/config-files.html">« Configuration Files</a> <a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/configuration/hjson.html">HJSON Config Files »</a> <br clear="both"> </div> </section> </div> </div> </div> </body> </html>