User Tools

Site Tools


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

  "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": "",
  "Rlogin.PortPerModule": "True",
  "Database.File": "mbbsemu.db",
  "Console.LogLevel": "Info",
  "ANSI.Login" : "login.ans",
  "Account.DefaultKeys": [
mbbsemu/configuration/appsettings.json.txt · Last modified: 2023/12/09 19:56 by enusbaum