-
Notifications
You must be signed in to change notification settings - Fork 0
Scanners
ServerDoctor ships five scanners. Each declares the platform capabilities it needs; the engine skips a scanner whose capabilities aren't met (for example, the Performance scanner needs a tick loop and is therefore skipped on a Velocity proxy).
Severities, ascending: OK < INFO < LOW < MEDIUM < HIGH < CRITICAL.
Requires HAS_PLUGINS. Inventories installed plugins.
- Reports the number of detected plugins (INFO).
- Flags any plugin without a version string (LOW).
Requires HAS_PLUGINS. Checks declared hard dependencies.
- For each plugin, if a hard dependency is not installed → HIGH finding naming the missing dependency.
Requires HAS_PLUGINS. Matches the installed plugin set against the built-in conflict
database.
- When both plugins of a known conflicting pair are present, emits a conflict report carrying the definition's id, the two plugin names, severity and description.
Requires HAS_TICK_LOOP (Paper/Folia only). Evaluates the latest snapshot against thresholds:
| Metric | Threshold | Severity |
|---|---|---|
| TPS (1m) | < 18 | MEDIUM |
| TPS (1m) | < 15 | HIGH |
| TPS (1m) | < 10 | CRITICAL |
| MSPT | > 50 ms | MEDIUM |
| Memory used | > 85% | MEDIUM |
| Memory used | > 95% | HIGH |
Requires HAS_PLUGINS. Conservative, honest maintenance heuristics.
- Plugins missing version or author metadata →
MISSING_METADATArisk (LOW): origin and freshness are hard to verify. - No CVE database is invented. This scanner is a deliberate connection point for a future advisory source (e.g. Modrinth / GitHub Security Advisories).
Third-party plugins can register their own scanners via the public API — see Developer API.
ServerDoctor · read-only analysis for Minecraft servers & proxies · MIT · Repository