Skip to content
Impulse SoftwareDOCS
Get modules

ImpulseVPS

Installation & activation

Drop the server module into modules/servers/ and the addon into modules/addons/, activate, and add a license key. ImpulseVPS creates servers in your own provider accounts — nothing is ever installed on the servers you sell.

Time: ~10 min · Requires: WHMCS 9.0+ · Core: 1.61.19+

ImpulseVPS sells raw cloud servers: your customer gets root, an IP address and a control panel, and the module manages each server only through its provider’s API. So the prerequisites are a healthy WHMCS + Core install and an API token for at least one provider account.

  • WHMCS 9.0 or later with the system cron running.
  • PHP 8.2 / 8.3 / 8.4 with ionCube Loader 13+ — the module’s PHP is encoded, so ionCube must be present before activation.
  • PHP sodium extension — needed for DigitalOcean orders placed without an SSH key, for which ImpulseVPS generates the server’s key pair. Most PHP builds include it; check that sodium appears in WHMCS under Utilities → System → PHP Info. Without it, such an order stops at Create with a message naming the extension, and no server is created.
  • ImpulseCore 1.61.19+ — the free shared Impulse addon. ImpulseVPS uses it for provider credentials and selling locations, licensing, the cron runner, the audit log, and one-time credential storage. Install and activate impulsecore before activating ImpulseVPS. ImpulseVPS doesn’t run on an older ImpulseCore or without one; step 3 says what activation tells you if ImpulseCore isn’t ready.
  • A provider account — an API token for at least one Vultr, Hetzner Cloud, DigitalOcean, or Linode account. See Provider accounts & regions for the access each token needs.
  • A license key — an IVPS- key. Your WHMCS install’s domain is recorded the first time the key is validated; you don’t enter it anywhere.

Extract the release archive into the WHMCS root. You should end up with the two module directories:

whmcs/
├── modules/
│ ├── servers/impulsevps/ ← Server module (provisioning + client area)
│ └── addons/impulsevps_addon/ ← Operator admin UI

The new directories need the same owner and group as the rest of your WHMCS files — on Plesk that’s the subscription user, on cPanel it’s the account’s cPanel user, and on a plain Linux server it’s typically www-data. If you uploaded the files as that user, they already match (ls -l modules/servers shows the owner). If you extracted them as root, run this from the WHMCS root to copy the ownership of the existing modules/ directories:

Terminal window
chown -R --reference=modules/servers modules/servers/impulsevps
chown -R --reference=modules/addons modules/addons/impulsevps_addon
  1. Log in to WHMCS Admin.
  2. Go to System Settings → Addon Modules.
  3. Find ImpulseVPS in the list and click Activate.
  4. Set Access Control → Full Administrator (or whichever admin role(s) should see the addon).
  5. Click Save Changes, then open Addons → ImpulseVPS.

Confirm registration in the Core admin: ImpulseVPS should appear under ImpulseCore → Modules & Licensing → Modules, and its tasks under ImpulseCore → Operations → Cron. The addon’s own tabs are Dashboard, Customers, Instances, Plans & Products, Images, Applications, Settings, and Diagnostics.

Licensing is centralized in ImpulseCore using the shared licensing client — you don’t enter the key in the module itself.

  1. Obtain your IVPS- key.
  2. Enter it in ImpulseCore → Modules & Licensing → Licenses for impulsevps. Core validates it with the licensing server and caches the status, tier, and enabled features.
  3. Open ImpulseVPS → Diagnostics → License — the status and tier should render.

With the module activated and licensed, the rest of the setup happens in the addon, one provider account at a time:

Plans & Products → Setup Guide walks the same sequence and marks the next step that still needs doing. Before you open sales, place one test order and walk it through suspend → unsuspend → terminate on every provider you plan to sell. A test order creates a real, billable server at your provider.