WHAT WAS DONE: - Built browser dashboard (dashboard.html) showing installed vs latest version for all Pterodactyl game servers - Built PHP proxy (proxy.php + config.php) for Billing VPS deployment - Created isolated Nginx server block (version-proxy.conf) - Created full deployment guide (DEPLOYMENT-GUIDE.md) ARCHITECTURE: - PHP proxy at /var/www/version-proxy on Billing VPS (38.68.14.188) - Isolated from Paymenter/Laravel routing — separate directory + port - API keys (Pterodactyl ptlc_, CurseForge) live server-side only - FTB packs: fully automatic via .manifest.json + FTB public API - CurseForge packs: reads manifest.json, needs CF Project ID + API key - config.php blocked from direct web access via Nginx PENDING AT DEPLOYMENT: - Verify port 8080 is free (ss -tlnp) before enabling Nginx block - Fill real API keys into config.php on server - Enter CurseForge Project IDs for CF packs (saved in localStorage) COLLABORATION: - PHP proxy architecture designed by Gemini (consultation session 2026-03-29) - Dashboard HTML and detection logic by Chronicler #47 - Gemini identified Laravel routing conflict and content-type gotcha WHY: - Interim solution before full Blueprint extension (post-launch) - Hands-off modpack update monitoring for staff - Zero manual checking required after initial CF Project ID setup Signed-off-by: claude@firefrostgaming.com
11 lines
434 B
PHP
11 lines
434 B
PHP
<?php
|
|
// config.php
|
|
// DO NOT commit real keys. Store this file outside web root or restrict access.
|
|
// Copy this file to /var/www/version-proxy/config.php on the Billing VPS.
|
|
|
|
return [
|
|
'panel_url' => 'https://panel.firefrostgaming.com',
|
|
'panel_key' => 'ptlc_YOUR_CLIENT_KEY', // Pterodactyl client API key (ptlc_...)
|
|
'cf_key' => 'YOUR_CURSEFORGE_KEY' // CurseForge API key (optional, for CF version lookups)
|
|
];
|