Konfiguration
Eranio
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
gameVersionsArray, 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
pluginDepsmitrequired: 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()