L3S DRM Developer Guide
The client side of L3S DRM consists of two parts:
Statically compiled WASM class library:
DRMCore2.aMSFS 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.keyIf 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= Hidden1= 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_ACTIVATEDis not secure and must not be used to authorize access to the aircraft. Use only theDrmSucessEvent()callback from the WASM module for secure validation.