# The mod loader's installer needs a newer Java than the server has

The loader's installer, run at startup on the server's Java, refused to run because that Java is too old, so the loader was not installed.

- Code: `installer_java_mismatch`
- Severity: fatal
- Category: Java
- Server types: Quilt
- Page: https://failures.perland.online/failures/installer_java_mismatch/

## Example log

```text
[mc-image-helper] 10:44:18.061 INFO  : Installing Quilt version 1.16.5 with loader 0.29.2
Quilt Installer requires Java 17 or greater to run.
[mc-image-helper] 10:44:18.733 ERROR : 'install-quilt' command failed. Version is 1.51.4-java8
```

## Parameters

| Parameter | Meaning |
| --- | --- |
| `installer` | The installer that refused to run, in lower case, such as quilt. |
| `requiredJava` | The lowest Java version the installer says it needs, such as 17. |

## Log lines this page covers

- `Quilt Installer requires Java 17 or greater to run.`

## What it means

A modded server installs its mod loader at startup by running the loader's official installer. The installer runs on the same Java as the server will. Here the installer checked that Java, found it too old, and stopped before installing anything, so the server could not start.

The diagnosis reads the installer's own sentence, which names the Java it needs. The startup helper's error lines that follow are the same failure and are not shown as separate issues.

## Why it happens

- **An old Minecraft version picks an old Java.** Server images for Minecraft up to 1.16.5 usually run Java 8, but the Quilt installer needs Java 17 or newer, even for those old versions.
- **The Java version was set by hand** to one older than the installer needs.

## How to fix

1. Choose a Java version at least as new as the one the message names (17 for the Quilt installer).
2. **Docker (itzg image):** pick an image tag with that Java, such as `itzg/minecraft-server:java17`.
3. Start the server again. Old Minecraft versions such as Quilt for 1.14.4 to 1.16.5 start on Java 17.

## In Perland

The issue appears in the server's Diagnosis tab, and its fix leads to the Java version in Settings. Perland now gives Quilt servers Java 17 or newer by itself; servers created before that may still run Java 8 until you choose a newer Java there.

## References

- [Docker Minecraft Server: Java versions](https://docker-minecraft-server.readthedocs.io/en/latest/versions/java/)
- [Eclipse Temurin (Adoptium) Java downloads](https://adoptium.net/)
