This is an open-source Blueprint extension for Pterodactyl that adds a handy Plugins tab right inside your server panel. With it, you can browse, search, and install plugins straight from Modrinth — no need to leave the dashboard.
No more downloading files by hand or uploading things manually. Just pick what you need, hit install, and you’re set.
- 📚 Browse Modrinth plugins directly from your Pterodactyl Panel.
- 🔍 Search and filter by project name, Minecraft version, and loader (support for more like Bukkit, Spigot, CurseForge coming soon).
- ⬇️ One-click download & install.
- 🔒 Backend checks server permissions before installing.
- 🎨 Modern React-based UI for a smooth experience.
- 🆓 100% free and open source.
The extension uses the usual Blueprint project structure:
ModrinthBrowser/
├── conf.yml
├── app/
│ └── Http/
│ └── Controllers/
│ └── Extensions/
│ └── ModrinthBrowser/
│ └── PluginController.php
├── resources/
│ └── scripts/
│ └── components/
│ └── server/
│ └── modrinth/
│ └── ModrinthBrowserContainer.tsx
└── routes/
└── server.php
conf.yml: Extension metadata & configPluginController.php: Handles download & validationModrinthBrowserContainer.tsx: UI code (React)server.php: Blueprint routes
To get this extension running, you'll need:
- The Pterodactyl Panel with Blueprint support
- Blueprint installed
- PHP 8 or newer
- Outbound network access to:
api.modrinth.comcdn.modrinth.com
The installation works best with the Blueprint package manager.
- Go to this repo’s GitHub Releases page.
- Download the most recent LTS release:
If the download has a version in the filename, you can rename it to the above if you prefer.
modrinthbrowser.blueprint
Put the modrinthbrowser.blueprint file in your Pterodactyl root folder:
/var/www/pterodactyl
You can upload using SFTP, SCP, your file manager, or (less ideally) FTP.
Example:
scp modrinthbrowser.blueprint user@server:/var/www/pterodactyl/
- SSH into your server.
- Run:
cd /var/www/pterodactyl blueprint -i modrinthbrowser.blueprint - After installing, clear caches and rebuild assets if necessary:
php artisan optimize:clear php artisan view:clear - If your setup requires it, restart your panel services.
To remove the extension, run:
cd /var/www/pterodactyl
blueprint -remove modrinthbrowser.blueprint
Don't forget to clear the cache afterwards:
php artisan optimize:clear
Just uninstall the old version and install the new one. Here’s a quick process:
- Remove the old version:
blueprint -remove modrinthbrowser.blueprint - Download the latest LTS release from GitHub.
- Upload the new file to
/var/www/pterodactyl. - Install again:
blueprint -i modrinthbrowser.blueprint - Clear cache:
php artisan optimize:clear - Restart your panel services if needed.
The panel interface lives here:
resources/scripts/components/server/modrinth/ModrinthBrowserContainer.tsx
It’s all React + Tailwind, talking to the backend and Modrinth’s API.
This is the controller doing the heavy lifting:
app/Http/Controllers/Extensions/ModrinthBrowser/PluginController.php
It:
- Checks and validates requests
- Verifies your user/server has the right permissions
- Streams plugin files securely
- Drops them in the correct server folder
- Enforces
file.createpermission checks. - Validates all project/version IDs.
- Prevents directory traversal attacks.
- Uses Pterodactyl’s built-in storage APIs.
To run locally, you can place the extension here:
.blueprint/extensions/ModrinthBrowser
Then use:
blueprint -i modrinthbrowser
You’ll get hot reloads for most changes.
Pull requests, bug reports, and feature ideas are all welcome! Contributions of any size help keep this project healthy.
Typical ways to help:
- Reporting bugs
- Fixing typos or improving docs
- Submitting pull requests
- Suggesting new features
Please follow the usual GitHub process and check for open issues first.
Open source, of course! See the LICENSE file for specifics.
- Modrinth API & team
- The Pterodactyl contributors
- Blueprint Framework maintainers
- Everyone else who’s pitched in along the way!