Deliver
Licensing
Activation, limits, offline operation and moving a license.
Each server needs an active license. A license belongs to a plan, which sets how many servers it covers and which limits and features a deployed project may use. The service decides whether a server is licensed; projects are delivered only to licensed servers.
Plans
| Limit or feature | Starter | Pro | Network |
|---|---|---|---|
| Servers | 1 | 3 | 10 |
| HUDs per project | 3 | 10 | 64 |
| Elements per HUD | 80 | 200 | 512 |
| States per HUD | 3 | 10 | 32 |
| Uploaded fonts and custom glyphs | No | Yes | Yes |
| Custom keyframe animations | No | Yes | Yes |
| Developer API | No | Yes | Yes |
| Arena map minimap | No | No | Yes |
Everything else, including all element types, templates, components, built-in fonts, preset animations, states, the radar minimap, subtitles and placeholders, is part of every plan. A license for more than 10 servers is a Network license issued with a higher server count.
How plans are enforced
- The editor does not block a design. The Plan check panel on the project page shows which plans the project currently fits.
- Deploying checks the project against the plan of the license that is active on the target server. If the project needs a higher plan, the deploy is refused with the message
This project needs a higher plan for this server:followed by what needs it. Nothing is changed or deleted. - If a server's assigned build no longer fits its license, for example after the license moved to a lower plan, the service stops delivering the project to that server and shows the reason under Last problem on the Servers page.
- On a plan without the developer API, calls from other plugins that register placeholders, add waypoints or show subtitles are refused. The built-in commands keep working.
- To change plan, contact the team on Discord. The plan on your license is replaced; the key, projects and designs stay.
Activating
/advancedhud license activate AHUD-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXConnect the server first. The license must belong to the same account as the server. Alternatively put the key in license.key in config.yml; the plugin activates it at startup.
States
| State | Meaning |
|---|---|
| Active | Verified with the service. |
| Active (offline grace period) | The service is unreachable. The last signed response is used for up to 72 hours. |
| Not activated | No license on this server. |
| Invalid license | The key does not exist. |
| Expired | The license period has ended. |
| Revoked / Suspended | Disabled by the vendor. |
| Activation limit reached | The license is in use on the number of servers its plan allows. |
| Server not authorized | The license belongs to a different account. |
| Installation conflict | Another copy of this installation is using the license. |
| Offline grace period ended | No successful check for longer than the grace period, or the system clock moved backwards. |
Moving a license
Run /advancedhud license deactivate on the old server, or choose Reset activations under Licenses, then activate on the new server. You can reset three times every 30 days.
How it is protected
- License responses are signed with a key that never leaves the service. The plugin only holds the public key.
- Each request carries a fresh nonce and a timestamp; replays and stale requests are rejected.
- Each check rotates a token. Two copies of one installation cannot both stay valid.
- Changing the stored license file or the system clock invalidates it.
No software protection is unbreakable. A modified plugin could skip its local checks, but it would still not receive projects from the service without a license.