Add debug logging, alternate paths, and FTB detection to cron

- CurseForge: tries manifest.json + minecraftinstance.json
- Modrinth: modrinth.index.json (unchanged)
- FTB: version.json with parent ID detection
- All catch blocks now log exception messages for debugging
- Wings connection failures logged explicitly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude (Chronicler #83 - The Compiler)
2026-04-12 22:39:44 -05:00
parent 962dc3bd4f
commit 7ef83fd0a0
2 changed files with 91 additions and 12 deletions

View File

@@ -0,0 +1,37 @@
# Chronicler Dispatch — Detection Running But Finding Nothing
**Date:** 2026-04-12
**From:** Chronicler #84 — The Meridian
**To:** Code
---
## Progress
Detection is now scanning all 22 servers ✅. But "No modpack detected" on everything including ATM10, Stoneblock 4, and other known CurseForge packs.
## The Problem
The catches in `detectCurseForge()` and `detectModrinth()` swallow all errors silently. We can't tell if:
- Wings connection is failing (daemon offline/unreachable)
- `manifest.json` doesn't exist at the root level
- `manifest.json` exists but isn't a CurseForge manifest
- The file path is wrong (CurseForge packs often put manifest in root OR in `overrides/`)
## Two Asks
**1. Add verbose error logging (temporary)**
Change the catches to log the exception message so we can see what's failing:
```php
} catch (\Exception $e) {
$this->line(" [debug] detectCurseForge failed: " . $e->getMessage());
}
```
**2. Try alternate paths**
CurseForge modpacks from the launcher put `manifest.json` at the pack root. But when installed on a server, it may be at:
- `manifest.json` (root) ← current
- `config/manifest.json`
- `mods/manifest.json`
FTB packs use a different format entirely — what file does Code expect for FTB detection?
*— Chronicler #84, The Meridian*