Server Doctor v0.9.2

A plugin for all major minecraft servers, analyse and help to get better performance
# ServerDoctor v0.9.2

Two new analysis scanners — plugin compatibility assessment and historical **performance
regression** detection — both running automatically on Paper/Folia, Velocity and BungeeCord.

## ✨ Added

### Compatibility scanner
- New CompatibilityScanner (core) that assesses each plugin against the running server and
aggregates the signals into a transparent 0–100 risk score.
- Runtime signals (no network): declared api-version vs. the server's Minecraft version
(Paper/Folia), whether Folia support can be confirmed, and enabled state.
- Optional external metadata feed (compatibility.metadata, off by default) adds release
age, a Folia yes/no flag and known incompatibilities — honest by design: this data comes from
a feed you/the community maintain, never fabricated.
  • Score → severity: <15 OK · 15–39 LOW · 40–69 MEDIUM · 70–89 HIGH · ≥90 CRITICAL.
  • Runs on all platforms; on proxies the Minecraft-version/Folia signals are skipped.
  • PluginInfo gained an apiVersion field (populated by the Paper adapter from plugin.yml).

### Historical regression detection
- New RegressionScanner (core) that compares the older half of stored performance snapshots
against the newer half to detect gradual regressions in TPS, MSPT and RAM — catching
slow decline over days/weeks, not just spikes.
- Uses only data already persisted, via an injected PerformanceHistory
(limit -> storage.performance().recent(limit)).
  • Runs on all platforms; on proxies TPS/MSPT (NaN) are skipped while RAM is still compared.
  • Thresholds: TPS drop ≥8 %, MSPT rise ≥25 %, RAM rise ≥30 % (with HIGH/CRITICAL tiers);
needs ≥8 stored samples. Example finding:
Performance regression vs baseline: TPS 19.8 -> 18.4 (-7%); MSPT 14.0ms -> 23.0ms (+64%).

Both scanners surface in /serverdoctor report, the GUI, the REST /report endpoint and
webhooks (which fire on state change, so a persisting issue isn't spammed).

## 🔧 Changed
- ServerDoctorCore.bootstrap now accepts a single ScannerSources object bundling the optional
advisory, compatibility and performance-history sources. The previous overloads
(bootstrap(platform), …, AdvisorySource, …, AdvisorySource, CompatibilityMetadataSource)
are kept and delegate to it — no caller is forced to change.
- PluginInfo gained a 7th component apiVersion; the prior 6-argument constructor is retained
(delegates with an empty api-version), so existing adapters, tests and the REST serializer
compile unchanged.

## 📦 Setup (new optional config)
YAML:
compatibility:
  metadata:
    enabled: false
    feed-url: ""        # HTTPS feed (see compatibility.sample.txt)
    refresh-minutes: 1440
Regression detection needs no config — it works once PerformanceHistory is wired into
bootstrap (one line per platform; storage must be opened before bootstrap). Both scanners are
registered automatically; unwired optional sources simply stay quiet.

Full Changelog: https://github.com/Shvquu/server-doctor/compare/v0.9.0...v0.9.2
## 0.9.0 - 2026-06-18

### Added
- BungeeCord support: new serverdoctor-bungeecord proxy adapter (HAS_PLUGINS + IS_PROXY).
The same universal jar now runs on Paper/Folia, Velocity and BungeeCord (plugin.yml +
velocity-plugin.json + bungee.yml side by side), with full storage-backend selection.
- In-game GUI (/serverdoctor gui) for Paper/Folia: status overview plus Performance,
Conflicts, Security, Recommendations and History screens, with a Refresh button.
Folia-safe; read-only.
- Configurable automated scan (Paper/Folia) via tasks.scan
(enabled, interval-seconds, initial-delay-seconds, warn-on-high).
- Security advisory source (all platforms, off by default): AdvisorySource +
RemoteAdvisorySource checking installed plugins against a real, external feed
(security.advisory). Never invents advisories.
- gui and security.advisory config sections.

### Changed
- REST API and webhooks are now available on BungeeCord too (previously Paper/Velocity only);
all three platform mains wire storage, advisory, REST and webhooks consistently.
  • The hard-coded 5-minute background scan (Paper) is now config-driven.
  • ServerDoctorCore.bootstrap gained an AdvisorySource overload; bootstrap(platform) is
unchanged.

### Fixed
- BungeeCord now writes its default config.yml and messages.yml on first start
(class-relative resource loading).
- Configurable scan interval clamped to a sane minimum (10 s).


Full Changelog: https://github.com/Shvquu/server-doctor/compare/v0.8.0...v0.9.0
# ServerDoctor v0.8.1 - 0c07127

An in-game GUI and configurable automation for Paper/Folia.

## ✨ Added
- In-game GUI — open with /serverdoctor gui (alias /sd gui). A read-only menu with a
status overview plus screens for Performance, Conflicts, Security,
Recommendations and History, and a Refresh button that re-runs the analysis.
- Folia-safe by design — screens open and rebuild on the player's entity scheduler, and
Refresh runs the analysis on the async scheduler. Clicks are routed via an InventoryHolder
and always cancelled (nothing in the server is ever modified).
- Configurable automated scan in config.yml under tasks.scan
(enabled, interval-seconds, initial-delay-seconds, warn-on-high) — e.g. run a full
analysis every 120 seconds.
- gui config section (enabled, title).

## 🔧 Changed
- The previously hard-coded 5-minute background scan is now driven by config.yml. Defaults
preserve the old behaviour; set your own interval (minimum 10 seconds).

## 🐛 Fixed
  • The scan interval is clamped to a sane minimum so a misconfiguration can't hammer the server.
  • Various stability and performance improvements.

## 📦 Setup
YAML:
gui:
  enabled: true
  title: "ServerDoctor"

tasks:
  scan:
    enabled: true
    interval-seconds: 120
    initial-delay-seconds: 30
    warn-on-high: true
Open it in-game with /serverdoctor gui (permission serverdoctor.admin). The GUI is
Paper/Folia only.

Full Changelog: https://github.com/Shvquu/server-doctor/compare/v0.8.0...0c07127
EULA: Free EULA
85 Views
2 Downloads
Jun 18, 2026 Published
Jun 21, 2026 Updated
Not yet rated
22.6 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Staff
  1. Technology
  1. Optimization
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
  1. German
Creator
Owner
Recommended for you
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,198 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,153 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,085 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,810 purchases
85 Views
2 Downloads
Jun 18, 2026 Published
Jun 21, 2026 Updated
Not yet rated
22.6 MB File size
Open source
  1. Yes
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Staff
  1. Technology
  1. Optimization
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
  1. German
Creator
Owner
Recommended for you
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,198 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,153 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,085 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,810 purchases
Top