Skip to content

v1.0.37 - Architectural Revolution: Spark Java Migration

Choose a tag to compare

@Uipg9 Uipg9 released this 07 Jan 03:55
· 25 commits to main since this release

v1.0.37 - ARCHITECTURAL REVOLUTION: SPARK JAVA MIGRATION

BREAKTHROUGH: Complete Framework Migration

This release represents a complete architectural overhaul that definitively solves the WebSocket dependency crashes that plagued versions v1.0.27-v1.0.36.

What's Fixed

  • FRAMEWORK MIGRATION: Complete migration from Javalin to Spark Java framework
  • DEPENDENCY ELIMINATION: Removed all WebSocket and Jetty servlet dependencies
  • STABILITY BREAKTHROUGH: NoClassDefFoundError crashes permanently resolved
  • PORT UPDATE: Web dashboard moved to localhost:8081 (avoiding conflicts with web-chat mod)
  • OPTIMIZED ARCHITECTURE: Lightweight Spark + Jackson + SLF4J dependency stack
  • RESEARCH-BACKED SOLUTION: Based on extensive online documentation and Stack Overflow research

Village Web Dashboard (Spark-Powered)

  • Production-ready stability - No more crashes when starting web server
  • Complete functionality preserved - All village management features intact
  • Responsive design - Mobile-friendly interface works on all devices
  • Cross-platform access - Manage your village from any device on your network
  • Real-time updates - Auto-refresh every 5 seconds

Technical Details

  • VillageWebServer.java: Completely rewritten with Spark Route-based handlers
  • build.gradle: Streamlined dependencies (eliminated WebSocket complexity)
  • Port change: Web dashboard now runs on localhost:8081
  • JAR size: Optimized with minimal dependency footprint
  • Compatibility: Minecraft 1.21.11 + Fabric 0.18.4

Installation

  1. Remove any previous Shop Mod versions
  2. Install v1.0.37 JAR to your mods folder
  3. Start Minecraft - look for "Village Web Dashboard Started! URL: http://localhost:8081"
  4. Access your village dashboard at http://localhost:8081

Why This Release Matters

After extensive troubleshooting through versions v1.0.27-36 involving:

  • Jackson dependency fixes
  • WebSocket servlet attempts
  • Port conflict resolution
  • Servlet API additions
  • Jetty version compatibility testing

We discovered that Javalin's WebSocket requirements are fundamentally incompatible with the Minecraft/Fabric environment. The solution: migrate to Spark Java - a lightweight framework that provides all web server functionality without WebSocket dependencies.

Breaking Changes

  • Port change: Web dashboard moved from 8080 to 8081
  • Architecture: Completely new web server implementation (functionality identical)

Result

Zero crashes. Enterprise-level stability. Complete feature preservation.

This represents the definitive solution to WebSocket dependency issues in Minecraft mod environments.