Dashboard
This guide provides detailed instructions for navigating and utilizing the core administrative functionalities within the SunLicense Web Dashboard, focusing on managing Products, Licenses, Blacklists,
SunLicense Web Dashboard Administrator Guide
The Web Dashboard is the central interface for managing your license system.
You can access it via your server address (e.g., http://{serverip}:{port}
).
Authentication is required, and access is restricted to users with the ROLE_ADMIN
permission.
1. Product Management
The Products view allows you to define the software or resources that your license keys will validate against.
1.1. Creating a Product
In the "Create Products" tab, you must define the foundational settings for all future licenses associated with this product:
Field
Description & Detail
Name & Description
Standard identifier fields. Name is required and must be unique.
Product Type
Choose from: MINECRAFT_JAVA_PLUGIN
, WEB_APPLICATION
, DISCORD_BOTS
, or OTHER
. If OTHER
is selected, an Other Product Type text field appears (required).
Default Max IPs
Max number of unique IPs per license. -1
= unlimited, 0
= none. Default: 5.
Default Max HWIDs
Max number of Hardware IDs per license. -1
= unlimited, 0
= none. Default: 5.
Product Role Id
Discord Role ID assigned when a user redeems a license.
Product Purchase Role Id
Discord Role ID marking a user as a purchaser (required for /get-license
in Discord).
Product URL / Image URL
Used for display in the Customer Dashboard.
1.2. Managing and Updating Products
The "Manage Products" tab displays products in a grid:
Updating: Edit properties such as default limits, roles, and names.
Deletion:
Products with active licenses cannot be deleted.
Attempting deletion shows error:
"Product has licenses, cannot delete"
2. License Management
The Licenses view lets you generate, modify, and track license keys.
2.1. Creating a License
The "Create License" tab handles key generation and assignment.
Field
Description & Detail
License Key
Auto-generated (masked XXXX-XXXX-...
). Hover to view, click to copy.
Product
Select a product; defaults for Max IPs/HWIDs auto-populate.
License Type & Expiry
Choose PERMANENT
or TEMPORARY
. Temporary requires duration or custom date.
Platform Details
Select platform (SPIGOT
, BUILT_BY_BIT
, DISCORD
, OTHER
) and enter Platform User ID.
Owner Details
Provide User Discord ID & Username. If bot is active, a dropdown may be available.
Initial Data/Status
Set comma-separated IPs/HWIDs. Status defaults to ACTIVE
.
Discord DM Prompt
If Discord ID provided, you’ll be prompted to send key via DM.
2.2. Managing and Updating Licenses
In the "Manage Licenses" tab:
Search & Filter: Search by keywords, product, user, etc.
Editing:
Clicking a license opens an Edit License Dialog.
Update fields like owner info, platform, limits, or status.
Manual Data Management:
Edit IP/HWID lists directly (comma-separated).
Status Updates:
Set to
ACTIVE
,EXPIRED
,DEACTIVATED
, orDELETED
.
Deletion:
Available via Delete button in the Edit Dialog.
Prompts confirmation before permanent deletion via
licenseService.deleteLicense(id)
.
3. Blacklist Management
Blacklist Management prevents specific devices or IPs from validating licenses.
3.1. Creating a Blacklist Entry
Use the "Create Blacklist" tab:
Type: Select
IP
orHWID
.Data: Input the IP or Hardware ID.
Scope:
All Products
Specific Product
(dropdown required).
Reason: Required field explaining why the entry is added.
3.2. Managing Blacklists
The "Manage Blacklists" tab displays all active blacklist entries:
Viewing: See details including blocked data, scope, product ID, and reason.
Deleting: Use Delete button → removes entry via
blacklistService.removeBlackList(id)
.
4. Viewing License Requests
The Requests view provides analytics and history for all license validation attempts.
4.1. Filtering and Overview
Filters: Search term, Product, User, and Date Range.
Status Badges:
✅ Successful (green)
❌ Invalid License
🚫 Spam / Rate Limited
🔴 Blocked (shows
BlockReason
)
4.2. Viewing Detailed Request Information
Clicking a request row opens a dialog with detailed request data:
License/Product Details: Masked License Key, Product Version.
Device Identifiers: IP, HWID, MAC Address.
System Environment: OS Name/Version/Architecture, Java Version.
Result Data: Request Date, Type, and Response Type.
Last updated