Skip to main content

Installation

Step-by-step guide to install and configure QuestsTracker on your Minecraft server.

Requirements

RequirementMinimum versionRecommended
ServerPaper 1.21+Paper latest version
JavaJava 21+Java 21
BetonQuest3.0+Latest version
DatabaseMySQL 8.0+ / MariaDB 10.5+MariaDB latest version
Redis6.0+ (optional)Redis latest version
LicenseValid KGInfoServs license key-
Compatibility

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

  1. Stop your server (recommended)

  2. Copy the JAR into the plugins/ folder:

    your-server/
    └── plugins/
    ├── BetonQuest.jar
    └── kginfoservs_queststrack-X.X.X.jar
  3. 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

  1. Open plugins/kginfoservs_queststrack/license.key
  2. Paste your license key (single line, no spaces)
  3. Restart the server
  4. 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 configuration required

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:

TableDescription
player_quest_progressQuest progress (current step, completed objectives)
player_tracked_questCurrently tracked quest for each player
player_preferencesPlayer 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
Single server?

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

  1. Connect to the server
  2. Open the menu: /quests
  3. Verify that the menu displays correctly
  4. 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)
Display issue?

See Troubleshooting for solutions to common problems.

Updating the plugin

To update to a new version:

  1. Stop the server
  2. Replace the JAR in plugins/
  3. Start the server
  4. Check the logs for the new version
  5. Run /questsreload if needed
Automatic updates

Enable updater.auto-download: true in config.yml to automatically download new versions to plugins/update/.

Backup

Before any update, back up your plugins/kginfoservs_queststrack/ folder and your database.

Next steps

  1. Configure your categories and quests: Configuration
  2. Integrate your BetonQuest quests: BetonQuest Integration
  3. Set up Redis for multi-server: Multi-server
  4. If you encounter issues: Troubleshooting