PAR-238
Log issue for luckperms-economy-explorer cron not syncing
There is an issue with the luckperms-economy-explorer cron not syncing properly. Further investigation is needed to determine the cause and resolve the issue.
Resources
- PR#2 Last major release ParadauxIO/hibernia-economy
- commit4201429 Make LuckPerms→explorer group reconciliation robust (PAR-238)ParadauxIO/hibernia-economy
Comments
tesks · Jun 21, 2026, 7:51 PM
Diagnosis — not a code bug; a prod deployment/config gap
The reconciliation cron works. Confirmed live on the in-cluster dc-test-server (minecraft ns), running TreasuryAPI 2.0.0 + LuckPerms 5.5.11. Server log:
[TreasuryAPI] Group reconciliation cron scheduled (every 60s).
[TreasuryAPI] Reconciled explorer group 1: +1 -0 members
[TreasuryAPI] Reconciled explorer group 1: +0 -1 members
So: reconciliation is enabled there, LuckPerms is present, the cron schedules, and the treasury.group.* node mapping resolves to members. The reconciliation logic in treasury-api-plugin (GroupReconciliationTask) is sound — this is not a code defect.
Mechanism: it's an in-plugin Bukkit async task (not a k8s CronJob — there is none in the cluster or in gitops), gated on reconciliation.enabled (ships false) + LuckPerms present.
Where it's actually broken: the production DemocracyCraft/StateCraft servers, which are external to this cluster (only dc-test-server is in-cluster). On the prod DemocracyCraft economy DB (s80037_economy):
explorer_grouphas 2 sync-configured groups —Economy → treasury.group.economy,Government → treasury.group.government.explorer_group_memberis empty → prod has never reconciled any members.
Likely prod cause (can't read the external prod server configs from here):
reconciliation.enablednot set totrueon the prod servers, and/or- an outdated TreasuryAPI build deployed on prod (the in-cluster one is already 2.0.0 vs repo 2.2.1 — prod may predate or lag the feature), and/or
- no LuckPerms users actually carry the
treasury.group.economy/treasury.group.governmentpermission on prod.
Red herring: the earlier "cross-database mismatch (treasury vs economy DB)" theory is wrong — the live shared DB holds accounts/ledger_* and explorer_group* in one schema.
Resolution (operational, on the external prod servers): ensure reconciliation.enabled: true, deploy a current TreasuryAPI build, confirm LuckPerms is present, and confirm the treasury.group.* nodes are actually granted to the intended players. Optional repo-side hardening: flip the shipped reconciliation.enabled default to true and make the "cron not scheduled" startup condition log loudly so this can't silently sit broken.
Activity
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a commit — Commit 4201429 — Make LuckPerms→explorer group reconciliation robust (PAR-238)
- tesks commented
- tesks changed status to Status → In Progress
- tesks created the issue