Offline Modular Encounter Systems (MES) and RivalAI wiki reference for VS Code, with optional GitHub sync and built-in SBC validation for Space Engineers mod authors.
Unofficial community tool — not affiliated with or endorsed by MeridiusIX.
The full wiki is bundled locally — no internet required to browse, search, or validate after install. Sync is optional and updates the wiki from the community MES-WebWiki repository (refreshed weekly on GitHub).
Current release: 3.19.7
- Sidebar MES Reference panel with the full MES/RivalAI community wiki (~80+ pages)
- Search across all wiki pages
- Back / forward navigation, refresh, and bookmarks
- Wiki links open inside the panel (no external browser needed)
- Sticky toolbar on every page: search, validate, sync, navigation, and bookmarks
- Nested sidebar navigation matching the WebWiki structure (e.g. Economy & Station Blocks)
Internet required for sync. Sync contacts
api.github.comandraw.githubusercontent.com. Wiki browsing, search, bookmarks, and SBC validation work fully offline with the bundled wiki.
Click ⟳ Sync in the wiki toolbar or run MES Reference Library: Sync Wiki from MES-WebWiki from the Command Palette.
On first install, the extension runs a one-time background sync automatically when online. After that, use ⟳ Sync yourself to stay current. Disable with mesReference.syncOnFirstRun if you prefer fully manual updates.
Wiki content is downloaded from Raidfire85/MES-WebWiki (main branch):
docs/*.md— community wiki markdown (auto-updated weekly on GitHub)mkdocs.yml— sidebar/navigation structure- Built locally into offline HTML pages inside the extension
If GitHub is unreachable, the bundled wiki keeps working — sync fails gracefully and you can try again later.
Validator data (separate from wiki pages) is updated from MeridiusIX/Modular-Encounters-Systems (master branch):
- Downloads
Data/Scripts/ModularEncountersSystemsfor profile headers and tag metadata - Updates
profile-tag-index.jsonused by the SBC validator - GitHub is tried first; if unavailable, sync auto-searches workshop/local MES installs or prompts for a folder
Auto-search order for MES source fallback:
mesReference.mesSourcePath(if previously saved)- Steam workshop MES install
- Other workshop/local mod folders containing
Data/Scripts/ModularEncountersSystems - Folder picker — if nothing above is found, you are prompted to choose the folder manually
| Method | How |
|---|---|
| Command Palette | MES Reference Library: Set MES Source Path (Offline Fallback) — folder picker |
| Settings UI | File → Preferences → Settings → search MES Reference → Mes Source Path |
| settings.json | "mesReference.mesSourcePath": "C:\\\\path\\\\to\\\\ModularEncountersSystems" |
Use Show MES Source Path to see the configured path (or what auto-discovery would find). Use Clear MES Source Path to remove it.
Validation runs automatically when you open, edit, or save .sbc files. You can also validate manually from the editor title bar, the wiki toolbar (✓), the Command Palette, or Ctrl+Shift+M.
A valid MES profile requires a <Description> block and a recognized profile header (e.g. [RivalAI Behavior], [Modular Encounters SpawnGroup]).
Checks include:
- Tag names — documented in the MES wiki, known-invalid tags, and tags used under the wrong profile (e.g. a Weapons tag under Behavior)
- Values — placeholders like
[UseBarrageFire:Value]flagged as not set with hints (use true or false, numeric ranges, etc.) - Enums & booleans — from wiki Allowed Values tables (e.g.
BehaviorName, TriggerType) - Numbers — min/max and range rules from the wiki (e.g.
[Radius:25000]) - GPS / Vector3D — coordinate format such as
[Coordinates:{X:1 Y:1 Z:1}] - MES profile references — cross-file SubtypeId lookup across your mod's entire
Datafolder tree - Linked assets — audio SubtypeIds (
[ChatAudio:…]), container types ([ContainerTypes:…],[LootContainerSubtypeId:…]), and spawn group prefabs (<Prefab SubtypeId="…">) validated against definitions in your mod's audio,ContainerTypes, andPrefabs.sbc files - Discovered profiles — headers found by sync are included alongside the static profile list
Diagnostics appear as squiggles in the editor with fix hints in the Problems panel. Use Open Wiki after validating to jump to relevant documentation.
Run MES Reference Library: Validate Mod (All SBC in Data) from the Command Palette, wiki toolbar, or Ctrl+Shift+Alt+M while editing an .sbc file. Right-click a mod Data folder in the Explorer for the same command.
The report scans every .sbc under your mod Data folder and opens a summary panel:
- MES profile files — full tag, reference, and profile validation with fix hints
- Skipped non-MES files — summarized by category (Audio, Container types, Prefabs, Factions, etc.) with SubtypeId counts indexed for cross-reference checks — not listed file-by-file
- Duplicate SubtypeIds — profiles defined in more than one file across the mod
- Apply fix buttons where a safe one-click fix is available (see below)
Conservative one-click fixes — only offered when the edit is mechanically safe and won't guess at references or NPC wiring.
Available as Quick Fix (lightbulb) in the editor and Apply buttons in the mod validation report:
| Fix | When |
|---|---|
| Autopilot overwrite | ChangeAutopilotProfile + AutopilotProfile:SubtypeId on an Action profile → OverwriteAutopilotProfile + OverwriteAutopilotId |
| Move tag to linked profile | Wrong-profile tag, and exactly one linked profile of the correct type (e.g. spawn condition tag → spawn group that references it) |
| Remove unparsed tag | Dead tags MES never parses, or wrong-profile tags when move isn't possible |
Not auto-fixed (hints only): missing/wrong MES profile references, duplicate SubtypeIds, enum/value guesses, and wiring tags like Spawner, TargetData, BehaviorName.
Search for MES Reference Library in the VS Code or Cursor Extensions view and click Install.
Or open: MES Reference Library on the Visual Studio Marketplace
- Open the Releases page and download the latest
mes-reference-library-*.vsix. - In VS Code or Cursor: Extensions → ⋯ menu → Install from VSIX...
- Select the downloaded file and reload the window.
Prefer not to install a VSIX from someone directly? Clone this repo, run
npm install && npm run build-vsix, and install the VSIX you built yourself.
$env:NODE_OPTIONS = "--disable-warning=DEP0040 --disable-warning=DEP0169"
cursor --install-extension "path\to\mes-reference-library-3.19.7.vsix"For VS Code, use code instead of cursor.
npm run install-extensionThis builds if needed, picks the newest .vsix in the repo root, and installs it quietly.
Note: If you run
cursor --install-extensionwithoutNODE_OPTIONS, you may see Node deprecation warnings (punycode,url.parse). Those come from the Cursor/VS Code CLI, not this extension. They are safe to ignore, or use the commands above to hide them.
- Click the MES Reference icon in the Activity Bar (left sidebar).
- Browse or search the wiki while editing your mod.
- Open any
.sbcfile — validation runs automatically. - Hover squiggles for details and fix hints; use Quick Fix where offered.
- Run Validate Mod to get a full report across your
Datafolder. - Run ⟳ Sync when you want the latest wiki from MES-WebWiki and updated validator tag data from MES source.
| Command | Description |
|---|---|
| MES Reference Library: Open | Focus the wiki panel |
| MES Reference Library: Search | Focus the wiki search box |
| MES Reference Library: Show Bookmarks | Pick a bookmarked wiki page |
| MES Reference Library: Validate Current SBC | Validate the active .sbc file |
| MES Reference Library: Validate Mod (All SBC in Data) | Scan the mod Data folder and open the validation report |
| MES Reference Library: Sync Wiki from MES-WebWiki | Download wiki markdown from MES-WebWiki and rebuild pages; update validator tag index from MES source |
| MES Reference Library: Set MES Source Path (Offline Fallback) | Choose a local ModularEncountersSystems folder for when GitHub is unavailable |
| MES Reference Library: Show MES Source Path | Show configured fallback path or auto-detected local MES install |
| MES Reference Library: Clear MES Source Path | Remove the configured fallback path |
| MES Reference Library: Open Wiki for Issue | Open wiki docs for the first validation issue |
Keyboard shortcuts:
| Shortcut | Action |
|---|---|
Ctrl+Shift+M |
Validate current .sbc |
Ctrl+Shift+Alt+M |
Validate entire mod Data folder |
| Setting | Description |
|---|---|
mesReference.mesSourcePath |
Offline fallback path to ModularEncountersSystems. Not required — sync auto-searches workshop/local installs when GitHub fails; you only need this if auto-search cannot find MES (or you pick a folder when prompted). |
mesReference.syncOnFirstRun |
Run a one-time background wiki sync on first activation after install (default: true). Disable if you prefer fully manual updates. |
| Requirement | Details |
|---|---|
| Offline use | Wiki browse, search, bookmarks, and validation work without internet after install |
| Sync (optional) | Requires api.github.com and raw.githubusercontent.com |
| Space Engineers modding | Designed for .sbc mod definition files |
| Experimental mode | MES mods require Experimental Mode in Space Engineers (documented in wiki) |
Sync does not require the WebWiki site to be hosted or online — only the GitHub repository. If sync fails, the bundled wiki remains usable.
npm install
npm run compile
npm run build-vsixOutput: mes-reference-library-<version>.vsix in the repo root. Previous builds are moved to oldver/ automatically.
See PUBLISHING.md for step-by-step instructions.
npm run test-parser # smoke tests for XML-aware SBC parsing
npm run scan-vanilla-se-roots # regenerate vanilla SE definition roots from game install
npm run validate-mod -- --data "C:\path\to\mod\Data" [--out report.json]
npm run generate-icons # regenerate media/icon.png and activitybar.svg from MeridiousIcon.jpgvalidate-mod runs headless (no VS Code) and exits with code 1 when errors are found.
This extension is released under the MIT License (see LICENSE in the package root).
Copyright (c) 2026 raidfire — the VS Code/Cursor extension code (TypeScript, packaging, validation, and sync tooling).
Unofficial community tool — not affiliated with or endorsed by MeridiusIX.
The offline wiki pages are sourced from the community MES-WebWiki project, which mirrors and extends documentation from Modular Encounter Systems / RivalAI. Original documentation is attributed to MeridiusIX and GitHub contributors, including:
| Contributor | Contributor |
|---|---|
| MeridiusIX | CptArthur |
| enenra | jturp |
| ryo0ka | ToroidalDevil |
| stubkan | irreality-net |
| DarkXeRoX | tinsoldier |
| InvalidArgument3 | Synirrr |
| Blaylock1988 | SpruceMarcy |
| StalkR | (and others) |
Validator tag metadata is generated from C# profile definitions in the MES source repository. The upstream MES project does not ship a separate license file; this extension redistributes documentation with attribution for offline reference use.
If you are a contributor and would like your name added or adjusted, open an issue on this extension's repository.