Start on Boot
Pterodactyl Blueprint extension: automatically start game servers when the panel boots
Description
Pterodactyl Blueprint extension: automatically start game servers when the panel boots
Start on Boot A Pterodactyl Blueprint extension that automatically starts game servers when the panel boots. Designed for homelabs and single-machine setups. > Note: This extension was created with the assistance of AI (Anthropic Claude). Features • Toggle per-server from the dashboard (Server > Settings) • Admin panel with enable/disable toggle, API key config, and server list • Automatic start on boot via systemd service • Manual "Trigger Now" button for immediate execution • All servers start in parallel using HTTP pool — no sequential delays • bootcompleted guard: servers start exactly once per boot, no loops • Works without anyone visiting the panel — the systemd service handles it • Fallback triggers: event listener (fires on any HTTP request) and route-level check Requirements • Pterodactyl Panel v1.x (tested on beta-2026-01) • Blueprint Framework installed • A Client API key (ptlc...) from an admin user account (create in Account Settings > API Credentials) • systemd (for auto-start on boot) Installation 1. Install the extension via Blueprint 2. Install the systemd service (as root) 3. Configure in the Admin Panel 1. Navigate to Admin > Extensions > Start on Boot 2. Enable the extension 3. Enter a Client API key (ptlc...) from an admin user 4. Click Save 5. Click Trigger Now (Test) to verify the setup 4. Enable per-server in the Dashboard Users can toggle Start on Boot from Server > Settings. The toggle appears automatically after installation. Uninstall > ⚠️ IMPORTANT: Run uninstall BEFORE removing the extension from Blueprint. How it works | Layer | Mechanism | |-------|-----------| | Boot trigger | systemd service (startonboot.service) — runs once after pterodactyl-wings.service | | Execution | data/start.php bootstraps Laravel, resets bootcompleted, calls BootHandler::handle() | | Server start | Http::pool() sends parallel power-on requests to all toggled servers | | Guard | bootcompleted = true — subsequent requests skip until next boot | | Fallback | RequestHandled event listener + route-level boot check catch missed triggers | | Reboot detection | Marker file in /dev/shm/ (tmpfs) — cleared on every reboot | File Structure Development License MIT
You might also like
Pterodactyl Plugin Manager
by imTheoDoRSimplifies plugin installation and removal for users directly from the Pterodactyl panel.
Minecraft Library Manager
by nicolasjm0702Pterodactyl Blueprint extension. Adds a "Library" and "Modpack" tab to the server panel for searching and installing mods, plugins, datapacks and resource packs from Modrinth or CurseForge, without leaving the panel.
Code Editor for Pterodactyl
by Leonardo R.Code Editor integrates Monaco Editor into Pterodactyl, offering advanced code editing, quick save (C
Super Cloud Backups
by Glitchy NerdA Pterodactyl Blueprint that allows its users to add Google Drive, Dropbox, and FTP/SFTP Backups.
Datapack Installer for Blueprint
by soluslabsEasily install the Vanilla Tweaks datapacks directly from your Pterodactyl Panel using Blueprint