Setup guide for using BGforge MLS with JetBrains IDEs (IntelliJ IDEA, WebStorm, CLion, etc.).
pnpm install -g @bgforge/mls-serverInstall LSP4IJ from the JetBrains Marketplace.
Go to Settings > Languages & Frameworks > Language Servers and add a new server:
- Name: BGforge MLS
- Command:
bgforge-mls-server --stdio - File patterns:
*.ssl,*.h,*.baf,*.d,*.tp2,*.tpa,*.tph,*.tpp,worldmap.txt
Download bgforge-mls.tmbundle.zip from the latest GitHub release, extract it, then:
- Go to
Settings > Editor > TextMate Bundles - Click
+and point to the extractedbgforge-mls.tmbundledirectory
The tmbundle also includes highlight-only definitions (no LSP provider) for Fallout MSG (.msg), WeiDU TRA (.tra), Infinity 2DA (.2da), and Fallout scripts.lst.
Note: .h files default to C in JetBrains IDEs. The config above overrides this globally. For per-project control, use Settings > Editor > File Types.
If you write .tssl or .td transpiler files, the server package includes TypeScript plugins that run inside tsserver. JetBrains IDEs with TypeScript support (WebStorm, IntelliJ Ultimate) use their own TypeScript service, which reads tsconfig.json plugins. See TypeScript Plugins for setup.
BGforge MLS uses workspace/configuration. Paste the JSON into the Configuration tab (not Initialization Options) at Settings > Languages & Frameworks > Language Servers > BGforge MLS:
{
"bgforge": {
"validate": "saveAndType",
"falloutSSL": {
"compilePath": "",
"compileOptions": "-q -p -l -O2 -d -s -n",
"outputDirectory": "",
"headersDirectory": ""
},
"weidu": {
"path": "weidu",
"gamePath": ""
}
}
}See Settings Reference for all available options.