Independent product studio · Swedenhello@karelialabs.com

Pterodactyl 2.0 extension Live

Crash Detector for Pterodactyl 2.0: know when a server crashed, and why

Game servers crash: out of memory, a broken plugin, a bad mod. Wings starts them again, nobody notices until a customer complains, and the console that explained the crash has scrolled away or was cleared by the restart.

Available on Gumroad.

Requires
Pterodactyl Panel 2.0, with the panel's scheduler and queue worker, and mail settings for emails
Tested with
Pterodactyl 2.0.0-beta.2 (PHP 8.4): 109 browser and API checks and 7 unit tests (version 1.0.1)
Package
Official extension (.pteroext). No panel file is edited. Nothing is installed on your nodes.
Price
$5.99, one panel
A walkthrough built from real screenshots on Pterodactyl Panel 2.0.0-beta.2. The video loads from YouTube only when you press play.

Crash Detector checks every server once a minute. When a server goes offline, or is restarted by Wings, without anyone pressing Stop or Restart, it saves the last console lines, lists the crash on the server's Crashes page, emails the owner and posts to your staff's Discord channel.

What Crash Detector for Pterodactyl 2.0 does

Notices real crashes only

A Stop or Restart from the panel or the console page, the egg's stop command, a reinstall, a backup restore and a schedule with a power task are not crashes.

Keeps the evidence

The last 100 console lines are saved with each crash, also when Wings restarted the server and cleared its console.

A Crashes tab on every server

For the owner, administrators and subusers with console access: when it happened, how long it had run and memory against the limit.

Alerts

An email to the owner (at most one per server every 15 minutes) and a Discord message for your staff with server, owner, node, run time, memory and the last 10 console lines. Both go through the panel's queue and are retried.

Crash loop protection

Per server and off by default: after a number of crashes within a number of minutes the server is stopped instead of restarting forever, and the owner is emailed.

Admin page

Settings, the Discord webhook (stored encrypted, shown masked, with a test message), the last check and the recent crashes of all servers.

How it works

  1. Install. Copy crash-detector.pteroext to the panel server and run php artisan p:extension:install crash-detector.pteroext --enable, then chown -R www-data:www-data extensions public/assets/extensions (use your web user).
  2. Reload the panel. Admin → Crash Detector appears and every server gets a Crashes tab. The first check runs within a minute.
  3. Configure. Email the owner (on), the Discord webhook for your staff and console lines in Discord messages (on). Crash loop protection is switched on per server on its Crashes page.

Screenshots

Crash Detector for Pterodactyl 2.0: every crash on the server's Crashes page
Every crash on the server's Crashes page
Crash Detector for Pterodactyl 2.0: the last console lines, saved when the crash happened
The last console lines, saved at the crash
Crash Detector for Pterodactyl 2.0: crash loop protection settings for a server
Stop a server that crashes over and over
Crash Detector for Pterodactyl 2.0: the admin page with alerts, the Discord webhook and recent crashes
Alerts, Discord webhook and recent crashes
Crash Detector for Pterodactyl 2.0: crashes and loop stops in the activity log
Crashes and loop stops in the activity log

How it works, and its limits

Pterodactyl 2.0 has no crash event. The panel's scheduler runs a check every minute that reads each server's state from its node and compares it with the minute before. A crash is seen at the next check and confirmed two minutes later, so alerts arrive 2 to 4 minutes after it.

When Wings restarts a server, the saved lines are from the check before the crash, because the restart clears the console. Several crashes between two checks count as one. Each minute the check makes one request per server for its state and one per running server for its console, one after the other.

Pricing

$5.99One-time purchase

One Pterodactyl panel installation; a test or staging copy is included. Updates within version 1.x. The source is readable.

Good to know

  • For Pterodactyl 2.0 only. For Pterodactyl 1.x there is Crash Detector for Blueprint.
  • The panel cannot see a stop made inside the game or by a plugin, so such a stop can be reported as a crash. The saved lines usually show who did it.
  • Tested on Pterodactyl 2.0.0-beta.2 with a stand-in Wings, a local stand-in for Discord that follows its documented answers, and the panel's log mail driver. A real Wings, the real Discord, a real mail server, other 2.0 versions, mobile layouts, browsers other than Edge and languages other than English are untested. The check was run with 5 servers on 4 nodes.
  • Server state is read with the panel's Daemon facade, because the documented action caches for 20 seconds and would make processes look restarted. The three activity sentences are added through Laravel's translation loader. A future panel version could change either.

Guides

FAQ

Does it work without Discord or email?

Yes. Crashes are always listed on the server's Crashes page.

Who sees the console lines?

Owners, administrators and subusers with the console permission. Emails never contain console lines.

How much load does it add?

Each minute one request per server for its state and one per running server for its console, one after the other. They are the same requests the dashboard and console page make.

Where is the data?

In your panel database (two tables) and the server activity log. The only thing sent out is the Discord message, if you set a webhook.

Related tools

More from Karelia Labs

Updated

Crash Detector for Pterodactyl 2.0Buy on Gumroad ($5.99) →