Konfiguration

Konfiguration

Vollständige Referenz für alle Einstellungen, Umgebungsvariablen, Cache-Verhalten und detaillierte Anbieter-Dokumentation mit Fehlern.


Admin-Panel-Einstellungen

Öffne die Einstellungen über das Zahnrad-Symbol auf der Plugin Browser-Seite.

Einstellungsreferenz

Einstellung Standard Bereich Umgebungsvariable Beschreibung
Cache-Dauer 30 Min. 0–1440 Min. PLUGINS_CACHE_DURATION (Sekunden, Standard 1800) Wie lange API-Antworten gecacht werden
Request-Timeout 10 Sek. 1–30 Sek. PLUGINS_REQUEST_TIMEOUT Max. Wartezeit auf API-Antwort
Plugins pro Seite 20 5–100 PLUGINS_PER_PAGE Ergebnisse pro Durchsuchen-Seite
Auto-Ersetzung An Umschalter PLUGINS_AUTO_REPLACE_VERSIONS Alte Versionen bei Update entfernen
CurseForge API-Schlüssel Text CURSEFORGE_API_KEY Erforderlich für CurseForge (Passwortfeld)

Alle Umgebungsvariablen

Variable Standard Beschreibung
PLUGINS_CACHE_DURATION 1800 Cache-Dauer in Sekunden
PLUGINS_REQUEST_TIMEOUT 10 API-Timeout in Sekunden
PLUGINS_PER_PAGE 20 Plugins pro Durchsuchen-Seite
PLUGINS_AUTO_REPLACE_VERSIONS true Alte Versionen automatisch entfernen
CURSEFORGE_API_KEY CurseForge API-Schlüssel (geteilt mit Game Mods + Modpacks)

Nach Änderungen: php artisan config:clear


Anbieter: SpigotMC / Spiget API (Detailliert)

Überblick

Keine Konfiguration erforderlich. Größtes Minecraft-Plugin-Ökosystem.

Technische Details

Eigenschaft Wert
API-Basis https://api.spiget.org/v2
Authentifizierung Keine erforderlich
Leere Suche Sortierung -downloads bei /resources
Such-Endpunkt /search/resources/{query}
Gesamtzahl X-Total Response-Header
Icon-URL https://www.spigotmc.org/{icon.url}

Download-Überprüfung

SpigotMC verwendet einen HEAD-Request, um zu prüfen, ob die Download-URL eine tatsächliche JAR-Datei liefert:

Content-Type Ergebnis
application/java-archive oder ähnlich has_direct_download: true — installiert direkt
text/html oder anderer has_direct_download: false — manueller Download erforderlich

Diese Prüfung ist entscheidend, da Premium-/eingeschränkte Ressourcen eine HTML-Seite statt einer JAR-Datei zurückgeben.

SpigotMC-Spezifische Hinweise

  • Keine Abhängigkeits-API verfügbar — Abhängigkeiten müssen manuell installiert werden
  • Premium-Ressourcen zeigen einen Link zur SpigotMC-Seite für manuellen Download
  • Icon-URLs sind relativ — werden mit https://www.spigotmc.org/ vorangestellt
  • Einige Ressourcen können veraltete Spiget-Daten haben — durch Besuch der SpigotMC-Seite aktualisierbar

SpigotMC-Spezifische Fehler

Fehler Ursache Lösung
Leere Ergebnisse Spiget API-Cache veraltet oder offline Später erneut versuchen, andere Suchbegriffe verwenden
Download liefert HTML Premium-/eingeschränkte Ressource Manuell von SpigotMC herunterladen
Kein Versionsfilter Spiget bietet keine zuverlässige Versionsfilterung Ergebnisse können inkompatible Plugins enthalten
Icon lädt nicht Problem mit relativer URL Nicht funktionsrelevant, Plugin funktioniert korrekt

Anbieter: CurseForge / Bukkit Plugins (Detailliert)

Überblick

Erfordert kostenlosen API-Schlüssel. Voll ausgestattet mit rekursiver Abhängigkeitsauflösung.

Technische Details

Eigenschaft Wert
API-Basis https://api.curseforge.com/v1
Authentifizierung x-api-key Header
Klassen-ID 5 (Bukkit Plugins) — anders als Mods (9137) und Modpacks (4471)
Spiel-ID 432 (Minecraft)
Standard-Sortierung Popularität(2) ohne Suchanfrage; Empfohlen(1) mit Suchanfrage
Sort 4 (Name) Sortierreihenfolge wechselt zu aufsteigend (einzige aufsteigende Sortierung)
Max. Seitengröße 50, Gesamtlimit 10.000

Abhängigkeitsauflösung (Rekursiv)

  • relationType=3 = erforderliche Abhängigkeit
  • Vollständig rekursiv: Abhängigkeiten von Abhängigkeiten werden ebenfalls aufgelöst
  • Jede Abhängigkeit löst eine Filament-Benachrichtigung aus
  • Abhängigkeiten werden vor dem Hauptplugin installiert

Beschreibungsanreicherung

Für Plugins mit leeren Beschreibungen in Suchergebnissen:

  • getModDescription() ruft /mods/{modId}/description (HTML) ab
  • Gecacht und in der Detailansicht angezeigt

MC-Versionsextraktion

  • Aus gameVersions Array, gefiltert nach \d+\.\d+ Regex
  • Fallback auf allgemeine Versionszeichenketten

CurseForge-Spezifische Fehler

Fehler Ursache Lösung
„CurseForge API key not set" Kein Schlüssel konfiguriert Schlüssel in Einstellungen oder CURSEFORGE_API_KEY hinzufügen
HTTP 403 Ungültiger Schlüssel Auf console.curseforge.com neu generieren
HTTP 429 Rate-Limit überschritten Cache-Dauer erhöhen, warten
Leere Download-URL Autor hat Downloads eingeschränkt Manuell von der CurseForge-Website herunterladen
Beschreibung leer Anreicherungs-API-Aufruf fehlgeschlagen Nicht kritisch — Plugin funktioniert trotzdem

Anbieter: Modrinth / Plugins (Detailliert)

Überblick

Keine Konfiguration erforderlich. Serverseitig fokussierte Plugins.

Technische Details

Eigenschaft Wert
API-Basis https://api.modrinth.com/v2
Authentifizierung Keine erforderlich
Facetten [["project_type:plugin"], ["categories:bukkit","categories:spigot","categories:paper"]]
Loader-Filter ["bukkit","spigot","paper"]
Download Direkte URL von files[0].url

Abhängigkeitsauflösung

  • dependency_type === 'required' → automatische Installation
  • Direkte version_id → exakte Version
  • Keine version_id → neueste kompatible suchen

Modrinth-Spezifische Fehler

Fehler Ursache Lösung
Keine Ergebnisse API vorübergehend nicht verfügbar status.modrinth.com prüfen
Leere Versionsliste Keine serverseitigen Versionen für deine MC-Version Anderen Versionsfilter versuchen
Download fehlgeschlagen CDN-URL abgelaufen Cache leeren, erneut suchen

Anbieter: PaperMC / Hangar (Detailliert)

Überblick

Keine Konfiguration erforderlich. Versionsunabhängig — kein MC-Versionsfilter.

Technische Details

Eigenschaft Wert
API-Basis https://hangar.papermc.io/api/v1
Authentifizierung Keine erforderlich
Plugin-ID-Format owner/slug (z.B. ViaVersion/ViaVersion)
Plattform-Priorität PAPER → VELOCITY → WATERFALL (oder angegebene Variante)

Download-Typen

URL-Typ Verhalten
downloadUrl (intern) Direkter Download — installiert normal
externalUrl Externer Link — setzt requires_manual_download: true

Abhängigkeitsauflösung

  • pluginDeps mit required: true → automatische Installation
  • Nur Paper-Plattform-Abhängigkeiten werden aufgelöst

Hangar-Spezifische Fehler

Fehler Ursache Lösung
Plugin nicht gefunden Falsches Owner/Slug-Format Plugin-ID muss owner/slug sein
Externer Download Autor nutzt externes Hosting Manuell von verlinkter Seite herunterladen
Falsche Plattform VELOCITY-Plugin auf PAPER-Server Plattform-Tags prüfen

Anbieter: GeyserMC (Detailliert)

Überblick

Keine Konfiguration erforderlich. 6 fest einprogrammierte Projekte mit speziellem Download-Handling.

Die 6 GeyserMC-Projekte

Projekt Beschreibung Download-Schlüssel
Geyser Bedrock-zu-Java-Brücke spigot
Floodgate Bedrock-Authentifizierungsintegration spigot
Hurricane Leistungsoptimierer spigot
GeyserConnect Server-Auswahl spigot
ThirdPartyCosmetics Kosmetik-Unterstützung spigot
EmoteOffhand Emote-Offhand-Fix spigot

Technische Details

Eigenschaft Wert
API-Basis https://download.geysermc.org/v2
Versions-ID-Format {version}-{build} (z.B. 2.4.0-670)
Icon Base64 SVG Insel-Icon — gleich für alle Projekte
Download-Zähler Fest einprogrammiert (API liefert keine)
Metadaten-Cache 24 Stunden pro Projekt

GeyserMC-Spezifische Hinweise

  • Versionsunabhängig — kein MC-Versionsfilter in der Oberfläche
  • Downloads umgehen DaemonFileRepository::pull() komplett
  • Verwendet direkten cURL-Download in Temp-Datei → Upload via DaemonFileRepository::putContent()
  • Benutzerdefinierter User-Agent-Header
  • Keine Abhängigkeits-API — Abhängigkeiten müssen manuell installiert werden
  • Anzeigename ist der großgeschriebene Projektname

GeyserMC-Spezifische Fehler

Fehler Ursache Lösung
„GeyserMC download failed" CDN nicht erreichbar oder Netzwerkfehler Erreichbarkeit von download.geysermc.org prüfen
Falsche Build-Version Alte Metadaten gecacht 24 Stunden warten oder Cache leeren
Plugin lädt nicht Fehlendes Geyser bei Floodgate-Installation Geyser zuerst installieren — es ist eine Abhängigkeit

Cache-Verhalten

Cache-Präfix: MP_

Was gecacht wird TTL Schlüsselmuster
Durchsuchen-Ergebnisse 15 Min. browse_plugins__{uuid}__{provider}__{version}__{md5}__{page}
Installierte Plugins Liste 10 Min. plugins_server_{uuid}
Versionslisten 1 Stunde plugin_versions_cache_{uuid}_{provider}_{pluginId}
Update-Metadaten 24 Stunden plugin_update__{uuid}__{pluginId}
Erkannte MC-Version 5 Min. minecraft_version_{uuid}
Angereicherte installierte Daten 24 Stunden minecraft_plugins__{uuid}
Widget-Update-Prüfung 15 Min. plugin_updates_{uuid}
Server-Plugin-Dateinamen 1 Stunde server_{uuid}_plugin_filenames

SafeCacheService: Dateibasiert, Präfix MP_, erstellt Verzeichnisse automatisch mit 0755, verfolgt alle Schlüssel für Flush.


Suchverhalten

Abfrage-Bereinigung

Zeichen < > { } ' " werden aus allen Suchanfragen entfernt. Versionsfilter wird gegen \d+\.\d+(\.\d+)? Regex validiert.

Such-Wiederholung bei Fehlschlag

Wenn eine Suche mit Versionsfilter null Ergebnisse liefert, wiederholt das Plugin automatisch ohne Versionsfilter — erweitert die Ergebnisse auf alle Versionen.


Fehlerbehebung

Einstellungen speichern nicht

  • Prüfe Schreibberechtigungen des storage/-Verzeichnisses
  • php artisan config:clear
  • Browser-Konsole (F12) auf JS-Fehler prüfen

Cache lässt sich nicht leeren

  • SafeCacheService flush() iteriert alle verfolgten Schlüssel
  • Wenn storage/framework/cache/ fehlt oder nicht beschreibbar → Cache-Operationen schlagen fehl
  • Fehlerbenachrichtigung zeigt $e->getMessage()