Files
firefrost-services/docs/code-bridge/requests/REQ-2026-04-16-modpack-installer-tweaks.md

2.4 KiB
Raw Blame History

REQ-2026-04-16-modpack-installer-tweaks

From: Chronicler #93
Date: 2026-04-16
Priority: HIGH — needs done before Holly sees it tomorrow
Status: PENDING
Linked Task: #101 follow-up tweaks

Context

Modpack Installer is deployed and working. Michael reviewed the UI and has 7 tweaks before Holly sees it tomorrow.


Tweaks

1. Node Selector — Show Current Usage

Replace the plain NC1/TX1 dropdown with live RAM and disk usage per node. Query Pterodactyl Client API for each node's resource usage. Display inline under each option:

  • ❄️ NC1 — Charlotte | RAM: 42GB / 64GB | Disk: 1.2TB / 2TB
  • 🔥 TX1 — Dallas | RAM: 38GB / 64GB | Disk: 900GB / 2TB User picks the node, you can see the headroom. No auto-selection.

2. Disk Space Field

Add a disk allocation field (MB) alongside RAM. Pre-fill from provider API pack size estimate if available. Required before install.

3. Smart JVM — Auto-Inject Aikar Flags

Add a JVM Arguments field that auto-populates with Aikar G1GC flags based on RAM allocation. Recalculates when RAM changes. Editable override. Use the same flags already in Pterodactyl startup commands across the fleet — substitute RAM value into -Xms and -Xmx.

4. Spawn Type — Add Vanilla + Rename

  • vanilla — "Vanilla (no spawn changes)" ← NEW DEFAULT
  • standard — "Standard" (drop the Bitch Bot parenthetical)
  • skyblock — "Skyblock (no spawn paste)"
  • has_lobby — "Has Lobby (pack provides its own)"

5. Java Version Field

Auto-select based on MC version:

  • 1.16.x and below → Java 8
  • 1.17.x → Java 17
  • 1.18.x1.20.x → Java 17
  • 1.21.x and above → Java 21

Pre-fill on pack selection. Editable dropdown (8, 17, 21). Passed to Pterodactyl egg startup config.

6. Port Allocation

Auto-assign next available port on selected node. Query existing servers on that node via Pterodactyl API, find highest used port in Minecraft range (2556525700), assign next. Show as read-only with a "Re-roll" button. No manual entry.

7. Resource Estimates — Surface in UI

Show mod count and estimated pack size on the pack details card. Use these to drive RAM and disk pre-fill suggestions.


Files to Touch

  • src/views/admin/modpack-installer/_pack_details.ejs
  • src/routes/admin/modpack-installer.js
  • src/services/providerApi/curseforge.js
  • src/services/providerApi/modrinth.js

Deploy

Standard pattern. No new migrations needed.