L3S DRM Developer Guide
The Demo aircraft is a modified version of the default "CommBusAircraft" demo from the MSFS 2020 SDK.
While it's a MSFS2020 SDK Demo, it also works with MSFS2024.
Quick Start
If you just want to see how the DRM works, there is a pre-generated package in the CommBusAircraft/Packages folder, which you can simply put in your MSFS Community folder.
You should then see the "CommBus Aircraft" in your aircraft list.
Demo Activation Key:
0123456789
This key is whitelisted and can be used by multiple users.
Without valid activation, one of the two left screens will stay off completely. The other screen will turn on, but with wrong colors and broken functionality. This demonstrates the anti-crack protection APIs (GetAuthValue(), ConfirmAuth(), and GetAuthMultiplier(), which keeps the gauge size correct only when activated; formulas are stronger) in action. After entering a valid key, both screens turn on and function correctly.
The gauges also show a formula panel (L3DRM 3.0 or newer): an EVAL bar, a dial needle, a color ramp, and PEAK / SPREAD readouts, all computed by formulas from the DRM Portal through the generated L3DRM_Formulas.h. Until the formulas are delivered after activation, the panel shows "not ready". Change the input with the existing +/- buttons in the sim. See ComputeDrmV3() in WasmGauge.cpp and the Formulas section of the C++ Integration page.
The per-frame gauge code uses the DRM_AUTHKEY() compile-time key for its GetAuthValue() calls. See WasmGauge.cpp for the pattern, and the DRM_AUTHKEY() section of the C++ Integration page for details.
The key is stored in the work folder, so you can restart the simulator and you won't need to enter it again.
Activation is online-only: the aircraft activates against the DRM server each time it is loaded, so an internet connection is required.
That's the end of the demo.

Building Yourself
To build the package yourself, use the CommBusAircraftProject.xml in the MSFSProject folder.
Automated Build Process: The demo includes a post-build script that automatically optimizes the .wasm file, then copies it to the correct aircraft package folder. No manual steps required!
The project structure includes:
Sources/Codefolder, which contains:- Visual Studio solution/project
includefolder with the required.hfiles and the DRM library (DRMCore2_FS20.a, matching the MSFS 2020 SDK the demo is built with)L3DRM_Formulas.h, the formula header downloaded from the DRM Portal- Post-build script (
scripts/postbuild-msfs.bat) for automated WASM processing
The required HTML/JS/CSS gauge is located in the
PackageSources/Copysfolder
The complete c++/wasm DRM implementation is located in the WasmGauge.cpp file.
Tip: Search for
DRMPublishinWasmGauge.cppto quickly locate all sections where DRM-related code is implemented.
Security Features: The demo aircraft includes enhanced security features including string obfuscation and optimized, stripped WASM builds. See the WASM Build & Security guide for implementation details.