texus Addons und Themes
Pelican for WHMCS
WHMCS module for Pelican and Pterodactyl

Pelican for WHMCS

WHMCS provisioning for Pelican and Pterodactyl: create, suspend, upgrade and delete game servers automatically, with node tags and extra ports.

39,99 €

  • Version 0.2.0, updated 12 October 2026
  • For WHMCS 8 (PHP 8.1+), Pelican Panel 1.0 and Pterodactyl Panel 1.x
  • A WHMCS module, no changes to WHMCS itself
  • One licence for one WHMCS installation, new versions included

Screenshots

Pelican for WHMCS: Flow
Flow
Pelican for WHMCS: Settings
Settings
Pelican for WHMCS: Clientarea
Clientarea

Features

Selling game servers on Pelican Panel? Pelican for WHMCS provisions them from WHMCS: paid order in, server out. Since 0.1.1 it also works with Pterodactyl Panel 1.x.

The whole service lifecycle

  • Create on payment: panel user found or created, node and ports chosen, server installed with the product's egg
  • Suspend and unsuspend with the invoice
  • Upgrades and downgrades apply right away: memory, disk, CPU, databases, backups, more ports, even a different egg with reinstall
  • Change password, reinstall and terminate; optionally the panel user goes with the last server
  • Admin buttons "Apply product settings" and "Reinstall server"

Where the server goes

  • Node tags pick the region or hardware (de, us, ryzen ...), as a product setting or as a configurable option the customer chooses
  • Pelican's own node selection: only nodes with room for memory, disk and CPU, none in maintenance
  • Port range and dedicated IP per product; extra ports on the same IP as the main port

Products your way

  • Egg drop-down with the eggs of your panel
  • Limits, image, startup command and egg variables per product
  • Configurable options and custom fields override any setting: memory (2 GB or 2048), disk, CPU, location, egg, image, or any egg variable like MINECRAFT_VERSION
  • Server name template with product, service ID and client name

For your customers

  • Client area with server address and extra ports, status, game and resources
  • Server control (new in 0.2.0): with a client API key of an admin account as the server's Access Hash, customers start, restart, stop and kill their server, watch live usage, use a live console with commands, and manage schedules and backups, all on the service page
  • Your texus extensions included: with Usage Statistics, Schedules Plus, Subdomain Manager, Custom Domains, Database Manager, Server Importer, File Explorer, Server Splitter, Idle Stop or SFTP Address on the panel, their features appear by themselves
  • Customer features per product: choose exactly what the client area offers
  • A customer only ever reaches their own server: every request goes through the module, which passes on a fixed list of panel routes
  • The server control in WHMCS is tested by simulating WHMCS' calls against a real Pterodactyl panel; the same code runs in our FOSSBilling and Blesta modules, tested end to end
  • "Open game panel" button, panel login in the welcome email ({$service_username}, {$service_password})

Built to be reliable

  • Servers and users carry external IDs (whmcs-<service>), so WHMCS always finds its server again
  • Running suspend, unsuspend or terminate twice does no harm
  • Clear messages instead of HTTP codes, every API call in WHMCS' module log with the key hidden
  • Suspend, unsuspend and terminate keep working even without a valid licence
  • Tested against Pelican Panel 1.0.0-rc.1 and Pterodactyl Panel 1.15.1 with real Wings nodes: create, install, upgrade, egg change, reinstall, terminate

Documentation

A WHMCS provisioning module for Pelican Panel, which also works with Pterodactyl Panel 1.x: WHMCS creates the game server when an order is paid, suspends and unsuspends it with the invoice, applies upgrades and downgrades, and deletes it on cancellation. Customers see their server address and a button to the game panel in the WHMCS client area, and with a client API key they control it right there: start, stop and restart, a live console, schedules, backups and the features of texus extensions on the panel.

Tested with Pelican Panel 1.0.0-rc.1 and Pterodactyl Panel 1.15.1; the module detects the panel type from its API. Needs WHMCS 8.x on PHP 8.1 or newer with the curl and sodium extensions.

What it does

WHMCS actionIn Pelican
CreateFinds or creates the client's panel user, picks a node and free ports, creates the server with the product's egg, limits and variables
Suspend / UnsuspendSuspends or unsuspends the server (running it twice does no harm)
Upgrade / DowngradeNew memory, disk, CPU, swap, IO, databases and backups; more extra ports; a new egg with reinstall
Change passwordSets the panel user's password
TerminateDeletes the server; optionally the panel user when it has no servers left
Admin buttons"Apply product settings" (apply limits again) and "Reinstall server"
Client areaServer name, address and extra ports, status, game, resources, "Open game panel"; with a client API key also power, live console, schedules, backups and texus extensions (see below)
Admin areaPelican server with link, status, address, node, egg, limits and licence state

Every server carries the external ID whmcs-<service id>, every user whmcs-client-<client id>, so WHMCS always finds its server again, also after renames in the panel.

Installation

  1. Copy the folder modules/servers/texuspelican from the download into your WHMCS installation (the result is <whmcs>/modules/servers/texuspelican/texuspelican.php).
  2. In the panel, create an application API key with read and write access to servers, nodes, allocations, users and eggs (Pelican: Admin > API Keys, type Application; Pterodactyl: Admin > Application API, also locations and nests). If you limit the key to IP addresses, add the IP of your WHMCS server.
  3. In WHMCS, open System Settings > Servers > Add New Server:
    • Module: Pelican Panel (texus)
    • Hostname: the panel address, like panel.example.com (or panel.example.com:8443)
    • Password: the API key
    • Access Hash (optional): a client API key of an admin account for the server control in the client area (Pterodactyl: Account > API Credentials; Pelican: Profile > API Keys). Only admins reach the servers of all customers; Test Connection checks the key.
    • Secure: tick it when the panel uses https
    • Click Test Connection, then save. Put the server into a server group.
  4. Create a product (type Other), choose the server group and Pelican Panel (texus) under Module Settings, and fill in the settings below. Enter your licence key once.

Product settings

Setting
EggThe egg the server runs; the drop-down lists the eggs of your panel
Memory, Disk, CPU, Swap, Block IO weight, CPU threadsResource limits (MiB, %); 0 = unlimited
Databases, BackupsHow many the customer may create
Extra portsPorts on top of the main port, assigned on creation on the same IP
Node tagsPelican: only nodes with all of these tags. Pterodactyl: location IDs or short codes. Comma separated, empty = any node with room
Port rangeOnly ports in these ranges, like 25565-25600 or 25565,27015
Dedicated IPOnly IPs no other server uses yet
Docker image, Startup commandEmpty = the egg's default
VariablesOne per line VARIABLE=value, for the egg's variables; empty ones keep the egg's default
Server nameTemplate with {product}, {serviceid}, {domain}, {firstname}, {lastname}
OOM killer, Start after install, Skip install scriptPassed on to Pelican
Reinstall on egg changeWhen an upgrade switches the egg, reinstall the server
Delete unused usersOn termination, delete the panel user if it has no servers left
Licence keyFrom texus-addons.de; once per WHMCS installation, the same key in every product
Customer featuresWhat the client area offers (with a client API key on the server): power,console,schedules,backups and the texus extensions below; comma separated, empty = details only

How the node and ports are chosen

The module asks Pelican which nodes have room for the server's memory, disk and CPU and carry all tags (Pelican's own choice, maintenance mode excluded). On the first of these nodes with enough free ports on one IP, the lowest free port becomes the main port and the next ones the extra ports.

Options the customer chooses

Configurable options and custom fields override the product settings when their name matches (the part before | counts, case does not matter):

NameOverrides
memory, ramMemory; 2 GB or 2048 both work
disk, disk space, storageDisk
cpuCPU
databases, backups, extra portsLimits
node tags, locationNode tags (for a location choice: tag your nodes de, us, ... and use the tag as option value)
eggEgg ID (for a game choice)
docker imageImage, or the image's label in the egg like Java 21
server nameServer name
An egg variable, like MINECRAFT_VERSION or its display nameThat variable

Upgrades of configurable options are applied right away (WHMCS calls the module's upgrade function).

Welcome email

The module stores the panel login in the service: use {$service_username} and {$service_password} in the product's welcome email, together with the panel address. A client who already has a panel user (found by email address) keeps their password; the email then shows only the username.

Server control in the client area

With a client API key as the server's Access Hash, the service's page in the client area shows the server control below the details, with a menu for its parts. The product's Customer features choose what it offers:

FeatureWhat the customer does
powerStart, restart, stop and kill; state, uptime and live gauges for CPU, memory, disk and network
consoleLive console output and commands; accept the Minecraft EULA with one click
schedulesSchedules with presets and tasks (command, power action, backup)
backupsCreate, download, lock and delete backups within the limit

With texus extensions on the panel (installed and licensed), also stats (Usage Statistics), workflows (Schedules Plus), subdomains (Subdomain Manager), domains (Custom Domains), databases (Database Manager), import (Server Importer), trash (File Explorer), split (Server Splitter 0.2.0+), idle (Idle Stop) and sftp (SFTP Address 0.3.0+). A customer only ever reaches their own server: every request goes through the module, which looks the server up by the service and passes on a fixed list of panel routes. Actions customers take appear in the panel's activity log under the admin account of the client API key.

For the live console, add the address of your billing system to allowed_origins in the Wings configuration of each node (/etc/pterodactyl/config.yml) and restart Wings. Without it, the console shows a note and commands still reach the server.

Resources a customer gives to split servers (Server Splitter) stay with them on upgrades: the module subtracts them from the product's limits.

Good to know

  • An upgrade that switches the egg while the server is still installing saves the egg and tells you to use Reinstall server afterwards; Wings refuses a second reinstall at the same time.
  • Suspending, unsuspending and terminating also work without a valid licence, so a lapsed licence never keeps you from stopping a service. Creating and upgrading need one.
  • All API calls appear in WHMCS' module log (System Logs > Module Log) with the key hidden.
  • Removing the module from a product does not touch existing servers.

Requirements

  • WHMCS 8.x, PHP 8.1+ with curl and sodium
  • Pelican Panel 1.0 or Pterodactyl Panel 1.x (application API; a client API key of an admin account for the server control)
  • Outgoing HTTPS from WHMCS to the panel and to texus-addons.de

Changelog

0.2.0

  • Server control in the client area: with a client API key of an admin account as the server's Access Hash, customers start, stop, restart and kill their server, use a live console, see live usage, manage schedules and backups, and use the features of texus extensions on the panel (statistics, workflows, subdomains, domains, databases, import, trash, splitting, idle stop, SFTP address).
  • New product setting "Customer features" to choose what the client area offers.
  • Extra ports are shown as their own line ("Extra ports: 25504") instead of a second address.
  • Resources given to split servers (Server Splitter) stay with them on upgrades.
  • Test Connection also checks the client API key.

0.1.3

  • The product's module settings no longer show the "Customer features" field that came with the shared panel core in 0.1.2: it only applies to the client area of the Blesta module and did nothing in WHMCS. Existing products keep all their settings.

0.1.2

  • Shared panel core updated (the same code as in the Blesta and FOSSBilling modules): the panel API client can also act with a client API key, longer timeouts for single calls, and resource limits already given to a server are taken into account when computing changes. No visible change in WHMCS.

0.1.1

  • Also works with Pterodactyl Panel 1.x: the module detects the panel type from its API. On Pterodactyl, "Node tags" take location IDs or short codes, and new panel users get the client's first and last name.
  • Clearer error messages that name the panel instead of Pelican.

0.1.0

  • First release: create, suspend, unsuspend, upgrade and downgrade (limits, extra ports, egg change with reinstall), change password, reinstall and terminate Pelican servers from WHMCS. Node and ports chosen by node tags, port range and dedicated IP; egg variables from product settings, configurable options or custom fields; client area with address, status and resources; admin tab with server details and licence state.

Licence and download

One purchase = one licence = one WHMCS installation. The licence is bound to one WHMCS address and the server it runs on. Subdomains count separately. You can move the licence at any time in your account.

After buying on sourceXchange or BuiltByBit, sign in here with your email address (BuiltByBit: redeem your activation code). You download the extension with the licence key built in, and every new version from your account.

Questions before buying? Ask on our Discord support server or at support@texus-addons.de.

Related

Game Servers for FOSSBilling

Game Servers for FOSSBilling

Sell Pelican and Pterodactyl game servers with FOSSBilling: servers are created, suspended and deleted with the order.

Game Servers for Blesta

Game Servers for Blesta

Sell Pelican and Pterodactyl game servers with Blesta, and let customers run them from the client area: power, live console, backups, schedules and texus extensions.

Schedules Plus

Schedules Plus

Multi-step server workflows that wait for the real server state: announce, stop, back up with rotation, start again.