Releases: toolmetryai/Toolmetry-Server-Doctor
Release list
Toolmetry Server Doctor v1.0.0
Toolmetry Server Doctor v1.0.0
First public release! 🎉
The all-in-one diagnostics, optimization, monitoring, security, and reporting plugin for Minecraft Paper servers. One command (/tm), 48 features, zero server lag.
✨ What's New
This is the first public release of Toolmetry Server Doctor — a complete rewrite focused on simplicity, performance, and Discord integration.
🎯 Core Philosophy
- ONE command — Every feature is a subcommand of
/tm. No more 30+ commands to remember. - Zero lag by default — All auto-scans disabled. Run
tm scanmanually when you need diagnostics. - Discord-first — Every command's output is forwarded to your Discord channel.
- Fail-safe — Broken config? Plugin auto-backs it up and writes fresh defaults. Never crashes.
🚀 Features
Diagnostics (9 modules)
- 🩺 Server Audit — 0–100 health score across Performance, Security, Configuration, Stability, Compatibility
- 🔌 Plugin Doctor — Detects duplicates, missing deps, conflicts, deprecated APIs, memory-heavy plugins
- 📄 Config Validator — Validates every plugin's YAML configs with line numbers and suggested fixes
- ⚡ Lag Analyzer — Identifies entity overload, hopper spam, dropped items, redstone, chunk bottlenecks
- 💥 Crash Analyzer — Reads crash reports, identifies root cause, attributes to plugin, suggests solutions
- 🔐 Security Scanner — Audits OPs, RCON, online mode, whitelist, permissions (0–100 score)
- 🔄 Update Checker — Asynchronously checks Paper and plugin versions (PaperMC + Spiget APIs)
- ⏱️ Benchmark — 8 performance tests (memory, CPU, entities, chunks, items, TPS, MSPT)
- 📝 HTML Reports — Modern responsive reports with Chart.js, 4 themes, printable
27+ Admin Tools
tm ping,tm serverinfo,tm worldinfo,tm playerinfotm purge <mobs|items|animals|xps|all>,tm gc,tm invcleartm heal,tm feed,tm gamemode,tm fly,tm god,tm vanish,tm speedtm day,tm night,tm sun,tm rain,tm savealltm broadcast,tm difficulty,tm whitelist,tm opmanagertm kickall,tm tphere,tm diskusage,tm meminfo,tm motd
Discord Integration 🔔
- Every command's output forwarded to Discord (configurable)
- 🟢 Server startup / 🔴 shutdown notifications
- 🚨 Critical alerts (low audit scores, crashes, security vulnerabilities)
- Color-coded embeds (blue=INFO, yellow=WARN, orange=ERROR, red=CRITICAL)
- Rate-limited (5 sec between same-message) to prevent spam
- Setup:
tm webhook <url>thentm webhook test
GUI Dashboard 🖥️
- In-game inventory GUI built with Adventure API + MiniMessage
- Click any module to run it instantly
- Open with
tm gui
📋 Commands
Every feature is a subcommand of /tm:
| Command | What it does |
|---|---|
tm audit |
Server health score (0-100) |
tm doctor |
Plugin health check |
tm lag |
Find lag sources |
tm security |
Security vulnerability scan |
tm crash |
Analyze crash reports |
tm benchmark |
Performance benchmark |
tm config |
Validate plugin YAML configs |
tm scan |
Run all diagnostics at once |
tm report |
Generate HTML report |
tm webhook <url|test|off> |
Discord setup |
tm tools |
List all 27+ admin tools |
tm gui |
Open dashboard (in-game) |
tm help |
Full command list |
Type tm in-game or console for the full menu.
⚡ Performance
- ✅ All scans run async — main thread never blocked
- ✅ Auto-scans disabled by default — zero background work unless you opt in
- ✅ Configurable thread pool (default 1 thread) — works on 1GB RAM servers
- ✅ Rate-limited Discord notifications — no webhook spam
- ✅ Fail-safe config loading — broken
config.ymlis auto-backed up, plugin never crashes - ✅ < 1 MB RAM when idle, 0% CPU
📦 Installation
- Drop
toolmetryai-server-doctor-1.0.0.jarintoplugins/ - Restart server
- Type
tmin console or/tmin-game
Discord Setup (Optional, Recommended)
- Discord → Channel Settings → Integrations → Webhooks → New Webhook → Copy URL
- In console:
tm webhook https://discord.com/api/webhooks/... - Test:
tm webhook test
⚙️ Requirements
- Paper 1.20.x (tested on 1.20.1)
- Java 17+ (works on Java 17, 21, 25)
- No external dependencies
📚 Documentation
- 📖 Wiki — 28 pages of docs
- 🚀 Quick Start
- 🔔 Discord Setup
- ⚙️ Configuration
- ❓ FAQ
📥 Download
| File | Size | Use |
|---|---|---|
toolmetryai-server-doctor-1.0.0.jar |
300 KB | Install on your server |
toolmetry-server-doctor-src.zip |
164 KB | Source code |
toolmetry-icons.zip |
172 KB | Plugin icons |
toolmetry-wiki.zip |
60 KB | Full documentation |
🔧 Technical Details
- Java 17+ (works on Java 17, 21, 25)
- Paper API 1.20.1
- Adventure API + MiniMessage for text formatting
- 74 Java source files organized into clean modular packages
- Compiles with
mvn clean package— zero errors - No placeholders, TODOs, or fake implementations
- API version: 1.20 (works on Paper 1.20.x)
🎯 Design Decisions
Why only ONE command (/tm)?
Previous versions had 38+ commands with 100+ aliases. Users were confused. v1.0.0 has exactly ONE command — every feature is a subcommand. No aliases, no confusion.
Why are auto-scans disabled by default?
Auto-scans every 2 minutes were causing lag on low-end servers in earlier versions. v1.0.0 ships with all auto-scans OFF. Run tm scan manually when you want diagnostics.
Why no Toolmetry upload feature?
The earlier "upload to toolmetry.pro" feature used a non-existent endpoint. It was removed in favor of Discord webhooks, which work for everyone.
Why getDescription() instead of getPluginMeta()?
getPluginMeta() is Paper 1.20.5+ only. getDescription() works on all Paper versions back to 1.13. Using getDescription() ensures compatibility with Paper 1.20.1.
📝 Permissions
| Permission | Description | Default |
|---|---|---|
toolmetry.admin |
Access to all features | OP |
toolmetry.tools |
Use admin tools (purge, gc, heal, etc.) | OP |
🌐 Links
- 🌐 Website: https://toolmetry.pro
- 💬 Discord: https://discord.toolmetry.pro
- 📦 Source: https://github.com/toolmetry/server-doctor
- 🐛 Report Issues: https://github.com/toolmetry/server-doctor/issues
📄 License
MIT — free for personal and commercial use.
Full Changelog: https://github.com/toolmetryai/Toolmetry-Server-Doctor