v0.6.0
Changelog
All notable changes to ServerDoctor are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
[0.6.0] - 2026-06-14
This release expands ServerDoctor from a single-platform Paper plugin into a
multi-platform diagnostics suite shipped as one universal jar, adds an update
checker and an optional PlaceholderAPI integration, and makes all user-facing
text translatable.
Added
- Folia support. The plugin detects Folia at runtime and uses a region-aware
scheduler (FoliaSchedulerAdapter); the same Bukkit plugin now runs on both
Paper and Folia.plugin.ymlis markedfolia-supported: true. - Velocity (proxy) support. New
serverdoctor-velocitymodule with proxy
adapters and a/serverdoctorcommand. Thanks to the capability model, only
proxy-applicable scanners run (plugin, dependency, conflict, security); the
performance scanner is skipped automatically. - Single universal jar. New
serverdoctor-universalmodule shades Paper,
Folia, and Velocity support into one jar containing bothplugin.ymland
velocity-plugin.json. Build with./gradlew :serverdoctor-universal:shadowJar. - Update checker. Checks GitHub releases on startup (asynchronously) and logs
a clear console notice when a newer version is available. Available on both
Paper/Folia and Velocity, with a configurableDISABLE_ON_UPDATEswitch. - PlaceholderAPI integration (optional). Registered only when PlaceholderAPI
is installed — never forced. Placeholders:%serverdoctor_tps%,_mspt,
_memory,_memory_used,_memory_max,_players,_conflicts,
_security_risks,_recommendations,_status. - Configurable messages (
messages.yml). All command, startup, and update
texts are externalized and translatable. The file is copied to the plugin's
data folder on first start; missing keys fall back to the bundled defaults. /serverdoctor reload. Reloadsmessages.ymlat runtime without a restart
(permissionserverdoctor.admin).
Changed
- Java 17 bytecode. The project now compiles to Java 17 (toolchain stays
JDK 21) withapi-version: 1.20. One jar therefore supports Paper/Folia from
1.20 up to the latest version, instead of requiring Java 21. - Build output moved. The final plugin jar is now produced by
serverdoctor-universalrather thanserverdoctor-paper(the Shadow plugin
was removed from the Paper module).
Notes
- Dynamic scanner findings (e.g. "Low TPS: 12.4") are still generated in code and
are not yet part ofmessages.yml. paper-apiis pinned to1.21.4; due to Bukkit's forward compatibility plus
api-version: 1.20, the jar still runs from 1.20 to the latest. Bump the
paperentry inlibs.versions.tomlif you want the newest API surface.
Still planned
- REST API and webhooks (Discord/Slack/Teams)
- PostgreSQL and MariaDB storage backends
- BungeeCord adapter
- A real security advisory source (currently a metadata heuristic)