If you're looking for a hosted licensing system for a Minecraft plugin, you'll quickly come across two names: MC License (that's us) and Lukittu. Both sign every validation response with RSA, both limit how many servers a key can run on, and both can hand out keys automatically on BuiltByBit.
The difference is focus. Lukittu is a general-purpose licensing service that covers Minecraft alongside FiveM, Roblox and other software. MC License is built for one job: protecting and selling Minecraft plugins. That focus shows up in how quickly you can get set up, how many marketplaces work out of the box, and how far the platform scales with you.
Every claim about Lukittu below comes from its own website, docs and code, checked in October 2026.
The short answer
If you sell Minecraft plugins, MC License gets you further with less work:
- One method call in
onEnable()instead of adapting an example plugin's verification code - Automatic key delivery on BuiltByBit, Voxel Shop and Tebex, with the shortest setup on each
- Unlimited licenses on Professional and Lifetime, where Lukittu Pro stops at 500
- A $99 Lifetime plan, so you can pay once instead of subscribing
- Minecraft-specific extras like a buyer-facing license checker and per-plugin collaborators
Lukittu is worth a look if you specifically need open-source code, or licensing for FiveM and Roblox resources as well as Minecraft.
At a glance
| MC License | Lukittu | |
|---|---|---|
| Built for | Minecraft plugins (and any software that can make an HTTP request) | General software: Minecraft, FiveM, Roblox and more |
| Adding it to your plugin | Maven/Gradle library (or one copy-paste class), one method call | Copy and adapt an example plugin |
| BuiltByBit automation | One placeholder | Purchase webhook with a custom JSON body, plus a placeholder |
| Voxel Shop (Polymart) automation | Paste your API key | Webhook, external API placeholder and two secrets |
| Tebex automation | Yes | Not offered |
| Licenses on top plan | Unlimited | 500 |
| Pay once | Lifetime, $99 | No |
| Response signing | RSA (SHA256withRSA) with a per-request nonce | RSA 2048 challenge-response |
| Server limits | Concurrent servers and IP restrictions | IP and hardware ID limits |
| Discord bot | Yes | Yes |
| Open source | Client library on GitHub | Yes, AGPL-3.0 |
Why plugin developers choose MC License
1. Licensing in one line of code
With MC License you add a dependency and call one method in onEnable():
if (!MCLicense.validateKey(this, "yourPluginId")) {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
That one call handles everything:
- creates the
mclicense.txtfile your customer pastes their key into - picks up keys that BuiltByBit or Voxel Shop injected into the download, so marketplace buyers don't paste anything
- verifies the signature and nonce on every response
- runs the heartbeat that powers server limits and your analytics
- logs a clear message to the console either way
- works on Folia as well as Paper and Spigot
If you can't shade a library, there's a single class you can copy in instead. The full walkthrough is in how to add a license key to a Paper plugin.
Lukittu doesn't ship a client library. Its docs point you to an example plugin with a verification class of about 570 lines, which you adapt into your own code. The example reads your team ID, product ID and public key from config.yml, with a warning that in production they should be "hardcoded and obfuscated within your compiled code". That's work you have to do and get right on every plugin, and again whenever the example changes.
2. Marketplace setup in minutes
Both services can deliver keys automatically on BuiltByBit, but there's a big difference in the work involved.
On MC License, you generate a secret on the dashboard and create one BuiltByBit placeholder: %%__BBB_LICENSE__%%, type External license key, pointing at our API. That's it. (Docs)
On Lukittu, you enable the integration, create a purchase webhook in BuiltByBit with a custom JSON body template (pasting in your secret, product ID and limits), and then set up the license placeholder as well.
Voxel Shop is the same story. MC License just needs your Voxel Shop API key, and verifies the buyer's purchase with Voxel Shop the first time the plugin starts. Lukittu needs a webhook, an external API placeholder and two separate secrets.
Every extra step is another place for a typo to quietly stop keys arriving, and you usually find out when a customer messages you asking where their key is.
3. Tebex, built in
Plenty of Minecraft developers sell through Tebex, either on their own store or alongside a marketplace. MC License has native Tebex automation: Tebex tells us about the payment, and we create the license and email it to the buyer with activation instructions. (How it works.)
Lukittu's integrations are Stripe, BuiltByBit, Polymart and Discord. Tebex isn't one of them, so you'd have to build that connection yourself.
4. It grows with your plugin
Lukittu Pro tops out at 500 licenses. That sounds like plenty until your plugin takes off across a couple of marketplaces. MC License Professional and Lifetime have unlimited plugins, licenses and IP restrictions, so a successful launch never means hitting a ceiling or migrating mid-growth.
5. Pay once, keep it forever
Tired of subscriptions? MC License's Lifetime plan is $99, once, with everything in Professional. That's less than a year of Professional on monthly billing. You can switch to it from an active subscription on the billing page.
6. Made for how Minecraft plugins are sold
Because MC License only does Minecraft, the details fit how you actually work:
- Import plugins straight from SpigotMC, BuiltByBit or Voxel Shop.
- BuiltByBit licenses show the buyer's username, not a raw profile link.
- A public license checker lets buyers check their own key's status and expiry, without messaging you.
- Collaborators give up to 5 people per plugin their own access, with separate permissions to create, edit, toggle or delete licenses.
- A Discord bot lets you create and edit licenses without opening the dashboard.
We're also the team behind LearnSpigot, which has taught more than 15,000 people to write Minecraft plugins. When you ask for help in our Discord, you're talking to people who know Bukkit, Paper and the marketplaces inside out.
Pricing
| Plan | MC License | Lukittu |
|---|---|---|
| Entry | Basic: $4.99/mo or $49.99/yr, 3 plugins, 50 licenses each | Pro: €2.90/mo or €32/yr, 50 products, 500 licenses |
| Unlimited | Professional: $9.99/mo or $99.99/yr | Not available |
| Pay once | Lifetime: $99, unlimited | Not available |
Lukittu's Pro plan costs less per month, and it describes Pro as existing to cover hosting costs rather than to make a profit. What you get for MC License's price is the shorter setup, Tebex automation, no license ceiling and the option to pay once.
Every paid MC License plan includes license validation, concurrent server limits, expiration, the web dashboard, usage analytics, marketplace automation and collaborators. Basic and Professional start with a free trial, and no card is needed.
What about security?
On the core license check, the two are very close. Both sign every validation response with RSA, and both tie the response to a random challenge the plugin generates (we call it a nonce). That combination defeats the two easy attacks: faking the license server, and replaying an old "valid" response. We explain how it works in our security docs and in should you build your own licensing system?.
Lukittu also advertises a remote classloader, which streams your code to the server encrypted so it only ever exists in memory. Its own docs describe it as "still a work in progress", available on Pro on request. It also needs a network connection every time the server starts, and marketplace rules matter here: SpigotMC bans licensing outright, and Voxel Shop requires protection to "work out of the box".
The practical advice is the same either way: combine a signed license check with obfuscation, and use server limits so a shared key stops working.
Where Lukittu fits
Lukittu is a solid project, and it's the better fit in a few specific cases:
- You need open-source code. The Lukittu platform is published under AGPL-3.0. (Its docs say self-hosting isn't officially supported, so you'd still use the hosted version.)
- You sell beyond Minecraft. It covers FiveM and Roblox, has a Stripe integration with subscriptions, and lets one key unlock several products.
- You want hardware ID limits or Discord role verification. Lukittu can limit a key by hardware ID as well as IP, and its bot can hand out Discord roles to verified buyers.
Which one should you pick?
Choose MC License if you:
- sell on BuiltByBit, Voxel Shop or Tebex, or several of them at once
- want licensing working in minutes with a library and one method call
- want key delivery that just works, with minimal setup on each marketplace
- have, or expect to have, more than 500 customers
- would rather pay once than subscribe
- want Minecraft-specific extras like the buyer-facing license checker and per-plugin collaborators
Choose Lukittu if you:
- need open-source code, or licensing for FiveM and Roblox resources too
- sell through Stripe rather than the Minecraft marketplaces
For most developers selling Minecraft plugins, MC License is the quicker and more complete choice. Start free and have your first license check running today.
Switching from Lukittu
Moving an existing plugin over is straightforward:
- Create a free account and add your plugin, linking its BuiltByBit, Voxel Shop or Tebex listing.
- Replace the Lukittu verification code with
MCLicense.validateKey. - For existing customers, create their licenses through the MC License API (or from the dashboard or Discord bot), and send each buyer their new key. MC License generates its own keys, so customers will get a new one.
- Release the update. New marketplace buyers get their MC License key automatically from then on.
Got questions about moving over? Ask us in Discord, and we'll help you through it.
Lukittu details are taken from lukittu.com, its documentation and its GitHub repository, as of October 2026. If anything here is out of date, tell us and we'll fix it.