Skip to content

Troubleshooting ​

Start with:

text
/hdb version
/hdb status
/hdb verify
/hdb debug
/hdb report

/hdb debug provides concise user-facing diagnostics. /hdb report creates a more complete support report; players can click to copy it, while console users can copy the logged output.

Plugin does not start ​

CheckFix
Java versionUse Java 25 or newer.
Server typeUse a supported modern Paper or Folia server.
JAR placementPut one HeadDB JAR directly in plugins/.
Duplicate JARsRemove old duplicate versions.
ConfigurationCheck the first HeadDB configuration error in console.

Database unavailable ​

Likely causes:

  • First startup has no cache and remote refresh failed.
  • Outbound network access is blocked.
  • HTTP timeouts are too low for the environment.
  • The cache was removed and the remote source is unavailable.
  • The server cannot write to plugins/HeadDB/.

Recommended sequence:

  1. Check server network access.
  2. Run /hdb verify.
  3. Run /hdb refresh.
  4. Inspect /hdb report.
  5. Increase HTTP timeout values only when justified.
  6. Verify filesystem permissions.

Why does status say LOADED from CACHE? ​

This is normal when HeadDB loads verified local artifacts during startup. If the remote manifest is unchanged, HeadDB keeps the cache-backed snapshot instead of re-downloading the full catalog.

The last refresh operation in /hdb debug or /hdb report confirms whether a remote check completed.

Scheduled refresh does not appear to run ​

Check:

yaml
refresh:
  scheduled:
    enabled: true
    interval-hours: 6

The first scheduled run occurs after the configured interval; startup refresh already performs the initial check. Inspect /hdb report for scheduler configuration and the last refresh operation.

Configuration fails to load ​

Common causes:

  • YAML indentation errors
  • Tabs instead of spaces
  • Invalid booleans or numbers
  • Invalid relative paths
  • Invalid materials in gui.yml
  • Invalid sound identifiers in sounds.yml
  • Scheduled interval outside 1 through 168 hours

Restore from backup, compare with generated defaults, and use the exact key named in the console error.

GUI opens but players cannot take heads ​

Check:

text
headdb.head.take
headdb.gui.head.take

Also check category access. When economy is enabled, verify balance, Vault, the economy provider, and applicable prices.

Search returns no results ​

Check database state, query spelling, active filters, local visibility overrides, and category permissions.

Favorites do not work ​

Check:

text
headdb.favorites
headdb.gui.favorites
headdb.gui.favorites.toggle

Favorites require writable local storage.

Player heads do not work ​

Check:

yaml
player-heads:
  enabled: true
  allow-external-lookup: true

and permissions:

text
headdb.player-heads
headdb.command.player
headdb.gui.player-heads

Targeting other players requires the corresponding .others permission.

Local content disappeared ​

Check whether this file was deleted or replaced:

text
plugins/HeadDB/storage/headdb.db

Restore it from backup when available.

Released by SilentDevelopment.