Skip to content

Previous: Item Source Referencesใ€€ยทใ€€Next: Overview (External Plugin Integration)

๐Ÿฉบ Diagnostics & Troubleshooting โ€‹

/qcl status is the first stop for troubleshooting any problem. This page walks through its output line by line, provides a health-code table, gives remedies for common problems, and includes a "troubleshooting decision tree".

๐Ÿ” Command permission: /qcl status requires qcl.status, alias /qcl probe; the detailed version /qcl status detail (alias /qcl status full). See Commands & Permissions.


๐ŸŸข Health-Code Table โ€‹

The diagnostic output is full of "health codes". Common values:

Health CodeMeaningAction Needed
OKNormalโœ… No action needed
NO_HOOKNo corresponding soft dependency (external plugin not installed)โšช Normal situation, install as needed
DEGRADEDDegraded, but recoverableโš ๏ธ Attention; usually a missing/not-ready soft dependency

๐Ÿ“Œ NO_HOOK is not an error โ€” it just means you haven't installed the corresponding external plugin, so the related integration is naturally not enabled.


๐Ÿ“‹ /qcl status Summary, Item by Item โ€‹

The /qcl status summary contains the following items. The table below gives the meaning, normal value, and abnormal handling for each.

Diagnostic ItemMeaningNormal AppearanceWhat to Do if Abnormal
Soft Dependency Probe ยท Item SourceNumber of registered item sources + listLists the sources for the item plugins you installedSource missing โ†’ install the corresponding plugin + confirm the module is not disabled
Soft Dependency Probe ยท EconomyDetected economy pluginShows Vault/EE/PlayerPointsEconomy missing โ†’ install an economy plugin
Soft Dependency Probe ยท Attribute PluginDetected attribute pluginShown according to what you installedโ€”
Soft Dependency Probe ยท Hooked PluginsList of hooked external pluginsLists hooked itemsโ€”
Platform StatusWhether the overall platform is normalNormalAbnormal โ†’ check health code/suggestions
Health CodePlatform health codeOKDEGRADED โ†’ follow the health suggestion
Health SuggestionRepair suggestion given by the platformNone/hintFollow the suggestion
Module Health CodeOverall module healthOKUse detail to see which module
Script BridgeWhether the script bridge is available + number of loaded scriptsAvailableUnavailable โ†’ see below
Economy Bridge Health CodeEconomy bridge healthOKNO_HOOK/DEGRADED โ†’ see below
PAPI Bridge Health CodePlaceholderAPI bridge healthOK/NO_HOOKInstall PAPI
Database Health CodeDatabase bridge healthOKCheck the database section of config.yml
PDC Health CodePDC storage healthOKโ€”
QI/QS/QF/QSt StatusStatus of each sub-plugin and their bridge/protocol countsShown according to installed sub-pluginsSub-plugin not installed โ†’ not shown/unavailable
Config Diagnostic CodeConfig loading diagnosticsOKCheck config.yml syntax
API Boundary CodeAPI boundary checkOKSee reference diagnostic codes
Public API Count / apiJar Package Count / Internal Package CountAPI statisticsNumberGenerally no need to pay attention
apiJar Diagnostic Code / Exportable API Class CountAPI jar diagnosticsOK / NumberSee reference diagnostic codes
Startup Diagnostic CodeStartup-flow diagnosticsOKCheck the startup log
Item Reference Diagnostic CodeLive-tests resolving vanilla:stoneOKItem module abnormal โ†’ check modules.item

๐Ÿ”ฌ /qcl status detail Extra Items โ€‹

The detailed version outputs the following on top of the summary:

  • Bridge Count, Module Count, TraceId (include it when reporting issues to aid locating).
  • Per module: each module shows "Enabled/Not Enabled" + "Available/Unavailable" + message.
  • Per bridge: each bridge shows "Enabled/Not Enabled" + "Available/Unavailable" + Source + message.
  • Script extension lines: custom lines appended by the script global:qcl_status.js:formatStatus.

๐Ÿ’ก "Enabled/Not Enabled" is determined by the modules switches in config.yml; "Available/Unavailable" is determined by whether the soft dependency is ready. The two have different meanings โ€” keep them distinct when troubleshooting.


๐Ÿงฐ Common Troubleshooting โ€‹

โ“ A bridge shows "Unavailable" โ€‹

  1. First run /qcl status detail to see the bridge's "Enabled/Not Enabled".
    • Not Enabled โ†’ the modules section in config.yml has disabled the corresponding module; set it back to true and restart.
    • Enabled but Unavailable โ†’ check the bridge's "Source" and "Message"; usually the corresponding external plugin is not installed/version mismatched/not ready.
  2. If the health code is NO_HOOK โ†’ normal, just install the corresponding soft dependency.
  3. If the health code is DEGRADED โ†’ follow the "Health Suggestion" in the summary.

โ“ Script bridge unavailable โ€‹

  • Check whether javascript.enabled in config.yml is true.
  • Check whether modules.script is true.
  • Enable javascript.debug.print-stacktrace: true, then after /qcl reload check the console for the error stack trace.
  • Confirm the script path format is correct: namespace:relative-path.js[:function-name].

โ“ Economy bridge unavailable / NO_HOOK โ€‹

  • NO_HOOK means no economy plugin was detected โ†’ install one of Vault / ExcellentEconomy / PlayerPoints.
  • Still unavailable after installing โ†’ check whether economy.default-provider specifies a provider that is not installed; set it back to auto to let it pick automatically.
  • When using EE with multiple currencies, confirm economy.default-currency is a valid EE currency id.

โ“ An item reference fails โ€‹

Treat by error code (see Item Source References for details):

Error CodeHandling
PARSE_FAILEDCheck the reference format (separators, segment count)
MATERIAL_NOT_FOUNDVerify the vanilla material name (all-uppercase enum)
SOURCE_NOT_FOUNDCorresponding plugin not installed / module disabled
ITEM_NOT_FOUNDItem id misspelled / the item is not configured

First check whether the "Item Reference Diagnostic Code" at the end of /qcl status is OK (it live-tests vanilla:stone); if even vanilla doesn't work, modules.item is most likely disabled.

โ“ Module not enabled โ€‹

In /qcl status detail, a module shows "Not Enabled" โ†’ go to the modules section of config.yml and set it back to true, then restart the server (module switches affect loading; reload is not enough).


๐ŸŒฒ Troubleshooting Decision Tree โ€‹

A feature is malfunctioning?
โ”‚
โ”œโ”€ Related item shows "Not Enabled" in /qcl status detail?
โ”‚     โ””โ”€ Yes โ†’ set config.yml modules back to true โ†’ restart
โ”‚
โ”œโ”€ Shows "Unavailable"?
โ”‚     โ”œโ”€ Health code NO_HOOK โ†’ install the corresponding external plugin (normal situation)
โ”‚     โ”œโ”€ Health code DEGRADED โ†’ follow the "Health Suggestion"
โ”‚     โ””โ”€ Check "Source" and "Message" โ†’ usually external plugin not installed/version mismatched
โ”‚
โ”œโ”€ Item reference fails?
โ”‚     โ”œโ”€ PARSE_FAILED      โ†’ fix the reference format
โ”‚     โ”œโ”€ MATERIAL_NOT_FOUNDโ†’ fix the vanilla material name
โ”‚     โ”œโ”€ SOURCE_NOT_FOUND  โ†’ install the plugin / enable the module
โ”‚     โ””โ”€ ITEM_NOT_FOUND    โ†’ fix the item id
โ”‚
โ”œโ”€ Config change has no effect?
โ”‚     โ”œโ”€ database / modules โ†’ must restart
โ”‚     โ””โ”€ Others โ†’ /qcl reload
โ”‚
โ””โ”€ Still stuck?
      โ””โ”€ Screenshot /qcl status detail (with TraceId) โ†’ check ../05-ๅ‚่€ƒ/่ฏŠๆ–ญ็ .md / FAQ.md

๐Ÿ“– Continue Reading โ€‹