The client side of L3S DRM consists of two parts:

  • Statically compiled WASM class library: DRMCore2.a

  • MSFS in-game panel/gauge: ModuleDrmGauge.html, .js, and .css

All security-critical logic is implemented in the WASM module.
The MSFS gauge serves the following purposes:

  • Retrieve the Xbox username

  • Provide a UI for the user to paste their activation key manually

  • Display error messages or status information

L3S DRM checks the work folder of each aircraft for a file named:

license.key

If the file exists and contains a valid key, the DRM system will attempt to activate the product using it.
In this case, the user will not see any activation prompt and everything will be handled in the background.


Client API Key

Each project can have one or more Client API Keys.
These can be used to differentiate between different releases or versions.

  • You can enable/disable Client API Keys at any time via the developer portal.

  • Activation keys issued to users are universal — they will work with all valid Client API Keys associated with the same project.


LVARs

The DRM system exposes the following LVARs (Local Variables):

  • L:DRM_UI_VISIBLE
    Indicates whether the activation UI should be shown:

    • 0 = Hidden

    • 1 = Visible

It is your responsibility to show or hide the gauge based on this value.

  • L:DRM_ACTIVATED
    Indicates whether the product has been activated.

Security Notice:
L:DRM_ACTIVATED is not secure and must not be used to authorize access to the aircraft. Use only the DrmSucessEvent() callback from the WASM module for secure validation.