Skip to content
shvquu edited this page Jun 16, 2026 · 3 revisions

FAQ

Does ServerDoctor change anything on my server?

No. It is strictly read-only — it analyzes, reports and recommends. Recommendations are data, never executed automatically. This is enforced by architecture tests, not just policy.

One jar for both Paper and Velocity — really?

Yes. The universal jar carries both a plugin.yml and a velocity-plugin.json. Drop the same file into a Paper/Folia server or a Velocity proxy.

Which storage backend should I pick?

  • Single server with local disk → SQLite (default).
  • A network → a shared PostgreSQL, MariaDB or MongoDB, pointed at by the proxy and every backend server.
  • Just testing → memory.

See Storage Backends.

The jar feels large. Why?

It bundles four database drivers; the MongoDB driver + BSON is the biggest. If you only use SQL, drop mongodb-driver-sync from serverdoctor-storage/build.gradle.kts to slim it down.

My database credentials are wrong / the DB is down. Will the server fail to start?

No. ServerDoctor logs a warning and falls back to SQLite, then In-Memory. The configured backend is printed to the log so you can confirm what's active.

Why is there no TPS/performance data on Velocity?

A proxy has no tick loop, so the Performance scanner is skipped there by capability gating. The proxy still records plugin, dependency, conflict and security findings.

Can I switch backends and keep my history?

Switching storage.type starts fresh in the new backend — there is no built-in migration between stores.

Does it support Folia?

Yes. The scheduler adapter detects Folia and switches automatically.

How do I get PlaceholderAPI placeholders?

Install PlaceholderAPI on Paper/Folia; the serverdoctor expansion self-registers. See PlaceholderAPI.

Can my plugin read ServerDoctor's results or add a scanner?

Yes — there's a small public API and event bus, and you can register custom scanners. See Developer API.

Can I read ServerDoctor's data over HTTP, or get alerts?

Yes. Enable the REST API for read-only HTTP/JSON access (see REST API) and/or webhooks to push Discord/Slack/Teams alerts on status changes (see Webhooks). Both are off by default and add no external dependencies.

How does the update check work?

ServerDoctor checks GitHub releases for the repo. If an update is found it logs the new version and download link (and, on Paper, disables itself until you update; on Velocity it goes inert).

Clone this wiki locally