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
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
- Install. Copy
crash-detector.pteroextto the panel server and runphp artisan p:extension:install crash-detector.pteroext --enable, thenchown -R www-data:www-data extensions public/assets/extensions(use your web user). - Reload the panel. Admin → Crash Detector appears and every server gets a Crashes tab. The first check runs within a minute.
- 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





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
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
Crash Detector for Blueprint
Notices when a Pterodactyl game server crashes, keeps the last console lines, emails the owner and posts to Discord. Optional crash loop stop. Blueprint.
Staff Access for Pterodactyl 2.0
Staff ask for time-limited access to a customer's Pterodactyl 2.0 server, the owner approves exact permissions, and access ends on its own. Logged.
Discord Notifications for Pterodactyl 2.0
Pterodactyl 2.0 panel events in Discord: power actions, sign-ins, file edits, backups and admin changes. 138 events, per-server webhooks, rate limits handled.
More from Karelia Labs
Updated
