Skip to content

v0.8.0 - c86119d

Choose a tag to compare

@Shvquu Shvquu released this 16 Jun 15:48
· 57 commits to main since this release
6be5664

ServerDoctor v0.8.0

A REST API and webhooks — get ServerDoctor's data out to your tools.

✨ Added

  • REST API (serverdoctor-rest-api) — a read-only HTTP/JSON endpoint set, built on the
    JDK's HTTP server (no extra dependencies):
    • GET /health (no auth)
    • GET /performance, /conflicts, /security, /recommendations, /report
    • Optional bearer-token auth; binds to 127.0.0.1 by default.
  • Webhooks (serverdoctor-webhook) — push notifications to Discord, Slack and
    Microsoft Teams (JDK HttpClient, no extra dependencies).
  • Smart delivery — webhooks fire only when the status changes (new / worse /
    recovered) at or above a configurable min-severity, so the 5-minute background scan
    doesn't spam your channels.
  • rest-api and webhooks sections in config.yml, on both Paper/Folia and Velocity.

🔧 Changed

  • Both services are fully integrated into the Paper/Folia and Velocity adapters and shipped in
    the universal jar. They stay framework-free and depend only on the public API.

🐛 Fixed

  • Webhooks no longer repeat the same alert on every scan.
  • REST server threads are daemons and shut down cleanly with the plugin.
  • Various stability and performance improvements.

📦 Setup

Enable the blocks in config.yml:

rest-api:
  enabled: true
  host: "127.0.0.1"
  port: 9173
  token: ""          # set a token if you expose the API

webhooks:
  enabled: true
  min-severity: HIGH
  targets:
    - type: discord
      url: "https://discord.com/api/webhooks/…"

Example request:

curl -H "Authorization: Bearer <token>" http://127.0.0.1:9173/report

Note: Microsoft is deprecating Office-365-connector webhooks for Teams. For new Teams setups,
use a Power Automate workflow webhook (it also accepts JSON POSTs).

Full Changelog: v0.6.0...v0.8.0