Pterodactyl

Pterodactyl is a game server management panel designed to simplify the administration of game servers. It offers a user-friendly interface which allows users to manage multiple game servers from a single dashboard, supporting popular games like Minecraft. Its key features include an intuitive web-based control panel, automated server installation, real-time server monitoring, scheduled backups and more. Each game server runs in an isolated Docker container, ensuring security and stability.

The Pterodactyl integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to monitor and control the game servers on your Pterodactyl server from Home Assistant.

Use cases

  • Check whether your game servers are running.
  • Track resource usage such as CPU, memory and disk over time.
  • Start, stop, or restart your game servers.

Prerequisites

To access your Pterodactyl server, an account API key is required. Follow these steps to create a new one:

  1. Access your Pterodactyl Panel and log in with your user account.
  2. From the main dashboard, select your username or profile icon in the top-right corner, then select API Credentials.
  3. Enter a Description to identify the key (for example, Home Assistant).
  4. Optionally, specify Allowed IPs to restrict where the key can be used (leave blank to allow all IPs).
  5. Select Create. The panel generates and displays your new account API key.
  6. Copy the account API key immediately and store it securely. You won’t be able to view it again after leaving the page.

Important

Pterodactyl has two different types of API keys: Account and Application. Application API keys are not supported, an account API key as described above is required instead.

Configuration

To add the Pterodactyl service to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select Pterodactyl.

  • Follow the instructions on screen to complete the setup.

During setup, you will be prompted to enter the URL and the account API key of the server.

URL

The URL of your Pterodactyl server, including the protocol (http:// or https://) and optionally the port number. Example: http://192.168.0.123:8080

Account API key

The account API key for accessing your Pterodactyl server (see prerequisites).

Supported functionality

This integration provides the following entities for each game server of your Pterodactyl server.

Binary sensors

  • Status: Running or Not running
  • Suspended: On or Off

Buttons

  • Start server
  • Stop server
  • Restart server

The following button is provided as well, but disabled by default:

  • Force stop server

Warning

Using force stop will terminate the server immediately and may lead to game server file corruption.

Note

All buttons are unavailable when the server is suspended.

Sensors

  • CPU utilization
  • Memory usage
  • Disk usage
  • Uptime

The following sensors are provided as well, but disabled by default:

  • CPU limit
  • Memory limit
  • Disk limit
  • Network inbound
  • Network outbound

Data updates

This integration pollsData polling is the process of querying a device or service at regular intervals to check for updates or retrieve data. By defining a custom polling interval, you can control how frequently your system checks for new data, which can help optimize performance and reduce unnecessary network traffic. [Learn more] each game server on your Pterodactyl server every 60 seconds. If a request for one game server fails, entities for all game servers become unavailable until a refresh succeeds.

Removing the integration

This integration follows standard integration removal. No extra steps are required.

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. Next to the entry you want to remove, select the three dots menu. Then, select Delete.
    • Depending on the integration, the entries are listed under one of the following headings:
      • Devices
      • Hubs
      • Services
      • Integration entries
  3. To confirm, select Delete.
    • Home Assistant also deletes the devices and entities of the entry.
  4. If Home Assistant asks you to restart, restart Home Assistant.
  5. If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.