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
- Created src/modpack_checker/ package structure
- Created tests/ directory
- Placeholder files for all Python modules
- Complete source code preserved in Chronicler #26 chat history
- Ready for code population in next session
Full file contents available in session transcript for reconstruction.
Enables Claude Code to autonomously build the modpack version checker by:
- Cloning the operations manual
- Reading all planning docs
- Following the complete technical spec
- Building production-ready commercial product
Chronicler #24