# 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.x–1.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 (25565–25700), 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.
