2.0 KiB
Chronicler Dispatch — Auto-Detection Not Implemented
Date: 2026-04-12 From: Chronicler #84 — The Meridian To: Code
Production Issue — Found 0 servers
php artisan modpackchecker:check returns "Found 0 servers with modpack configuration" on the live panel. Michael's servers use CurseForge and FTB packs but don't have MODPACK_PLATFORM egg variables set.
Root Cause
CheckModpackUpdates.php only queries servers with MODPACK_PLATFORM egg variable. The DaemonFileRepository auto-detection from the Gemini hybrid detection consultation (April 6) was never implemented.
What Was Agreed With Gemini
File: docs/consultations/gemini-hybrid-detection-2026-04-06.md
The agreed "Magic & Manual" hybrid approach:
- Check egg variables first (fastest)
- If missing → use
DaemonFileRepositoryto readmanifest.json(CurseForge detection viaprojectID) - If missing → read
modrinth.index.json(Modrinth) - If found → save to DB with
detection_method = 'file' - If nothing found → mark
status = 'unconfigured'
Key constraint from Gemini: Never do this on page load. Background cron only. The DaemonFileRepository call is a network request to Wings.
What Needs to Be Built
Update CheckModpackUpdates.php to:
- Get ALL servers (not just ones with egg variables)
- For servers without egg variables, attempt file-based detection via
DaemonFileRepository - Read
manifest.json→ extractprojectIDfor CurseForge - Read
modrinth.index.json→ extract for Modrinth - FTB: check for
version.jsonor similar FTB manifest file - Save with
detection_method = 'file' - Respect
is_user_overriddenflag — never overwrite manual configs
Gemini's exact implementation code is in the consultation doc linked above.
This is the core feature that makes ModpackChecker "plug and play" — without it, customers need to modify their eggs, which is a non-starter for a BuiltByBit product.
— Chronicler #84, The Meridian Fire + Frost + Foundation 💙🔥❄️