BetonQuest
collector-betonquest · version 0.6.0 · registers as betonquest · CI 2026-09-25
Quest progress, without touching the database.
BetonQuest keeps its state in MySQL, but a SELECT tag, COUNT(*) would couple this exporter to a schema it doesn't own, require a JDBC connection, and make TPS depend on a database's health. BetonQuest also emits real Bukkit events — PlayerTagAddEvent, PlayerUpdatePointEvent, PlayerJournalAddEvent — carrying the tag, category, count and profile, so there is nothing to query: listening is enough.
The trade-off: counters reset on server restart, so "how many players have ever found this skull" is not a question this collector can answer — increase() over a window, yes; lifetime totals, no. The per-player gauges cover part of that gap: while a player is online, their progress is published as an absolute value, and they can't progress while offline anyway.
Install
Put vania-metrics-collector-betonquest-0.6.0.jar in the plugins folder, next to the core and to BetonQuest, then restart. The collector depends on both: without BetonQuest it stays disabled, and the core keeps running.
- Target plugin: BetonQuest 3.2.0 — latest for Minecraft 1.21.11: 3.2.0
- Built against: core v0.6.0
- Download: vania-metrics-collector-betonquest-0.6.0.jar, with its SHA-512, from the v0.6.0 release
- Collects: on events, as they happen
- Tested on: Java 21
- Latest CI: success · 2026-09-25 21:25 UTC · commit
5aed15e· run
Platforms
| Platform | Target plugin | Collector | Latest CI |
|---|---|---|---|
| Paper | yes | Passed | paper ✓ |
| Purpur | yes | Passed | purpur ✓ |
| Folia | no | n/a | — |
| Spigot | unknown | Unknown | — |
| CraftBukkit | unknown | Unknown | — |
| Sponge | no | n/a | — |
| Velocity | no | n/a | — |
| BungeeCord | no | n/a | — |
| Waterfall | no | n/a | — |
| Geyser | no | n/a | — |
See the compatibility matrix for every collector at once.
Metrics
mc_quest_conversations_total
counter
Conversations started with an NPC.
mc_quest_journal_entries_total
counter
Journal entries written.
mc_quest_player_points
gauge player uuid category
Quest points for an online player, by category. For a skull hunt, category = skulls gives the number of skulls found.
mc_quest_player_tags
gauge player uuid
Tags added to a player SINCE THEY CONNECTED. Not their lifetime total: the collector doesn't read the database, only what happened while it was watching.
mc_quest_tags_removed_total
counter tag
Tags removed. A progress reset shows up here.
mc_quest_tags_total
counter tag
Tags added since startup. For skull hunts, tag = found_<key>: this is THE metric for finds.
Configuration
In metrics.properties, or as environment variables. See Configuration.
| Key | Default | Environment variable |
|---|---|---|
collector.betonquest | true | VANIA_METRICS_COLLECTOR_BETONQUEST |