Installation & Einrichtung
Installation & Einrichtung
Vollständige Schritt-für-Schritt-Anleitung zur Installation des Game Mods Installer Plugins und zur Aktivierung für deine Gameserver.
Voraussetzungen
- Pelican Panel Version 1.0.0+ installiert und aktiv
- PHP 8.1, 8.2 oder 8.3 auf dem Panel-Server
- Beschreibbare Verzeichnisse:
storage/undbootstrap/cache/— Berechtigungen0755, Eigentümer: Webserver-Benutzer (z.B.www-data) - Ein vom Panel verwalteter Gameserver
- Datenbankbenutzer mit CREATE TABLE-Berechtigung (das Plugin erstellt bei der ersten Nutzung eine Migration)
Schritt 1: Plugin installieren
- Lade die neueste Version des
game-mods-Plugins herunter - Platziere es im
plugins/-Verzeichnis deines Pelican Panels:/var/www/pelican/plugins/game-mods/ - Überprüfe die Verzeichnisstruktur:
plugins/game-mods/ ├── src/ ├── config/ ├── resources/ ├── database/ └── plugin.json - Leere den Anwendungscache:
php artisan cache:clear php artisan config:clear php artisan view:clear - Überprüfe, ob das Plugin unter Admin Panel → Plugins als „Game Mods Installer" erscheint
Das Plugin erstellt automatisch die Datenbanktabelle server_installed_mods beim ersten Laden.
Schritt 2: Für einen Server aktivieren
Das Plugin verwendet Feature-Flags auf Eggs, um festzulegen, welche Server den Mod-Browser anzeigen.
- Gehe zu Admin Panel → Eggs
- Bearbeite das Egg deines Gameservers (z.B. „Minecraft Java", „Hytale Server")
- Füge
modsim Feld Features hinzu:
Falls das Egg bereits Features hat:["mods"]["steam_disk_space", "mods"] - Klicke Speichern
Wichtig: Das Feature-Flag muss exakt
mods(Kleinschreibung) sein.Mods,MODSodermodfunktionieren nicht.
Schritt 3: Spielerkennung
Das Plugin erkennt dein Spiel automatisch (Prüfungsreihenfolge):
- Egg-Tags — Schlüsselwörter wie
minecraft,hytale,bedrock - Egg-Name — Durchsucht den Egg-Namen
- Nest-Name — Prüft den übergeordneten Nest-Namen
Für Hytale-Server mit PATCHLINE="release": Alpha-, Beta-, RC- und Dev-Versionen werden automatisch herausgefiltert.
Minecraft-Versionserkennung (11 Methoden)
| Priorität | Methode | Was geprüft wird |
|---|---|---|
| 1 | variables.txt |
Panel-gespeicherte Servervariablen |
| 2 | server.properties |
Versionsbezogene Eigenschaften |
| 3 | version.json |
Mojangs Versionsmanifest |
| 4 | Fabric-JAR | Fabric-Server-JAR-Dateiname |
| 5 | Forge-JAR | Forge-Server-JAR-Dateiname |
| 6 | Forge-Bibliotheken | Bibliotheksverzeichnisstruktur |
| 7 | Rekursive Suche | Durchsucht 7 Verzeichnisse (Tiefe 1-6). Übersprungen: node_modules, cache, temp, logs, crash-reports, World-Verzeichnisse, mods, plugins. Max. Pfadlänge: 250 Zeichen |
| 8 | server.jar |
Generische Server-JAR-Analyse |
| 9 | Paper-JAR | PaperMC-Dateiname |
| 10 | Spigot-JAR | Spigot-Dateiname |
| 11 | Purpur-JAR | Purpur-Dateiname |
Validierung: Muss mit 1. beginnen, Minor-Version 0-50. Normalisiert auf major.minor. 5 Minuten gecacht.
Schritt 4: Erster Start
- Navigiere zu deinem Server → klicke auf Mod Browser in der Seitenleiste
- Das Plugin scannt Spiel und Version (atomarer Lock, 10s TTL gegen gleichzeitige Scans)
- Bei Minecraft-Erkennung: Benachrichtigung „Minecraft-Version erkannt: 1.21.4"
- Plattform-Tabs erscheinen: Modrinth, CurseForge, Modtale
- Vorhandene Mods in
/mods/werden als „Manuell / Upload" registriert - Bereit zum Suchen und Installieren!
Bei Fehlschlag: „Minecraft-Version konnte nicht erkannt werden". Benutze das manuelle Dropdown.
Überprüfungscheckliste
| Prüfung | Erwartet | Bei Problemen |
|---|---|---|
| Plugin in Admin → Plugins | „Game Mods Installer" gelistet | Falscher Pfad oder Cache nicht geleert |
| „Mod Browser" in Seitenleiste | Sichtbar für Server mit mods-Feature |
Feature-Flag fehlt |
| Plattform-Tabs | Modrinth, CurseForge, Modtale | Netzwerk- oder JS-Fehler |
| Versionserkennung | „Erkannt: X.X.X" | Server nie gestartet oder kein JAR |
server_installed_mods-Tabelle |
In DB vorhanden | php artisan migrate ausführen |
Fehlerbehebung
Plugin nicht im Admin Panel sichtbar
- Stelle sicher, der Pfad ist exakt
plugins/game-mods/(nichtplugins/GameMods/) php artisan cache:clearausführen und Seite neu laden- Prüfe, ob
plugin.jsonim Plugin-Root existiert - Prüfe
storage/logs/laravel.logauf „Class not found"-Fehler - Dateiberechtigungen prüfen
„Mod Browser" nicht in der Server-Seitenleiste
- Egg muss
"mods"in Features haben — Kleinbuchstaben, exakt - Egg nach Bearbeitung speichern
- Config-Cache leeren:
php artisan config:clear - Das Plugin ruft
abort(403)auf, wenn das Feature fehlt
„Minecraft-Version konnte nicht erkannt werden"
- Starte den Server einmal, damit JAR +
version.jsongeneriert werden - Benenne Custom-JARs erkennbar um (
server.jar,paper-1.21.4.jar) - JAR-Pfade >250 Zeichen werden übersprungen
- Manuelles Dropdown als Workaround nutzen
Datenbank-Migrationsfehler
- CREATE TABLE gewähren:
GRANT CREATE ON deine_datenbank.* TO 'benutzer'@'localhost'; - Manuell migrieren:
php artisan migrate storage/logs/laravel.logprüfen
Berechtigungsfehler
chmod -R 755 storage/ bootstrap/cache/chown -R www-data:www-data storage/ bootstrap/cache/- SafeCacheService erstellt Cache-Verzeichnisse mit
0755, aber das übergeordnete Verzeichnis muss beschreibbar sein