Skip to main content
Full working FiveM Lua examples for the RMZ license verification API. Uses FiveM’s built-in PerformHttpRequest for HTTP calls. All examples are available on GitHub: github.com/Rmz-App/rmz-license-examples

Dependencies

Plain Verification

With E2EE

FiveM’s Lua runtime does not have built-in AES-256-GCM decryption. The recommended approach is to run a small Node.js helper alongside your resource that handles decryption via a local HTTP endpoint.
Lua has no native AES-GCM support. The E2EE example below requires a local Node.js decryption service running on http://127.0.0.1:3999/decrypt. You can use the Node.js E2EE example as a starting point for the helper.

Key Functions

FiveM-Specific Notes

All HTTP calls in FiveM are asynchronous. The VerifyLicense function uses a callback pattern rather than returning a value directly. Make sure your resource logic accounts for this.
For a simpler setup, consider verifying the license once on resource start inside a Citizen.CreateThread. If the license is invalid, call StopResource(GetCurrentResourceName()) to prevent the resource from running.