GuidesAddons2 min read

Better Schedules

Installer

This guide installs Better Schedules A1.0.0. It replaces the native Schedules page with a drag-and-drop workflow builder — command, power, backup, and nested condition steps — while keeping Pterodactyl's native cron timing and schedule state. No modified Wings daemon is required.

Back up the Panel database and files before installing. Choose either Ainx or Blueprint and use only that method for install, upgrade, and removal — never both on the same Panel.

Requirements

  • A standard Pterodactyl Panel; A1.0.0 was built and inspected on Pterodactyl 1.14.0.
  • Ainx 1.8.3 or newer, or Blueprint compatible with target beta-2026-06.
  • Laravel schedule:run invoked once per minute.
  • An active queue worker consuming the standard queue.

Copy betterschedules.ainx into the Panel root, then install it and allow Ainx to rebuild the frontend:

bash
cd /var/www/pterodactyl
ainx install betterschedules.ainx

Scheduler and queue

Better Schedules registers betterschedules:process on the normal Laravel scheduler — no extra cron entry is needed. The queue worker must consume standard; the default Pterodactyl worker already does:

bash
php artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
A working cron without a working queue creates runs that never execute. A queue worker without the every-minute cron never discovers newly due schedules.

Verify

bash
php artisan migrate:status
php artisan schedule:list
sudo systemctl is-active cron pteroq

The migration reports Ran, schedule:list contains betterschedules:process, the server navigation opens the new Schedules page, and admin settings appear under Admin → Extensions → Better Schedules.

Native schedule conversion

Saving an existing native schedule as an enhanced workflow adopts its tasks and removes the native linear task rows, so the same actions cannot run twice. Removal does not reconstruct them — export important workflow JSON first.

Upgrade

Back up first, then use the installer you installed with:

bash
ainx upgrade betterschedules.ainx
bash
blueprint -install betterschedules

After updating Pterodactyl itself, reinstall Better Schedules so its route and controller integration is validated against the new Panel source.

Remove

bash
ainx remove betterschedules
bash
blueprint -remove betterschedules

Workflow definitions and run history are kept in the database for a future reinstall.

Troubleshooting

  • A schedule never runs: check that the schedule and workflow are enabled, the online-only policy, and that cron and the standard queue are active.
  • A run stays queued: php artisan queue:restart, sudo systemctl restart pteroq, then check php artisan queue:failed.
  • The old UI remains: php artisan optimize:clear, yarn build:production, and hard-refresh the browser.