Installation & Setup
Eranio
Installation & Setup
Complete step-by-step guide to installing the Minecraft Plugins plugin and enabling it for your game servers.
Prerequisites
- Pelican Panel version 1.0.0-rc.1+ installed and running
- PHP 8.5 on the Panel server
- A Minecraft server managed by the Panel
- Database user with CREATE TABLE privileges (the plugin creates
minecraft_installed_pluginstable) storage/andbootstrap/cache/writable (permissions0755, owner: web server user)
Step 1: Install the Plugin
- Download the latest
minecraft-pluginsplugin release - Place it in your Pelican Panel's
plugins/directory:/var/www/pelican/plugins/minecraft-plugins/ - Verify the directory structure:
plugins/minecraft-plugins/ ├── src/ ├── config/ ├── resources/ ├── database/ └── plugin.json - Clear the application cache:
php artisan cache:clear php artisan config:clear php artisan view:clear - Verify the plugin appears under Admin Panel → Plugins as "Minecraft Plugins"
The plugin creates the minecraft_installed_plugins database table automatically on first load.
Step 2: Enable for a Server
The plugin uses the plugins feature flag on Eggs.
- Go to Admin Panel → Eggs
- Edit your Minecraft server Egg (e.g., "Paper", "Spigot", "Purpur")
- Add
pluginsto the Features field:
If the Egg already has features:["plugins"]["eula", "java_version", "plugins"] - Click Save
Important: The feature flag must be exactly
plugins(lowercase).Plugins,PLUGINS, orpluginwill not work.
Note: The 403 error message is currently hardcoded in German: "Modpack Browser ist für diesen Server nicht verfügbar.", this is a known issue.
Step 3: Minecraft Version Detection
The plugin auto-detects your Minecraft version using 11 methods (identical to Game Mods):
| Priority | Method | What's checked |
|---|---|---|
| 1 | variables.txt |
Panel-stored server variables |
| 2 | server.properties |
Version-related properties |
| 3 | version.json |
Mojang's version manifest |
| 4 | Fabric JAR | Fabric server JAR filename |
| 5 | Forge JAR | Forge server JAR filename |
| 6 | Forge libraries | Library directory structure |
| 7 | Recursive search | Scans 7 directories (depth 1-6). Skips: node_modules, cache, temp, logs, crash-reports, world dirs, mods, plugins. Max path: 250 chars |
| 8 | server.jar |
Generic server JAR analysis |
| 9 | Paper JAR | PaperMC filename |
| 10 | Spigot JAR | Spigot filename |
| 11 | Purpur JAR | Purpur filename |
Validation: Legacy scheme 1.x (minor 0-50) or Mojang's year scheme since 2026 (26.1, 26.2, 26.3). Normalized to major.minor. 5 minutes cached.
Searching by version: The selected version covers the whole version family. 26.1 also finds entries marked only for 26.1.1 or 26.1.2, 1.21 finds 1.21.1 to 1.21.11. The patch versions come live from Mojang's version list (cached 12 hours), new versions such as 26.3.1 or 27.1 are detected without a plugin update.
Version-Agnostic Providers
GeyserMC and PaperMC/Hangar are version-agnostic, the MC version filter is hidden in the UI for these providers. No minecraftVersion parameter is sent to the API.
Step 4: First Launch
- Navigate to your server → click Plugin Browser in the sidebar
- The plugin detects game and version
- Provider tabs appear: SpigotMC, CurseForge, Modrinth, Hangar, GeyserMC
- Existing plugins in
/plugins/are scanned and registered as "Manual / Upload" - Ready to browse and install!
Verification Checklist
| Check | Expected | If failing |
|---|---|---|
| Plugin in Admin → Plugins | "Minecraft Plugins" listed | Wrong path or cache not cleared |
| "Plugin Browser" in sidebar | Visible for servers with plugins feature |
Feature flag missing on Egg |
| Provider tabs | SpigotMC, CurseForge, Modrinth, Hangar, GeyserMC | JS/network error |
| Version detected | "Detected: X.X.X" notification | Server never started or no JAR |
minecraft_installed_plugins table |
Exists in database | Run php artisan migrate |
Troubleshooting
Plugin not in Admin Panel
- Ensure path is exactly
plugins/minecraft-plugins/ - Run
php artisan cache:clearand reload - Check
storage/logs/laravel.logfor "Class not found" errors
"Plugin Browser" not in sidebar
- Egg must have
"plugins"in features - Save the Egg after editing
- Clear config cache:
php artisan config:clear
Version detection failed
- Start the server once so JAR +
version.jsonare generated - Rename custom JARs recognizably (
server.jar,paper-26.3.jar) - Use manual dropdown as workaround
Database migration error
- Grant CREATE TABLE:
GRANT CREATE ON your_database.* TO 'user'@'localhost'; - Run manually:
php artisan migrate