Configuration

Configuration

Complete reference for all settings, environment variables, cache behavior, and detailed provider documentation with error descriptions.


Admin Panel Settings

Open settings via the gear icon on the Modpack Browser page.

Settings Reference

Setting Default Range Env Variable Description
Cache Duration 30 min 0–1440 min MODPACKS_CACHE_DURATION (seconds, default 1800) How long API responses are cached
Request Timeout 10 sec 1–30 sec MODPACKS_REQUEST_TIMEOUT Max wait time for API response
Modpacks Per Page 20 5–100 MODPACKS_PER_PAGE Results per browse page
CurseForge API Key Text CURSEFORGE_API_KEY Required for CurseForge (password field)

All Environment Variables

Variable Default Description
MODPACKS_CACHE_DURATION 1800 Cache duration in seconds
MODPACKS_REQUEST_TIMEOUT 10 API timeout in seconds
MODPACKS_PER_PAGE 20 Modpacks per browse page
CURSEFORGE_API_KEY CurseForge API key (shared with Game Mods + Plugins)

After changes: php artisan config:clear


Provider: Modrinth (Detailed)

Overview

No configuration required. Direct server-side installation supported.

Technical Details

Property Value
API Base https://api.modrinth.com/v2
Auth None required
Facets [["project_type:modpack"], ["server_side:required","server_side:optional"]]
Download Direct URL with SHA-1 hash

Direct Install Process

  • Downloads .mrpack file (renamed to .zip)
  • Extracts content
  • Parses modrinth.index.json for dependencies
  • Resolves loaders: fabric → fabricmc.net, quilt → quiltmc.org
  • forge/neoforge → logged as unsupported for direct install
  • Copies overrides/ directory contents to server root
  • Generates run.sh + run.bat scripts

Modrinth-Specific Errors

Error Cause Solution
Empty search results API temporarily unavailable Check status.modrinth.com
Download failed CDN URL expired Clear cache, search again
Forge/NeoForge unsupported Direct install doesn't support these loaders Use egg-based installation instead
.mrpack extraction failed Corrupted download Re-download, check disk space

Provider: CurseForge (Detailed)

Overview

Requires free API key. Direct server-side installation supported.

Technical Details

Property Value
API Base https://api.curseforge.com/v1
Auth x-api-key header
Class ID 4471 (Modpacks)
Game ID 432 (Minecraft)
Max page size 50, total cap 10,000
Sort Dynamic — Popularity(2) if no query, Featured(1) with query

Direct Install Process

  • Downloads modpack archive
  • Parses manifest.json for file references
  • Downloads each mod file individually from CurseForge
  • Applies overrides from the archive

CurseForge-Specific Errors

Error Cause Solution
"CurseForge API key not set" No key configured Add key in settings or CURSEFORGE_API_KEY
HTTP 403 Invalid or expired key Regenerate at console.curseforge.com
HTTP 429 Rate limit exceeded Increase cache duration, wait
Empty download URL Author restricted downloads Try different modpack version

Provider: ATLauncher (Detailed)

Overview

Requires launcher — no direct server download.

Technical Details

Property Value
API GraphQL at https://api.atlauncher.com/v2/graphql
Icons CDN https://cdn.atlcdn.net/
Search GraphQL mutation searchPacks with pagination
Versions GraphQL query pack(slug) → versions array
requires_launcher true — Cannot install directly to server

ATLauncher-Specific Notes

  • Search uses GraphQL mutations, not REST
  • Paginated results
  • Must download via ATLauncher client and upload to server

Provider: FeedTheBeast (Detailed)

Overview

Requires launcher — no direct server download.

Technical Details

Property Value
API https://api.feed-the-beast.com/v1/modpacks/public/modpack
Skip packId=81 (placeholder/test pack, automatically excluded)
requires_launcher true — Cannot install directly to server

FTB-Specific Notes

  • Pack ID 81 is a placeholder pack and is always filtered out
  • Must download via FTB launcher and upload to server

Provider: Technic (Detailed)

Overview

Requires launcher — no direct server download.

Technical Details

Property Value
API https://api.technicpack.net
Build number Fetched from /launcher/version/stable4 (fallback: '822')
Search Requires query — defaults to 'Technic' if empty
Details /modpack/{slug} requires separate request
requires_launcher true — Cannot install directly to server

Technic-Specific Notes

  • Empty search falls back to searching "Technic"
  • Build number is fetched dynamically from the stable channel
  • Each modpack detail requires an additional API call

Provider: VoidsWrath (Detailed)

Overview

Direct server pack download available. Browse-only (no search function).

Technical Details

Property Value
API Static JSON at https://www.ric-rac.org/minecraft-modpack-server-installer/voidswrath.json
Versions Only "latest" version per modpack
Download serverPackUrl for direct server-side download
supportsSearch() false — Browse only, no search
Pagination Client-side (all data loaded at once)

VoidsWrath-Specific Notes

  • All data loaded in a single JSON request
  • Only one version available per modpack (latest)
  • Direct server pack URL available — no launcher needed
  • Cannot search — must browse the full list

Cache Behavior

Cache Prefix: MP_

What's cached TTL Key Pattern
Browse search Config duration (1800s) modpacks:{operation}:{provider}:{md5}
Version list Config duration Same pattern
Modpack details Config duration Same pattern
Download info Config duration Same pattern
Installation progress 10 min Step/progress tracking
Widget update check 5 min modpack_widget_update_{uuid}

⚠️ Global Cache Flush Warning

ModpackManager::clearCache() uses Cache::flush() which clears ALL cached data — not just modpack data. This affects all plugins and the entire panel cache.

Use the "Clear Cache" button sparingly. If other plugins stop working after clearing modpack cache, clear their caches individually or wait for TTL expiry.


Troubleshooting

Settings don't save

  • Check storage/ directory write permissions
  • php artisan config:clear
  • Check browser console (F12) for JS errors

CurseForge not working

  • API key must be set — get one free at console.curseforge.com
  • Check key hasn't expired
  • Same key is used by Game Mods and Minecraft Plugins plugins