AEONHOST / WISSEN

Paper-Serverdatei und Downloadherkunft prüfen

Der Dateiname allein beweist nicht, welcher Paper-Build in einer JAR steckt. Vergleiche vor einem Austausch die Minecraft-Version, den Paper-Build und den Kanal mit der offiziellen Paper-Downloadseite oder Fill-API. Gleiche zusätzlich den lokalen SHA-256-Wert mit dem Hash aus der offiziellen API ab. Bei einer Abweichung bleibt die bisherige Serverdatei unverändert.

Aktualisiert am 07.10.2026

Der Dateiname allein beweist nicht, welcher Paper-Build in einer JAR steckt. Vergleiche vor einem Austausch die Minecraft-Version, den Paper-Build und den Kanal mit der offiziellen Paper-Downloadseite oder Fill-API. Gleiche zusätzlich den lokalen SHA-256-Wert mit dem Hash aus der offiziellen API ab. Bei einer Abweichung bleibt die bisherige Serverdatei unverändert.

1. Zielversion und Build festhalten

Notiere die Minecraft-Version und den laufenden Paper-Build aus dem Panel oder aus den Startmeldungen. Lege daneben die Zielversion fest. Ein Eintrag wie „aktuell“ ist dafür zu ungenau: Er kann sich ändern, und ein neuer Minecraft-Stand ist nicht automatisch das Ziel deiner Gruppe.

Die offizielle Paper-Downloadseite zeigt die verfügbare Version und Buildnummer; ältere Builds findest du über den Build Explorer. Wähle dort bewusst den Build für deine festgelegte Minecraft-Version. Paper rät in den Downloads-Service-Dokumenten davon ab, instabile Builds oder Auto-Updater in Produktionsumgebungen zu verwenden. Wähle deshalb für deinen geplanten Einsatz ausdrücklich einen als STABLE gekennzeichneten Build.

2. Paper-Build über die offizielle API zuordnen

Für eine nachvollziehbare Zuordnung bietet PaperMC den Fill-Downloads-Service. Die REST-API listet Builds unter https://fill.papermc.io/v3/projects/paper/versions/<MINECRAFT_VERSION>/builds. Jeder Eintrag hat einen Kanal wie STABLE, BETA oder ALPHA. Filtere ausdrücklich nach STABLE; der erste Eintrag ist nicht automatisch stabil.

Dieses Beispiel fragt Minecraft 26.2 ab. Ersetze den Wert durch die Version, die du tatsächlich einsetzen möchtest. Für das Beispiel brauchst du curl und jq. Paper verlangt einen nicht generischen User-Agent, der dein Werkzeug oder Projekt nennt und eine Kontakt-URL oder E-Mail enthält. Ersetze deshalb auch den Beispielnamen und die Platzhalteradresse:

MC_VERSION="26.2"
USER_AGENT='paper-jar-check/1.0 (https://example.org/kontakt)'

curl -sS -H "User-Agent: $USER_AGENT" \
  "https://fill.papermc.io/v3/projects/paper/versions/$MC_VERSION/builds" |
  jq -r '
    if .ok == false then
      "Paper API Fehler: " + (.message // "Unbekannte API-Meldung")
    elif type == "array" then
      first(.[] | select(.channel == "STABLE") |
        [.id, .downloads."server:default".name,
         .downloads."server:default".url,
         .downloads."server:default".checksums.sha256] | @tsv) //
        "Kein STABLE-Build gefunden"
    else
      "Unerwartete API-Antwort"
    end'

Die Ausgabe enthält Build-ID, Dateiname, Download-URL und den erwarteten SHA-256-Hash. Paper dokumentiert den Versions- und Build-Endpunkt sowie die Stable-Auswahl in den REST-Beispielen des Downloads-Service; die API-Dokumentation nennt auch den Hash im Feld checksums.sha256. Eine Ausgabe mit Paper API Fehler enthält die API-Meldung. Prüfe dann Minecraft-Version und User-Agent. Kein STABLE-Build gefunden bedeutet, dass die gültige Antwort für diese Minecraft-Version keinen stabilen Build enthält. Weiche dann nicht still auf BETA oder ALPHA aus.

3. Den lokalen Dateiinhalt abgleichen

Lade nur die URL aus dem offiziellen Paper-Ergebnis und speichere die Datei zunächst unter einem eigenen Kandidatennamen. Berechne danach ihren SHA-256-Wert. Unter Windows in PowerShell:

Get-FileHash .\paper-candidate.jar -Algorithm SHA256

Unter macOS oder Linux mit OpenSSL:

openssl dgst -sha256 paper-candidate.jar

Vergleiche die ausgegebenen 64 Hex-Zeichen mit checksums.sha256 aus genau demselben API-Build. Gross- und Kleinschreibung ist unerheblich; jede abweichende Stelle bedeutet, dass die Datei nicht mit dem angegebenen Hash übereinstimmt. Die Microsoft-Dokumentation zu Get-FileHash und die OpenSSL-Referenz zu dgst beschreiben die lokale Hashberechnung.

Ein übereinstimmender Hash bestätigt nur, dass die geprüften Bytes zum SHA-256-Wert dieses API-Eintrags passen. Der Hashvergleich ist keine unabhängige Signaturprüfung und beweist allein nicht die Identität des Herausgebers. Ordne die Herkunft deshalb separat über den offiziellen Paper-API-Eintrag und die dort genannte Download-URL zu. Notiere gemeinsam: Minecraft-Version, Projekt paper, Kanal, Build-ID, API-Dateiname, Download-URL und SHA-256. Ein bloss umbenanntes JAR erhält durch den Namen keine neue Buildzuordnung; der Hash sagt auch nichts über die Kompatibilität deiner Plugins aus.

4. Vor dem Austausch die Grenze ziehen

Bei einem fehlenden Hash, einem abweichenden Hash oder einer anderen Build-ID brich den Austausch ab. Lade die Datei bei Bedarf erneut von der in der offiziellen Antwort genannten URL in einen neuen Kandidatenpfad und vergleiche erneut. Überschreibe die konfigurierte Startdatei nicht, solange Version, Build und Hash nicht zusammenpassen.

Für den späteren Austausch verlangt Paper eine vollständige Sicherung vor der Änderung und einen gestoppten Server. Teste den geprüften Kandidaten zuerst mit einer getrennten Weltkopie und derselben Plugin-Konfiguration. Bewahre die bisherige Server-JAR und Startkonfiguration separat auf, bis die Testkopie sauber startet. Die Paper-Anleitung zur Migration beschreibt Backup, Stoppen und den Austausch der Server-JAR; für einen vollständigen Updateablauf mit Test und Rückweg gibt es zusätzlich Minecraft-Server sicher aktualisieren. Erstelle vor dem Schritt mit deiner echten Welt ein Minecraft-Server-Backup.

Wenn dein Hosting-Panel die Datei automatisch verwaltet, prüfe dessen dokumentierte Versions- und Buildanzeige. Eine manuelle JAR-Datei ist nur dann sinnvoll, wenn das Panel diesen Weg unterstützt und die gestartete Instanz nachher den erwarteten Build ausgibt. Bei Startproblemen hilft die Anleitung Minecraft-Server startet nicht.

Weitere Themen stehen in der Dokumentation. Wenn dein Panel Quelle oder Build einer verwalteten Paper-Datei nicht offenlegt, frage über Kontakt nach genau diesen Angaben, bevor du Dateien ersetzt.

Quellen