3.3 KiB
3.3 KiB
Installation Guide
Ball Studios — https://git.balls.studio/BallStudios/pterodactyl_addon
One-Line Install (Recommended)
Run as root on your Pterodactyl server:
bash <(curl -fsSL https://git.balls.studio/BallStudios/pterodactyl_addon/raw/branch/main/install.sh)
Custom panel path:
bash <(curl -fsSL https://git.balls.studio/BallStudios/pterodactyl_addon/raw/branch/main/install.sh) /path/to/pterodactyl
The script will:
- Run preflight checks (PHP version, panel path, git)
- Back up all files it will modify to
.addon_backup_<timestamp>/ - Clone the addon repository
- Copy backend + frontend files
- Apply 4 minimal patches to panel core files
- Run database migrations
- Seed default roles (Owner, Admin, Moderator, Viewer)
- Run
yarn build:production - Clear Laravel caches
Manual Install
Prerequisites
| Requirement | Version |
|---|---|
| Pterodactyl Panel | v1.12.x |
| PHP | 8.1+ |
| Node.js | 22.x |
| Yarn | 1.x |
| MySQL/MariaDB | 8.0+ / 10.4+ |
Steps
# 1. Clone the addon (outside panel dir)
git clone https://git.balls.studio/BallStudios/pterodactyl_addon /tmp/ptero-addon
cd /tmp/ptero-addon
# 2. Copy files
cp -r app/Addons /var/www/pterodactyl/app/
cp config/advanced-admin.php /var/www/pterodactyl/config/
cp -r config/addon-commands /var/www/pterodactyl/config/
cp -r database/migrations/addon /var/www/pterodactyl/database/migrations/
cp routes/addon-client.php /var/www/pterodactyl/routes/
cp routes/addon-application.php /var/www/pterodactyl/routes/
cp -r resources/scripts/addons /var/www/pterodactyl/resources/scripts/
cp -r database/seeders/. /var/www/pterodactyl/database/seeders/
# 3. Register the service provider
# In /var/www/pterodactyl/app/Providers/AppServiceProvider.php
# Add inside the register() method:
# $this->app->register(\Pterodactyl\Addons\AdvancedAdmin\AddonServiceProvider::class);
# 4. Migrate
cd /var/www/pterodactyl
php artisan migrate --path=database/migrations/addon --force
# 5. Seed default roles
php artisan db:seed --class="Pterodactyl\\Addons\\AdvancedAdmin\\Database\\Seeders\\DefaultRolesSeeder" --force
# 6. Build frontend
export NODE_OPTIONS=--openssl-legacy-provider
yarn install --frozen-lockfile && yarn build:production
# 7. Clear caches
php artisan optimize:clear && php artisan optimize
# 8. Fix permissions
chown -R www-data:www-data storage bootstrap/cache app/Addons resources/scripts/addons
Core Patches Applied
All patches are documented in patches/PATCHES.md. Each patch is ≤ 3 lines:
| File | Change |
|---|---|
app/Providers/AppServiceProvider.php |
Register AddonServiceProvider |
resources/scripts/routers/ServerRouter.tsx |
Add Network tab route |
resources/scripts/components/server/files/FileEditContainer.tsx |
Import FileHistoryButton |
resources/scripts/components/server/console/ServerConsole.tsx |
Import CommandInput wrapper |
Post-Install
- Review
config/advanced-admin.php— adjust retention, rate limits, and exclusions - Add
.envoverrides if needed (see CONFIG.md) - Restart queue worker:
php artisan queue:restart - Navigate to your panel — the Network, History, and Autocomplete features are now active
Troubleshooting
See TROUBLESHOOTING.md.