When a Pterodactyl server won't start or sticks on "installing", the cause is usually Wings, the egg/startup config, or the allocation. Here's how to diagnose and fix each, plus the node-level disk and Docker causes.
Quick answer
When a Pterodactyl server will not start or is stuck on "installing", check three things in order: that Wings is running on the node (systemctl status wings), that the server's egg and startup command are correct, and that its allocation (IP:port) is not already in use. The server console and the Wings log usually name the exact cause.
Check Wings is running
Wings is the daemon that actually runs servers on the node (on managed game hosting we run and monitor Wings for you). If it's down, nothing installs or starts. On the node:
systemctl status wings
systemctl restart wings
journalctl -u wings -f # watch its logsStuck on "installing"
The install runs in a temporary container; if it fails, the server stays "installing". Watch the install output in the panel, or Wings logs, for the real error — often a bad egg variable, a download failure, or no disk space. Fix it, then reinstall from the panel's settings.
"Exited with code" on start
The server started then died. The console shows why — common cases:
- Wrong startup command / egg — the jar or binary name doesn't match.
- Not enough RAM assigned in the server's limits.
- Java/runtime mismatch — pick the correct Docker image for the game version.
- EULA / config not accepted (e.g. Minecraft eula=true).
A server needs a primary allocation (IP:port) that isn't already used. "Address already in use" here means the allocation clashes — assign a free port to the server.
Disk & permissions
A full node disk or wrong ownership on /var/lib/pterodactyl breaks installs. Check df -h and that the volumes are owned correctly.
Wings up? Read the install/console error. It's usually the egg/startup, RAM, the Docker image, or the allocation — fix that and reinstall/restart.
Node-level causes worth checking
- The node can't pull the Docker image for the egg (no internet, registry blocked, or the image was deleted) — check
docker imagesand Wings logs for a pull error. - The node disk fills mid-install (common with large modpacks) — see no space left on device for how to confirm and clear it.
- The panel's own database (MySQL/MariaDB) is unreachable, which can make servers appear stuck even though Wings itself is fine — see fixing MySQL/MariaDB won't start.
How to prevent this
- Monitor node disk space and set alerts before it hits 100%.
- Keep Wings updated in step with the panel version — mismatches cause obscure install failures.
- Test a new egg on a spare allocation before rolling it out to production servers.
Pterodactyl is an open-source project by its respective authors. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by the Pterodactyl project.