WHMCS Module for the Pterodactyl Panel.
Please use the Pterodactyl Discord for configuration related support instead of GitHub issues.
This module requires the panel to be on version 0.7.3 and above, if you need one for lower than 0.7.x versions check out death-droid's module.
- Download/Git clone this repository.
- Move the
pterodactyl/
folder into<path to whmcs>/modules/servers/
. - Create API Credentials with these permissions:
- In WHMCS navigate to Setup > Products/Services > Servers
- Create new server, fill the name with anything you want, hostname as the url to the panel either as an IP or domain. For example:
123.123.123.123
ormy.pterodactyl.panel
- Change Server Type to Pterodactyl, leave username empty, fill the password field with your generated API Key.
- Tick the "Secure" option if your panel is using SSL.
- Confirm that everything works by clicking the Test Connection button -> Save Changes.
- Go back to the Servers screen and press Create New Group, name it anything you want and choose the created server and press the Add button, Save Changes.
- Navigate to Setup > Products/Services > Products/Services
- Create your desired product (and product group if you haven't already) with the type of Other and product name of anything -> Continue.
- Click the Module Settings tab, choose for Module Name Pterodactyl and for the Server Group the group you created in step 8.
- Fill all non-optional fields, and you are good to go!
Migrating is simple, delete death-droid's module and then upload this one instead of it.
Then do the steps 3-6 in Installation instructions above and resetup all products.
Overwriting values can be done through either Configurable Options or Custom Fields.
Their name should be exactly what you want to overwrite.
dedicated_ip => Will overwrite dedicated_ip if its ticked or not.
Valid options: server_name, memory, swap, io, cpu, disk, nest_id, egg_id, pack_id, location_id, dedicated_ip, port_range, image, startup, databases, allocations, oom_disabled, username
This also works for any name of environment variable:
Player Slots => Will overwrite the environment variable named "Player Slots" to its value.
Useful trick: You can use the | seperator to change the display name of the variable like this:
dedicated_ip|Dedicated IP => Will be displayed as "Dedicated IP" but will work correctly.
- In WHMCS navigate to Utilities > Logs > Module Log
- Click the Enable Debug Logging button.
- Do the action that failed again and you will have required logs to debug the issue. All 404 errors can be ignored.
- Remember to Disable Debug Logging if you are using this in production, as it's not recommended to have it enabled.
Dane and everyone else involved in development of the Pterodactyl Panel.
death-droid for the original WHMCS module.
Crident for providing me a dev environment to test the module on and the installation video.