A simple Bukkit/Spigot plugin demonstrating integration with the Lukittu license verification system.
This project showcases how to implement a robust license verification system for your Minecraft plugins. It includes:
- License key validation on plugin startup
- Regular license heartbeat checks
- Cryptographic challenge-response verification
- Proper error handling for various license scenarios
- Clone this repository
- Update the licensing details in
src/main/resources/config.yml
:license.key
: Your license keylicense.team-id
: Your Lukittu team IDlicense.product-id
: Your Lukittu product IDlicense.public-key
: Your RSA public key for verification
- Build with Maven:
mvn clean package
- Copy the generated JAR from
target/
to your server'splugins/
folder
# With Maven installed
mvn clean package
# Or using the Maven wrapper (if available)
./mvnw clean package
This repository is provided as a demonstration implementation only and is not intended for direct use in production plugins without additional security hardening.
When implementing license protection in a real-world plugin:
-
Never expose sensitive details in configuration files
- Only the license key should be configurable by end users
- All other values (team ID, product ID, public key) should be hardcoded and obfuscated
-
Apply code obfuscation
- Use tools like ProGuard, Allatori, or Zelix KlassMaster
- Rename classes, methods, and fields to hinder reverse engineering
- Apply string encryption, especially for constants like API URLs
-
Implement anti-tampering measures
- Add integrity checks throughout your code
- Use multiple verification points to ensure consistent license validation
- Consider native code protection (JNI/JNIC) for critical sections
-
Protect application logic
- Implement license checks in multiple places, not just at startup
- Add time-based validation that varies with each installation
- Mix verification logic with core functionality to make bypass more difficult
This example code is provided for educational purposes. For use in your own plugins, ensure you have appropriate licensing for all dependencies and adhere to Lukittu's terms of service.