Skip to content

v1.0.36

Choose a tag to compare

@Harsha240105 Harsha240105 released this 26 Jun 15:41
· 13 commits to master since this release

v1.0.36 — June 26, 2026

Automatic Java Version Detection

minecraftServer.start() now scans all installed JDKs via JavaDetector.scan() when the configured Java is too old. If the server jar requires Java 25+ (class version 69.0) but the default java on PATH is only Java 21, MineControl will automatically find a compatible JDK among installed runtimes and use it. If none is found, the error message lists every installed JDK with versions and provides direct download links.

Dashboard "Connecting..." State

Dashboard now shows a spinner with "Connecting to server..." on initial load, instead of immediately rendering placeholder values. Once the first /api/server/status response arrives, real data is shown. If an error occurs during startup, the RepairFlow appears immediately.

Error Propagation Fix

POST /api/server/start now awaits the minecraftServer.start() promise directly, so pre-check failures (missing jar, incompatible Java) return an HTTP 400 with the error message instead of being silently swallowed by catch(). Combined with the Socket.IO server:error handler fix, start errors always reach the frontend.

Socket.IO Error Handler Fix

The Dashboard's server:error listener no longer filters out errors when status.starting is true. Start-time errors (Java mismatch, port conflicts) now display the RepairFlow instead of being hidden.

Enhanced Diagnostics

The /api/server/diagnostics endpoint now runs JavaDetector.scan() to list all installed JDKs, compares their versions against the required Java version detected from the server jar's class files, and reports exactly which version is needed vs. what's available. The health-check endpoint also reports detailed Java status.

Null-Safe Dashboard Rendering

Replaced all || fallback operators (which masked null/offline values) with ?? nullish coalescing, ensuring the Dashboard never shows "20.0 TPS", "0 GB RAM", or "0/4 players" when the server is offline.