Priority 2 — Date-time seeding:
- fetchFileHistory() for CurseForge, Modrinth, FTB
- seedCurrentVersion() matches release closest to server install date
- Falls back to latest if no history or no install date
Priority 3 — New endpoints:
- GET /servers/{server}/status — zero-click cached status
- GET /servers/{server}/releases — recalibrate dropdown (10 releases)
- POST /servers/{server}/calibrate — save user's version selection
- POST /servers/{server}/ignore — toggle is_ignored flag
Priority 5 — BCC log parsing:
- detectFromBccLog() reads logs/latest.log for BetterCompatibilityChecker
- Extracts modpack name + version from BCC output line
- Skips CHANGE_ME values
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Pterodactyl\Http\Controllers\ModpackAPIController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| ModpackChecker Client Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Blueprint auto-prefixes these with /api/client/extensions/modpackchecker/
|
|
| So our paths here are relative to that prefix.
|
|
|
|
|
*/
|
|
|
|
// Manual check (POST — makes live API call)
|
|
Route::post('/servers/{server}/check', [ModpackAPIController::class, 'manualCheck']);
|
|
|
|
// Dashboard badge status (GET — reads from DB cache only)
|
|
Route::get('/status', [ModpackAPIController::class, 'getStatus']);
|
|
|
|
// Server status from cache (GET — no external API calls)
|
|
Route::get('/servers/{server}/status', [ModpackAPIController::class, 'serverStatus']);
|
|
|
|
// Release history for recalibrate dropdown (GET — makes external API call)
|
|
Route::get('/servers/{server}/releases', [ModpackAPIController::class, 'releases']);
|
|
|
|
// Recalibrate current version (POST — saves user selection)
|
|
Route::post('/servers/{server}/calibrate', [ModpackAPIController::class, 'calibrate']);
|
|
|
|
// Ignore/restore server (POST — toggles is_ignored flag)
|
|
Route::post('/servers/{server}/ignore', [ModpackAPIController::class, 'toggleIgnore']);
|