Installation
Step-by-step guide to install and configure QuestsTracker on your Minecraft server.
Requirements
| Requirement | Minimum version | Recommended |
|---|---|---|
| Server | Paper 1.21+ | Paper latest version |
| Java | Java 21+ | Java 21 |
| BetonQuest | 3.0+ | Latest version |
| Database | MySQL 8.0+ / MariaDB 10.5+ | MariaDB latest version |
| Redis | 6.0+ (optional) | Redis latest version |
| License | Valid KGInfoServs license key | - |
The plugin only works on Paper or its forks (Purpur, Pufferfish). Java 21 is required.
Step 1: Download the plugin
Download the JAR file from your KGInfoServs client area.
Step 2: Install on the server
-
Stop your server (recommended)
-
Copy the JAR into the
plugins/folder:your-server/
└── plugins/
├── BetonQuest.jar
└── kginfoservs_queststrack-X.X.X.jar -
Start the server
The plugin automatically generates its configuration folder:
plugins/kginfoservs_queststrack/
├── config.yml # Main configuration
├── quests_config.yml # Quest texts and steps
└── license.key # License file (to be filled in)
Step 3: Configure the license
- Open
plugins/kginfoservs_queststrack/license.key - Paste your license key (single line, no spaces)
- Restart the server
- Check the logs:
[QuestsTracker] License validated successfully
[QuestsTracker] Plugin enabled
Step 4: Database (REQUIRED)
How it works
QuestsTracker uses the same database as BetonQuest. There is no separate database configuration in the plugin.
Make sure BetonQuest is configured with MySQL/MariaDB in its plugins/BetonQuest/config.yml file:
# In plugins/BetonQuest/config.yml
mysql:
enabled: true
host: "localhost"
port: "3306"
base: "betonquest"
user: "your_user"
pass: "your_password"
BetonQuest must have MySQL enabled. If BetonQuest uses SQLite (default), QuestsTracker will not be able to function. Enable MySQL in the BetonQuest configuration before starting QuestsTracker.
Creating the database
If not already done, create the database for BetonQuest:
CREATE DATABASE betonquest;
CREATE USER 'betonquest'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON betonquest.* TO 'betonquest'@'localhost';
FLUSH PRIVILEGES;
Automatically created tables
QuestsTracker creates its own tables in the BetonQuest database on first startup:
| Table | Description |
|---|---|
player_quest_progress | Quest progress (current step, completed objectives) |
player_tracked_quest | Currently tracked quest for each player |
player_preferences | Player preferences (show completed quests, etc.) |
Step 5: Redis (optional)
Redis is only needed for multi-server synchronization. If you have a single server, skip this step.
Installing Redis
# Ubuntu/Debian
sudo apt install redis-server
# CentOS/RHEL
sudo yum install redis
# Docker
docker run -d --name redis -p 6379:6379 redis:latest
Configuration in config.yml
redis:
enabled: true
host: "127.0.0.1"
port: 6379
password: "" # Leave empty if no password
If you only have one server, leave redis.enabled: false. The plugin works perfectly without Redis.
Step 6: BetonQuest configuration
For a quest to appear in the menu, it must use the trackedQuest template.
Adding the template to a quest
In the package.yml file of your BetonQuest quest:
templates:
- trackedQuest
questParameters:
questCategory: "Story" # Must match the displayName of a category
See BetonQuest Integration for the complete guide.
Step 7: Initial configuration
1. Menu categories
Customize the categories in config.yml. You can define up to 4 categories with custom names, icons, and behaviors:
defaultCategory: "other" # Default category if questCategory is not specified
menuItems:
categories:
story:
displayName: "Story"
material: WRITABLE_BOOK
customModelData: 0
autoTrack: true
secondary:
displayName: "Secondary"
material: BOOK
customModelData: 0
autoTrack: false
See Configuration for the complete reference.
2. Menu language
The menu language is determined by the language setting in plugins/BetonQuest/config.yml. Supported languages: fr-FR, en-US, pl-PL.
3. Reload configuration
/questsreload
Step 8: In-game testing
- Connect to the server
- Open the menu:
/quests - Verify that the menu displays correctly
- Activate a quest via BetonQuest and verify it appears in the correct category
Verification checklist
- The menu opens with
/quests - Categories display with the correct names and icons
- Active quests appear in the correct category
- Tracking works (
/quests track <quest_id>) - The scoreboard displays the objectives of the tracked quest
- Pagination works (if many quests)
See Troubleshooting for solutions to common problems.
Updating the plugin
To update to a new version:
- Stop the server
- Replace the JAR in
plugins/ - Start the server
- Check the logs for the new version
- Run
/questsreloadif needed
Enable updater.auto-download: true in config.yml to automatically download new versions to plugins/update/.
Before any update, back up your plugins/kginfoservs_queststrack/ folder and your database.
Next steps
- Configure your categories and quests: Configuration
- Integrate your BetonQuest quests: BetonQuest Integration
- Set up Redis for multi-server: Multi-server
- If you encounter issues: Troubleshooting