docs(modpackchecker): Update README with correct structure and Technic status

- Updated file structure to show app/Http/Controllers and app/Console/Commands
- Added explanation of why the app/ folder structure is used
- Updated platform support table with working status
- Added note about Technic API 401 error (investigation needed)

Signed-off-by: Claude (Chronicler #63) <claude@firefrostgaming.com>
This commit is contained in:
Claude (Chronicler #63)
2026-04-06 09:54:39 +00:00
parent 0f2ece4f88
commit 326f6529f3

View File

@@ -43,12 +43,14 @@ A Pterodactyl Panel extension that checks modpack versions across CurseForge, Mo
- (Future: Rate limit settings, notification preferences)
### Supported Platforms
| Platform | ID Type | API Key Required |
|----------|---------|------------------|
| CurseForge | Numeric project ID | ✅ Yes |
| Modrinth | Project ID or slug | ❌ No |
| FTB | Numeric modpack ID | ❌ No |
| Technic | URL slug | ❌ No |
| Platform | ID Type | API Key Required | Status |
|----------|---------|------------------|--------|
| CurseForge | Numeric project ID | ✅ Yes | ✅ Working |
| Modrinth | Project ID or slug | ❌ No | ✅ Working |
| FTB | Numeric modpack ID | ❌ No | ✅ Working |
| Technic | URL slug | ⚠️ Unknown | ❌ 401 Auth Error |
> **Note (April 2026):** Technic Platform API now returns 401 Unauthorized. They may have changed their authentication requirements. Investigation ongoing.
---
@@ -117,19 +119,21 @@ blueprint-extension/
├── conf.yml # Blueprint configuration
├── build.sh # Injection script (runs during blueprint -build)
├── Controllers/
── ModpackAPIController.php # API endpoints (manualCheck, getStatus)
├── app/ # Merges into Pterodactyl's app/ via requests.app
── Console/
│ │ └── Commands/
│ │ └── CheckModpackUpdates.php # Laravel cron command
│ └── Http/
│ └── Controllers/
│ └── ModpackAPIController.php # API endpoints (manualCheck, getStatus)
├── admin/
│ ├── controller.php # Admin panel logic
│ └── view.blade.php # Admin panel UI
├── console/
│ └── CheckModpackUpdates.php # Laravel cron command
├── database/
│ └── migrations/
│ └── 2024_XX_XX_create_modpackchecker_servers_table.php
│ └── 2026_04_06_000000_create_modpackchecker_servers_table.php
├── routes/
│ └── client.php # API route definitions
@@ -141,6 +145,16 @@ blueprint-extension/
└── UpdateBadge.tsx # Dashboard status dot component
```
### Why the `app/` folder structure?
Blueprint's `requests.app` field merges the contents of your `app/` folder directly into Pterodactyl's `app/` directory. This means:
1. **PSR-4 Autoloading:** Your classes are automatically found by Laravel's autoloader
2. **Correct Namespaces:** Use `Pterodactyl\Http\Controllers` (not custom Blueprint namespaces)
3. **Case Sensitivity:** Linux requires exact folder casing — `Controllers/` not `controllers/`
This architecture was validated through painful debugging and Gemini AI consultation.
---
## Installation