This is an old revision of the document!
<markdown> # modules.json Config File
While MBBSEmu allows you to run a single Module from the command line, using a modules.json file allows you to specify any number of modules to be loaded when you run MBBSEmu. You can specify a modules.json file using the `-C <fileName>` command line switch.
The modules.json file is a simple JSON file that lists an array of modules with their `Identifier` and `Path`
`Identifier` : This is the unique name given to the MajorBBS/Worldgroup module. This is usually the DLL name (Example: `TSGARN`)
`Path`: This is the absolute path on the file system to the folder containing the module (Example: `c:\dos\modules\telearena\`). Using this path variable, modules can now live in their own folders vs. having to all be installed in a single directory as MajorBBS/Worldgroup required.
`MenuOptionKey`: MBBSEmu will specify a default value for each module that can be entered at the main menu. If you want to use a custom value for a module (such as `T` for Tele-Arena), you can specify it using this option. (Modules with Duplicate `MenuOptionKey` values will be ignored, A-Z or 0-9 accepted)
`Enabled`: `1` = “true” and is default, which enables the module. `0` = “false” and will load the module in a disabled state – this can be enabled using the sysop commands “/sys enable <moduleid>”
`Patch`: As of [PR #502](https://github.com/mbbsemu/MBBSEmu/pull/502), MBBSEmu has implemented SoftPatch support which allows you to apply custom hex edits/string edits directly to a module on load without having to make any modifications to the module DLL file.
Note: Because the file is JSON, on Windows platforms you must escape the backslash in the path with `\\` (See Below)
# Example File
```json {
"Modules": [ { "Identifier": "EXAMPLE1", "Path": "c:\\bbsv6\\" }, { "Identifier": "EXAMPLE2", "Path": "c:\\bbsv6\\", "MenuOptionKey": "E" } ]
} ``` </markdow n>