What is currently supported?
In this initial version, we focused on support for Lua 5.4, YFT, YDD, and YDR files. If you use Lua scripts, make sure to enable lua54 'yes'
in your fxmanifest.lua. Support for the JavaScript and C# runtimes, and other file types are coming very soon!
Creating an escrowed asset
To create an escrowed asset, you'll need to ensure that your fxmanifest.lua file includes lua54 'yes'
, as this is a requirement for escrowed resources. Next, head over to https://keymaster.fivem.net/assets and click "Create new asset". From there, upload your zipped resource, and it will be processed for encryption. Please note the maximum file size for escrowed assets is 1GB.
Updating an escrowed asset
To update your escrowed asset, simply go to https://keymaster.fivem.net/assets and find the asset you wish to update. Click on the "Re-Upload" button next to it, and upload the new zipped resource. The asset will then be updated and processed for encryption.
Downloading an escrowed asset
To download your escrowed asset, simply go to https://keymaster.fivem.net/assets and find the asset you want to download. Then, click on the "Download" button next to it. This will download the encrypted version of your asset, which can be used on any server that you own.
Deleting an escrowed asset
To delete your escrowed asset, simply go to https://keymaster.fivem.net/assets and find the asset you want to download. Click on the "Delete" button next to it. This will delete the escrowed asset from your account.
Sell your resource on Tebex
When creating a new package on Tebex it asks you to configure what your customers should receive upon purchasing this package, select "FiveM Asset" and then choose the desired asset(s) from the dropdown list. When a user buys this resource, they will receive an email with a download link, and they can also download the resource directly from their own Keymaster account.
Can I still obfuscate code in escrowed resources?
There's no need! Thanks to the asset escrow & encryption system, you won’t have to worry about obfuscation or licensing anymore; we've got you covered.
Can I sell subscription-based resources?
Sure you can! Once the subscription expires the asset is revoked from the user's account and the resource will no longer start on the user's server.
What happens if an unauthorized server tries to run my resource?
The resource will simply not start, and show a 'You lack the required entitlement' error in the server console. The server owner must purchase your content to be eligible to run your resource.
Is NUI supported in this system?
At this moment NUI is not supported. You should treat NUI as any web browser; websites that you visit also don’t protect their frontend code (nor do they typically try to). Treat your code as such as well.
How can I select which files should be protected by the escrow system?
It’s possible you want to leave a few files fully accessible, such as configuration. You can tell the escrow system to ignore certain files by using the escrow_ignore
directive in your fxmanifest.lua
like so:
escrow_ignore {
'script/code.lua', -- Only ignore one file
'stream/tuner.ydr', -- Works for any file, stream or code
'stream/*.yft', -- Ignore all .yft files in that folder
'stream/**/*.yft' -- Ignore all .yft files in any subfolder
}
Can I transfer my own asset to another user?
Unfortunately, you are not able to transfer your created asset to another Cfx.re account, assets can only be distributed via a Tebex package.