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, or DELETED.

  • 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:

  1. Type: Select IP or HWID.

  2. Data: Input the IP or Hardware ID.

  3. Scope:

    • All Products

    • Specific Product (dropdown required).

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