For the complete documentation index, see llms.txt. This page is also available as Markdown.

๐Ÿชถ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

  1. In the dashboard, create a Product.

  2. 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

  1. Download the loader jar from your dashboard. This is the thin, generic Paper plugin you ship to customers โ€” you do not build it yourself.

  2. Drop it into the Paper server's plugins/ folder.

  3. Edit plugins/ObsidianLoader/config.yml with the values shown in your dashboard:

    • serverUrl โ€” https://license.ohalee.com

    • licenseKey โ€” the key you issued

    • productId โ€” your product's id

    • serverPublicKey โ€” 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).

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