Permissions
The Quest System uses a single permission node for all administrative operations. Player-facing commands require no permissions.
Permission Nodes
| Permission | Description | Default |
|---|---|---|
questbook.admin | Grants access to all admin commands and the admin panel | OP only |
Command Permissions
No Permission Required
These commands are available to all players without any permission check:
| Command | Aliases | Description |
|---|---|---|
/ksquest | ksquests, ksquestbook, kqb, questbook, qb | Opens the Quest Book UI |
/ksquest settings | — | Opens the Quest Tracker settings page |
/ksquestsettings | — | Opens the Quest Tracker settings directly |
Requires questbook.admin
These admin subcommands require the questbook.admin permission when executed by a player. Console execution bypasses permission checks where noted.
| Command | Console | Description |
|---|---|---|
/ksquestadmin reload | Yes | Reloads quest configuration from disk |
/ksquestadmin panel | No | Opens the admin panel UI |
/ksquestadmin start <player> <questId> | Yes | Starts a quest for a player |
/ksquestadmin complete <player> <questId> | Yes | Force-completes a quest |
/ksquestadmin reset <player> <questId> | Yes | Resets a quest for a player |
/ksquestadmin setstreak <player> <days> | Yes | Sets a player's streak |
/ksquestadmin resetdaily | Yes | Forces a daily quest reset |
/ksquestadmin resetweekly | Yes | Forces a weekly quest reset |
/ksquestadmin spawnmerchant [npcType] | No | Spawns an NPC at your location |
/ksquestadmin spawntemplemerchant [npcType] | No | Spawns NPC at the Forgotten Temple |
/ksquestadmin tokens [amount] | No | Gives quest tokens to yourself |
/ksquestadmin debugmode | No | Toggles live debug output |
/ksquestadmin export <type> [id] | Yes | Exports quest data as JSON |
/ksquestadmin import <file> [overwrite] | Yes | Imports quest data from JSON |
/ksquestadmin test <questId> [player] | No | Starts a quest in test mode |
No Explicit Permission Check
The following subcommands under /ksquestadmin do not check questbook.admin individually. They are still sub-commands of the admin command and are intended for development and testing only. On production servers, access is controlled by the server's command permission system.
| Command | Description |
|---|---|
/ksquestadmin debug | Shows quest debug info for yourself |
/ksquestadmin testfirstjoin | Simulates first-join trigger |
/ksquestadmin teststart | Starts tutorial_welcome for yourself |
/ksquestadmin testzone <zone> | Simulates entering a zone |
/ksquestadmin testnpc <npcId> | Simulates NPC interaction |
/ksquestadmin resetme | Resets all your quest data |
These commands lack explicit questbook.admin checks. If your server allows command access based on command names rather than permission nodes, any player who can run /ksquestadmin subcommands could execute these. Configure your server's permission system to restrict access to /ksquestadmin if needed.
Showcase Mode
Several admin commands additionally check for Showcase Mode via ShowcaseCompat. When a player's account is flagged as a showcase account, the following commands are blocked even if the player has questbook.admin:
/ksquestadmin reload/ksquestadmin start/ksquestadmin complete/ksquestadmin reset/ksquestadmin setstreak/ksquestadmin resetdaily/ksquestadmin resetweekly/ksquestadmin spawnmerchant/ksquestadmin spawntemplemerchant/ksquestadmin tokens/ksquestadmin debugmode/ksquestadmin resetme/ksquestadmin export/ksquestadmin import
This prevents accidental data modification on showcase/demo servers.
Console vs Player Execution
Some admin commands support execution from the server console without any permission check. This is especially useful for:
- NPC dialog macros -- NPCs can start quests for players via console commands (e.g.,
/ksquestadmin start PlayerName quest_id) - Automated scripts -- Scheduled tasks or external tools can manage quests via console
- Bulk operations -- Exporting/importing quest data from the command line
Commands that support console execution are marked with "Yes" in the Console column of the table above.
Setting Up Permissions
Since the Quest System uses a single permission node, setup is straightforward:
# Grant admin access to a player or group
questbook.admin: true
Player commands (/ksquest, /ksquestsettings) work for everyone out of the box with no configuration needed. Only grant questbook.admin to trusted staff members who need to manage quest content, debug player data, or access the admin panel.