๐ชถGetting Started
You use Obsidian License through the hosted dashboard at license.ohalee.com. There's no server to run โ you upload your plugin, download the loader, and configure it with values the dashboard gives you.
1. Create an account
Sign up at license.ohalee.com and log in. Your plan determines your limits (products, licenses, seats) and which growth features are available โ tiers, beta channel, trials, portal, branding and resellers.
2. Create a product and upload your plugin
In the dashboard, create a Product.
Upload your compiled plugin jar. The platform generates an AES key, encrypts the jar at rest, and discards the plaintext.
Your plugin jar must implement the ProtectedModule contract and declare the Obsidian-Module manifest attribute โ see for-developers.md.
3. Issue a license
Create a License for that product โ set its expiry, seat (machine-activation) limit and any tier/entitlements. You can issue keys manually, in bulk, or automatically from a marketplace purchase (see marketplace-automation.md).
4. Get the loader and configure it
Download the loader jar from your dashboard. This is the thin, generic Paper plugin you ship to customers โ you do not build it yourself.
Drop it into the Paper server's
plugins/folder.Edit
plugins/ObsidianLoader/config.ymlwith the values shown in your dashboard:serverUrlโhttps://license.ohalee.comlicenseKeyโ the key you issuedproductIdโ your product's idserverPublicKeyโ the Ed25519 public key shown in your dashboard (pin it so a rogue server can't substitute a payload)
See configuration.md for the full file.
5. Start the server
Start Paper. The loader activates, decrypts your plugin in memory, and enables it. Your dashboard's access log shows the activation (IP / OS / hardware id).
The loader fails closed โ the protected plugin will not run if the config is missing/invalid or the license server is unreachable. There is no offline grace mode by default.
6. Ship to customers
Distribute the loader jar (with the license key) to your buyers, or automate key delivery from the marketplaces you sell on. From then on you manage everything โ revoke, expire, rebind hardware, ban abusive IPs, push new versions โ from the dashboard, and every change takes effect on the affected servers on their next boot.
Self-hosting
Obsidian License is also self-hostable if you'd rather run your own instance and own your database and signing keys. That's a separate operator setup (Docker + Postgres) outside the scope of these customer-facing docs โ contact support if you need it.
Last updated