KGInfoServs QuestsTracker
QuestsTracker is a premium addon for BetonQuest that provides a complete quest tracking and management system for your Minecraft server.
Designed for Paper 1.21+ servers and optimized with Java 21, it features an interactive GUI menu, a real-time scoreboard, and seamless multi-server synchronization.
Features
Interactive quest menu (GUI)
- Dynamic categories: up to 4 fully customizable categories (name, icon, model)
- Subcategories: unlimited hierarchical organization (e.g.,
Story > Chapter 1) - Automatic progress bar per subcategory
- Pagination to handle a large number of quests
- Visual statuses: locked, active, completed -- each with its own icon and color
- Toggle completed quests: players can hide/show completed quests (preference saved)
- Multilingual: French, English, Polish (determined by BetonQuest config)
Real-time tracking scoreboard
- Track up to 3 simultaneous quests per player
- Customizable title and separator in MiniMessage format (gradients, colors, etc.)
- Event-driven updates: no polling, no unnecessary ticks
- 95-98% fewer network packets than a traditional scoreboard
- Can be enabled/disabled globally (config) and per player (command)
Native BetonQuest integration
5 custom events registered directly in BetonQuest:
| Event | Description |
|---|---|
activeQuest | Activates a quest (makes it visible in the menu) |
lockQuest | Locks a quest (hides it from the menu) |
finishQuest | Completes a quest |
nextStep | Advances to the next step |
kgcomplete | Marks an objective as completed |
Status system
| Status | Description | Trigger |
|---|---|---|
| Locked | Quest not yet available | No tag (default state) |
| Active | Quest available and trackable | activeQuest event |
| Completed | Quest finished | finishQuest event |
Multi-server synchronization
- Synchronization via Redis Pub/Sub in real time
- Two-level cache (L1 local + L2 Redis) for optimal performance
- Heartbeat system during server switches (2-minute window)
- Circuit breaker: automatic fallback to database if Redis is unavailable
- Rate limiting: 100ms per player to prevent Redis overload
Administration tools
- Comprehensive diagnostics: system health, cache statistics, memory report, benchmarks
- Analytics: completion rates, popular quests, player adoption
- Data purge: targeted deletion with wildcard patterns
- Automatic updates: check and download new versions
Performance
- Virtual Threads (Java 21) for parallelism without blocking the main thread
- HikariCP connection pool for the database
- Local Caffeine cache with intelligent invalidation
- Asynchronous startup (DB + Redis in parallel)
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 | - |
Compatibility
The plugin only works on Paper or its forks (Purpur, Pufferfish). Spigot is not supported. Java 21 is required for Virtual Threads support.
Quick overview
Open the quest menu
/quests
Track a quest
/quests track <quest_id>
Administrator diagnostics
/kgquests health # System health
/kgquests stats # Cache statistics
/kgquests analytics # Quest completion rates
/questsreload # Reload configuration
Documentation summary
| Page | Description |
|---|---|
| Installation | Complete step-by-step installation guide |
| Configuration | Full reference for config.yml and quests_config.yml |
| Commands | All player and administrator commands |
| Permissions | Permissions and recommended roles |
| BetonQuest Integration | Events, templates, tags, and complete examples |
| Multi-server | Redis synchronization and distributed cache |
| Troubleshooting | Common problem resolution |