Skip to content

v1.0.38

Choose a tag to compare

@Harsha240105 Harsha240105 released this 26 Jun 16:21
· 11 commits to master since this release

v1.0.38 - State Machine, Java Resolution & Dashboard Fixes

  • Complete State Machine Rewrite — The Minecraft server process manager has been fully rewritten with a proper 5-state lifecycle (STOPPED → STARTING → RUNNING → STOPPING → STOPPED, with FAILED for error states). All old boolean this.running/this.starting flags have been removed. State transitions are now atomic, emit server:state events via Socket.IO, and are reflected in real-time on the Dashboard.
  • Automatic Java Runtime Resolution — Scans the server jar's .class files to determine the required Java version, checks the configured path, and auto-selects a compatible JDK from all installed runtimes. If none is found, lists every installed JDK with versions and download links.
  • Pre-Flight Validation Before Starting — Checks jar existence, EULA, and port availability before entering STARTING state. The Dashboard never gets stuck at "Starting..." when validation fails.
  • Dashboard Handles All States — Status indicator shows correct color/text for all 5 states. Subscribes to server:state Socket.IO events for instant UI updates.
  • Child Process Error Handling — Non-zero exit codes transition to FAILED with captured error messages. Close handler defers to graceful stop() to prevent race conditions.
  • Server Status API/api/server/status now includes the state field.