Java Management
Fabricator can manage Java runtimes per server. This avoids forcing every Minecraft version to use the same system Java.
Runtime resolution order
Section titled “Runtime resolution order”When Fabricator starts a server, it resolves the Java executable in this order:
javaPathstored on the server record, if present.- A managed Java runtime under
JAVA_ROOTthat satisfies the server’s Minecraft version requirement. javafromPATHas a fallback, allowing the normal missing-Java flow to trigger.
Compatibility checks
Section titled “Compatibility checks”Fabricator computes the required Java major version from the Minecraft version. If the detected runtime is too old, start/install can be blocked and the UI can show an install recommendation.
Installing Java from the UI
Section titled “Installing Java from the UI”The Java API exposes:
- Current runtime status.
- Recommended download URL for the host OS/architecture and required Java version.
- Install progress for background Java installs.
- Cancellation for install tasks.
Managed runtimes default to /var/lib/fabricator/java in production.
Development bypass
Section titled “Development bypass”FABRICATOR_SKIP_JAVA_CHECK=1 disables enforcement for development/testing only. Do not enable it in production.