Admin Panel
The Quest Admin Panel is a full in-game graphical interface for managing all aspects of the quest system. Open it with:
/ksquestadmin panel
Permission required: questbook.admin
The panel uses a working copy pattern: all changes are made to a copy of the configuration. You must explicitly Save to apply changes or Cancel to discard them. This prevents accidental modifications.
Panel Layout
The admin panel has three areas:
- Tab bar (top) -- 7 tabs for different configuration areas
- Content area (center) -- tab-specific controls, lists, and editors
- Footer (bottom) -- Save, Cancel, Reload, and Close buttons
Footer Buttons
| Button | Description |
|---|---|
| Save | Writes all changes to config.json and reloads the configuration |
| Cancel | Discards all unsaved changes and reverts to the last saved state |
| Reload | Reloads configuration from disk (equivalent to /ksquestadmin reload) |
| Close | Closes the admin panel |
| Back | Returns to the previous view (e.g., from an editor overlay back to the list) |
Tab 1: General
Manages core plugin settings that affect the overall quest system behavior.
Settings
| Setting | Control | Description |
|---|---|---|
| Language | Dropdown | UI language (en-US, de-DE, and any custom languages) |
| Timezone | Dropdown | Timezone for reset calculations (Europe/Berlin, UTC, etc.) |
| Daily Reset Time | Dropdown | When daily quests rotate (24h format, e.g., 04:00) |
| Weekly Reset Day | Dropdown | Day of the week when weekly quests rotate |
| Save Interval | Slider | Auto-save interval for player data (in seconds) |
| Daily Quest Count | Slider | Number of daily quests assigned to each player |
| Weekly Quest Count | Slider | Number of weekly quests assigned to each player |
| Debug | Checkbox | Enable verbose debug logging to server console |
| Use Custom Content | Checkbox | Load content from the custom/ folder |
Add Language
Click the Add Language button to register a new language code. The code must follow the xx-XX format (e.g., fr-FR, pt-BR). After adding, the language appears in the Language dropdown and localization files can be created for it.
Disabling Use Custom Content creates an automatic backup of your custom files before saving. This prevents data loss if you re-enable the option later.
Tab 2: Systems
Manages the tier system, reroll system, and streak system.
Tier System
Control the rarity tier system for daily and weekly quests.
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable/disable the tier system globally |
| Tier List | Selectable list | All configured tiers (up to 10) |
| Add/Edit/Delete | Buttons | CRUD operations for tiers |
Tier Editor Overlay
When editing or creating a tier, an overlay opens with:
| Field | Description |
|---|---|
| Tier ID | Unique identifier (e.g., common, rare, epic) |
| Localized Name | Display name per language (via localization editor) |
| Weight | Slider -- selection weight (higher = more frequent) |
| Multiplier | Slider -- reward multiplier for this tier |
| Color | Hex color for UI display |
| Difficulty | Associated difficulty label |
Reroll System
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable/disable quest rerolling |
| Free Rerolls/Day | Slider | Number of free rerolls per day |
| Reroll Cost | Slider | Token cost for paid rerolls |
| Max Paid Rerolls/Day | Slider | Maximum paid rerolls per day |
| Allow Reroll Started | Checkbox | Allow rerolling quests that have progress |
Streak System
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable/disable the streak system |
| Cumulative | Checkbox | Anti-FOMO mode (days don't need to be consecutive) |
| Grace Period Days | Slider | Required active days within the window |
| Grace Period Window | Slider | Rolling window in days |
Milestone Management
Milestones are streak rewards granted at specific day counts. The panel supports up to 10 milestones with Add/Edit/Delete buttons.
Each milestone has:
| Field | Description |
|---|---|
| Days | Day count to reach this milestone |
| Lootbag ID | Loot bag reward to grant |
| Tier | Milestone tier label (bronze, silver, gold, platinum) |
Tab 3: Player
Manages player-facing features: the quest item, HUD tracker, notifications, and anti-exploit settings.
Quest Item
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Give players a Quest Book item |
| Item ID | Text field | The item ID to use (default: QuestBook) |
| Hotbar Slot | Slider | Hotbar slot to place the item (0-8) |
| Give on Join | Checkbox | Automatically give item when player joins |
| Give Delay | Slider | Delay in milliseconds before giving the item |
HUD Tracker
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable the on-screen quest tracker |
| Show on Join | Checkbox | Show tracker automatically when player joins |
| Position | Dropdown | HUD side (left or right) |
| Max Tracked Quests | Slider | Maximum quests a player can track |
| Max Displayed Quests | Slider | Maximum quests shown on the HUD at once |
| Max Displayed Objectives | Slider | Maximum objectives shown per quest |
| Auto-Untrack Completed | Checkbox | Auto-remove completed quests from tracker |
| Default Show Empty State | Checkbox | Show HUD even when no quests are tracked |
| Position Preset | Dropdown | Default position for new players (top_right, bottom_left, etc.) |
Notifications
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable quest notifications |
| Show Progress | Checkbox | Show progress milestones (25%, 50%, 75%) |
| Progress Threshold | Slider | Percentage interval for progress notifications |
| Broadcast Completion | Checkbox | Broadcast quest completions to all players |
Placed Block Tracker (Anti-Exploit)
| Setting | Control | Description |
|---|---|---|
| Enabled | Checkbox | Enable the placed-block anti-exploit tracker |
| Expiry Minutes | Slider | Time before placed blocks count as natural |
Tab 4: Economy
Manages quest economy settings: currency providers, reroll costs, and token earnings.
Currency Settings
| Setting | Control | Description |
|---|---|---|
| Economy Provider | Text field | Provider name (auto, vaultunlocked, eliteessentials, internal, command) |
| Primary Currency | Text field | Primary currency identifier (e.g., quest_tokens) |
| Alternative Currency | Text field | Alternative currency for gold rerolls (e.g., gold) |
Reroll Costs
| Setting | Control | Description |
|---|---|---|
| Reroll Cost (Tokens) | Slider | Token cost per quest reroll |
| Reroll Cost (Gold) | Slider | Gold cost per quest reroll |
Token Earnings
Configure how many tokens players earn from various activities:
| Setting | Control | Description |
|---|---|---|
| Daily Quest Complete | Slider | Tokens per daily quest completed |
| All Dailies Bonus | Slider | Bonus tokens for completing all daily quests |
| Weekly Quest Complete | Slider | Tokens per weekly quest completed |
Streak Token Earnings
| Setting | Control | Description |
|---|---|---|
| Bronze Streak | Slider | Token bonus for bronze milestone |
| Silver Streak | Slider | Token bonus for silver milestone |
| Gold Streak | Slider | Token bonus for gold milestone |
| Platinum Streak | Slider | Token bonus for platinum milestone |
Tab 5: Content
The largest tab -- provides a full quest editor with search, filter, CRUD operations, and sub-editors for objectives and rewards.
Quest List
The quest list shows all loaded quests with pagination (navigated via Prev/Next buttons). Each entry displays:
- Quest ID
- Quest type badge (daily, weekly, story, side, hub)
- Source badge (base or custom)
Quest CRUD
| Button | Description |
|---|---|
| New Quest | Opens the quest editor with a blank template |
| Edit Quest | Opens the editor for the selected quest |
| Clone Quest | Duplicates the selected quest with a new ID |
| Delete Quest | Opens a confirmation dialog, then removes the quest |
Quest Editor Overlay
When creating or editing a quest, a full-screen editor overlay opens with:
| Field | Description |
|---|---|
| Quest ID | Unique identifier (editable only for new quests) |
| Type | Quest type dropdown: daily, weekly, story, side, hub |
| Category | Category string (e.g., mining, combat, crafting) |
| Difficulty | Difficulty dropdown: easy, medium, hard, legendary |
| Tier | Tier dropdown (from configured tiers) |
| Chapter | Chapter dropdown (for story quests) |
| Icon Item | Item ID for the quest icon (with browse panel) |
| Localized Name | Per-language name (via localization editor) |
| Localized Description | Per-language description (via localization editor) |
| Sequential | Checkbox for sequential objective mode |
| Next Quest | Quest ID to auto-offer after completion |
| Sets Fact | Fact key set on completion |
| Sets Fact Value | Value to assign to the fact |
Prerequisites Editor
Configure requirements that must be met before the quest becomes available:
- Required Quests -- list of quest IDs that must be completed first
- Required Facts -- fact conditions that must be true
Objectives Editor
Add up to 10 objectives per quest. Each objective has:
| Field | Description |
|---|---|
| Objective ID | Unique ID within the quest (e.g., obj_1) |
| Type | Objective type dropdown (all tracked types) |
| Mode | Target mode: any, block, group, item, npc, zone, interaction |
| Target | Target value (with browse panel for blocks/items) |
| Count | Required count |
| Localized Description | Per-language description text |
| Consume Items | Checkbox (for items_collected type) |
| Hidden | Checkbox for hidden objectives |
Rewards Editor
Add up to 10 rewards per quest. Supported reward types in the editor:
quest_tokens, item, mmo_xp, rpg_xp, endless_xp, leveling_xp, currency, title, achievement, lootbag, command
Each reward type shows relevant fields (amount, item ID, skill name, etc.).
Browse Panel
A permanent right-side panel that lets you browse game items and blocks. Click an entry to insert its ID into the active field. Useful for setting icon items and objective targets.
Pool Management
From the Content tab you can manage daily and weekly quest pools. Add or remove quests from pools and adjust their selection weights.
NPC Dialogs
Click the Open NPC Dialogs button to navigate to the NPC dialog editor (opens the core mod's NPC dialog system).
Tab 6: Chapters
Manages story chapters with full CRUD support and quest ordering within chapters.
Chapter List
Displays all chapters with pagination (up to 10 per page). Each entry shows:
- Chapter ID
- Localized chapter name
- Number of quests
- Category badge
Chapter CRUD
| Button | Description |
|---|---|
| New Chapter | Opens the chapter editor with a blank template |
| Edit Chapter | Opens the editor for the selected chapter |
| Delete Chapter | Opens a confirmation dialog, then removes the chapter |
Chapter Editor Overlay
| Field | Description |
|---|---|
| Chapter ID | Unique identifier (editable only for new chapters) |
| Localized Name | Per-language chapter name (via localization editor) |
| Localized Description | Per-language description |
| Category | Category dropdown: main, side, event |
| Order | Sort order number |
| Hidden | Checkbox -- hide chapter until unlocked |
| Unlock Condition | Fact condition for visibility |
| Required Chapters | Comma-separated chapter IDs that must be completed first |
| Sets Fact | Fact key set on chapter completion |
Quest Order
Within the chapter editor, you can reorder the quests assigned to a chapter. The quest list shows up to 15 entries and supports drag-style reordering.
Tab 7: Stats
Displays server-wide quest statistics for monitoring player engagement and quest balance.
Overview Section
| Metric | Description |
|---|---|
| Total Started | Total number of quests started across all players |
| Total Completed | Total number of quests completed |
| Total Abandoned | Total number of quests abandoned |
| Completion Rate | Overall completion percentage |
Insights
| Insight | Description |
|---|---|
| Most Popular | Quest with the most starts |
| Least Popular | Quest with the fewest starts |
| Most Abandoned | Quest with the most abandons |
Per-Quest Table
A paginated table (10 entries per page) showing per-quest statistics:
| Column | Description |
|---|---|
| Quest ID | Shortened quest identifier |
| Started | Number of times started |
| Completed | Number of times completed |
| Abandoned | Number of times abandoned |
| Rate | Completion rate (color-coded: green >= 75%, yellow >= 50%, red < 50%) |
Controls
| Control | Description |
|---|---|
| Filter | Dropdown to filter by quest type: all, daily, weekly, story |
| Sort | Dropdown to sort by: started, completed, rate, abandoned |
| Prev/Next | Pagination buttons |
| Refresh | Reload statistics from the server |
| Export | Export statistics as a JSON file |
Localization Editor
The admin panel includes a shared Localization Editor overlay used across multiple tabs (Content, Chapters, Systems). When editing localized text (quest names, descriptions, tier names, chapter names), the overlay shows text fields for all configured languages (up to 9 slots).
Changes in the localization editor are captured in real-time and saved when you click Done.
Workflow
A typical admin workflow in the panel:
- Open the panel with
/ksquestadmin panel - Navigate to the desired tab
- Make changes (edit settings, create/modify quests, adjust economy)
- Click Save to apply all changes
- Changes are written to
config.jsonand the configuration is reloaded
If you make a mistake, click Cancel before saving to discard all changes and revert to the last saved state.
The admin panel modifies the same config.json and custom content files that can be edited manually. Changes made in the panel are immediately reflected in the JSON files after saving.