User Tools

Site Tools


mbbsemu:configuration:appsettings.json

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mbbsemu:configuration:appsettings.json [2020/11/15 10:08] tudaymbbsemu:configuration:appsettings.json [2023/12/09 19:56] (current) enusbaum
Line 1: Line 1:
 +<markdown>
 +# appsettings.json Config File
 +
 +MBBSEmu uses a standard JSON format Application Settings file for all configuration values. By default, MBBSEmu will look in its current directory for this file. You can specify a custom appsettings.json file using the `-S <fileName>` command line switch.
 +
 +## Configuration Values
 +
 +**`BBS.Title`** : `string` : Correlates to `MAJORBBS->bbsttl`. Some Modules make use of this configuration value to display the name of the Bulletin Board system to the users.
 +
 +**`Timer.Hertz`**: `int` : Controls speed of main BBS program loop execution. 0 = full speed/100% processor. Value of 18 minimum is recommended -- depending on your hardware ymmv, 144 works well on modern processors while keeping CPU <5%. 
 +
 +**`BBS.Channels`** : `int` : Set the maximum number of channels (users) that can use the system simultaneously 
 +
 +**`Cleanup.Time`** : `string` : Sets the time of day (24-hour) when the "Nightly Cleanup" will execute. Example Format: `03:00` for 3AM
 +
 +**`GSBL.BTURNO`** : `string` : Correlates to `GSBL->bturno`. This is the registration # for your MajorBBS/Worldgroup instance and is used by many modules to generate a unique module registration/activation code for your Bulletin Board System.
 +
 +**`GSBL.BTURNO.<moduleIdentifer>`** : `string` : Correlates to `GSBL->bturno` for the specified module. Many sysops over the years had registered copies of MajorBBS 6.25, Worldgroup 2.0, or even consolidated Bulletin Board Systems from other sysops which all had valid & legal registrations. The problem is the registration numbers or unlock codes for these modules are bound to a specific Activation #.
 +
 +Using this option, you're able to specify a unique `bturno` that the module will receive. This way you're able to play a Module you purchased for your MajorBBS 6.25 system, as well as a Module you purchased later with your Worldgroup 2.0 system even though their registration or unlock codes are tied to different BBS Activation Numbers.
 +
 +**`Module.DoLoginRoutine`** : `bool` : Specifies if users logging into the system should be displayed the "Login Routine" for the modules currently running
 +
 +**`Telnet.Enabled`** : `bool` : Specifies if the Telnet Server is enabled
 +
 +**`Telnet.IP`** : `string` : Specifies which IP the Telnet Server should bind to (Optional, defaults to all)
 +
 +**`Telnet.Port`** : `int` : Specifies which port the Telnet Server should bind to
 +
 +**`Telnet.Heartbeat`** : `bool` : Specifies if the Telnet Server should send a "heartbeat" to the client at a regular interval (NOTE: Can cause issues with MegaMud but help other clients that disconnect when there are extended periods of no activity)
 +
 +**`Rlogin.Enabled`** : `bool` : Specifies if the Rlogin Server is enabled
 +
 +**`Rlogin.IP`** : `string` : Specifies which IP the Rlogin Server should bind to (Optional, defaults to all)
 +
 +**`Rlogin.Port`** : `int` : Specifies which port the Rlogin Server should bind to
 +
 +**`Rlogin.Compatibility`** : `string` : `Default` is the same as not being configured, `WG3NT` enables a fix to prevent extra characters from showing up on initial connections from a WG3 server
 +
 +**`Rlogin.RemoteIP`** : `string` : Specifies the Remote IP of the instance to be permitted to connect via Rlogin to MBBSEmu
 +
 +**`Rlogin.PortPerModule`** : `bool` : Specifies if each module should be given it's own port. This allows Rlogin connections to be directly connected into a Module without having to go through the menuing system. This enables Sysops running systems such as Mystic to have their users directly enter a Module such as Tele-Arena as if it were running locally.
 +
 +The port numbers for the `Rlogin.PortPerModule` setting will start after `Rlogin.Port`. Modules and their assigned Rlogin Ports will be displayed on the console at startup for your information.
 +
 +**`Database.File`** : `string` : Filename of the SQLite database used by MBBSEmu for user account information
 +
 +**`Account.DefaultKeys`** : `list` : List of keys (used for access to modules/features) assigned to every new account created (Examples: 'DEMO' and 'NORMAL') -- Some modules require "USER" or "PAYING" by default, check the .msg file with each module to edit/change configuration of needed keys.
 +
 +Any changes to `DefaultKeys` only take effect to accounts created _after_ they're changed. To add keys to existing accounts, please use the **`/SYS`** command.
 +
 +**`Console.LogLevel`** : `string` : Minimum console logging level (Debug, Info, Warn, Error, Fatal)
 +
 +**`File.LogName`** : `string` : Filename for log file
 +
 +**`File.LogLevel`** : `string` : Minimum file logging level (Debug, Info, Warn, Error, Fatal)
 +
 +**`ANSI.Login`** : `string` : Filename for a custom Login ANSI file (Displayed before sign in)
 +
 +**`ANSI.Logoff`** : `string` : Filename for a custom Logoff ANSI file (Displayed while logging off)
 +
 +**`ANSI.Signup`** : `string` : Filename for a custom Signup ANSI file (Displayed when creating an account)
 +
 +**`ANSI.Menu`** : `string` : Filename for a custom Main Menu ANSI file (Replaces default menu)
 +
 +**`Btrieve.CacheSize`**: `int` : How many items per btrieve database to cache at a time. A higher number uses more memory but can cache more data. Sqlite is very fast so having a small cache value shouldn't be detrimental to performance.
 +
 +## Example File
 +</markdown>
 +<file javascript appsettings.json>
 +{
 +  "BBS.Title": "Example BBS",
 +  "Timer.Hertz": "0",
 +  "BBS.Channels": "4",
 +  "GSBL.BTURNO": "12345678",
 +  "GSBL.BTURNO.TSGARN": "87654321",
 +  "Module.DoLoginRoutine": "True",
 +  "Telnet.Enabled":  "True",
 +  "Telnet.Port": "23",
 +  "Telnet.Heartbeat": "False",
 +  "Rlogin.Enabled": "True",
 +  "Rlogin.Port": "513",
 +  "Rlogin.RemoteIP": "127.0.0.1",
 +  "Rlogin.PortPerModule": "True",
 +  "Database.File": "mbbsemu.db",
 +  "Console.LogLevel": "Info",
 +  "ANSI.Login" : "login.ans",
 +  "Account.DefaultKeys": [
 +     "DEMO",
 +     "NORMAL",
 +     "USER"
 +   ]
 +}
 +</file>
  
mbbsemu/configuration/appsettings.json.txt · Last modified: 2023/12/09 19:56 by enusbaum