32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
# WHMCS product mappings
|
|
|
|
Map WHMCS products (`servertype=hexagamecloud`) to GameCloud plan slugs without relying on product config option text fields alone.
|
|
|
|
## Addon UI
|
|
|
|
**Addons → HexaHost GameCloud → Mappings**
|
|
|
|
1. Select a WHMCS product
|
|
2. Choose a GameCloud plan from the live catalog (`GET /catalog/plans`)
|
|
3. Set default Minecraft version and software family
|
|
4. Save — validated via `POST /catalog/validate-plan`
|
|
|
|
Mappings are stored in `mod_hexagamecloud_product_mappings`.
|
|
|
|
## Server module behavior
|
|
|
|
On `CreateAccount` and `ChangePackage`, the provisioning module resolves:
|
|
|
|
- `planSlug` from mapping table (active row) or falls back to config option 1
|
|
- `minecraftVersion` / `softwareFamily` from mapping defaults or config options
|
|
|
|
Shared resolver: `integrations/whmcs/lib/ProductMapping.php`
|
|
|
|
## Dry-run validation
|
|
|
|
Before saving, the addon calls GameCloud to ensure the plan slug exists and is active. Invalid slugs are rejected — WHMCS product names alone are never used for mapping keys.
|
|
|
|
## Import / export
|
|
|
|
Mappings are WHMCS-local. Export the `mod_hexagamecloud_product_mappings` table for backup when migrating WHMCS hosts.
|