Escrow & Open Source
Protection Guide
This guide explains the different options available for protecting and distributing your FiveM server resources, focusing on the industry-standard Escrow system versus traditional Open Source approaches.
Understanding Escrow
Escrow is a protection system that encrypts your server resources, making them unreadable and uneditable by users. This is the recommended approach for protecting your intellectual property and premium assets.
Benefits of Escrow
- Code Security: Protects your logic and proprietary algorithms from being stolen or leaked.
- Integrity: Prevents unauthorized modifications that could lead to script errors or server crashes.
- IP Rights: Maintains your intellectual property rights while allowing users to utilize the script.
- Controlled Access: Allows you to manage distribution via platforms like Tebex.
Open Source Options
Open Source means making your server resources publicly available, allowing others to view, modify, and distribute your code. This is ideal for community-driven projects.
Benefits of Open Source
- Collaboration: Encourages community contributions and bug fixes.
- Transparency: Allows for public code reviews and security audits.
- Development Speed: Community involvement can accelerate feature development.
- Learning: Provides educational value for new FiveM developers.
Decision Matrix
Choose the right protection level for your resource based on your goals:
| Goal | Recommended Option |
|---|---|
| Paid/Premium Resources | Escrow |
| Custom Commissions | Escrow |
| Learning/Tutorials | Open Source |
| Community Frameworks | Open Source |
| Proprietary Logic | Escrow |
Implementation Guide
Follow these steps to correctly protect and distribute your resource.
Step 1: Resource Preparation
Before applying any protection, ensure your codebase is clean and optimized.
- Organize your server files into logical folders.
- Remove any sensitive information or local API keys.
- Ensure all functionality is thoroughly tested.
Step 2: Encrypting Your Resource (Escrow)
To use the Cfx.re Escrow system, you must configure your fxmanifest.lua to identify which files should remain unencrypted (like your configuration files).
Step 3: Distribution & Licensing
- Escrow: Use secure platforms like Tebex which integrate directly with the Cfx.re Keymaster.
- Open Source: Host your code on GitHub or GitLab with a proper license file (MIT, GPL, etc.).
Best Practices
For Escrow Projects
- Clear Documentation: Since the code is hidden, your documentation must be extremely detailed.
- Expose Configs: Move as many variables as possible into a
config.luaso users can customize their experience. - Regular Updates: Maintain the encryption by updating your resource version regularly.
For Open Source Projects
- License Choice: Always include a
LICENSEfile so users know their rights. - Contribution Rules: Include a
CONTRIBUTING.mdto guide community developers. - Issue Tracking: Use GitHub Issues to manage bug reports and feature requests.