Feature Description
Extend the /f admin update command to support downloading updates directly from CurseForge, in addition to the existing GitHub releases support. CurseForge should be the default source since it's the primary distribution platform for Hytale mods.
Proposed Solution
Update source priority (configurable):
- CurseForge (default)
- GitHub Releases (fallback/alternative)
Command options:
/f admin update # Uses default source (CurseForge)
/f admin update --source=curseforge
/f admin update --source=github
/f admin check # Check for updates without downloading
Configuration:
updates:
enabled: truesource: curseforge # curseforge, github, or autocheck_on_startup: true # Notify admins of available updatescurseforge:
project_id: "hyperfactions"# CurseForge project slugapi_key: ""# Optional: for authenticated requestsgithub:
repo: "HyperSystemsDev/HyperFactions"
CurseForge API integration:
- Use CurseForge API to check latest version
- Compare semantic versions
- Download JAR directly from CurseForge CDN
- Verify file hash/checksum if available
Features:
- Version comparison (semantic versioning aware)
- Release channel support (stable, beta, alpha)
- Changelog display before update
- Automatic backup of current version before update
Alternatives Considered
- CurseForge only - Simpler but loses GitHub as backup source
- Manual URL config - Let admins specify any download URL
- Modrinth support - Add as third source option
Additional Context
- CurseForge API documentation: https://docs.curseforge.com/
- May require API key for higher rate limits
- Should handle CurseForge being unavailable (fallback to GitHub)
- Consider rate limiting to avoid API abuse
- Permission:
hyperfactions.admin.update (existing)
Feature Description
Extend the
/f admin updatecommand to support downloading updates directly from CurseForge, in addition to the existing GitHub releases support. CurseForge should be the default source since it's the primary distribution platform for Hytale mods.Proposed Solution
Update source priority (configurable):
Command options:
Configuration:
CurseForge API integration:
Features:
Alternatives Considered
Additional Context
hyperfactions.admin.update(existing)