bridge: REQ-2026-04-16-vanilla-server-type — Paper install path + server.properties configurator

This commit is contained in:
Claude
2026-04-16 06:55:00 +00:00
parent fa3a947d0b
commit bf6cb1eb5e

View File

@@ -0,0 +1,90 @@
# REQ-2026-04-16-vanilla-server-type
**From:** Chronicler #93
**Date:** 2026-04-16
**Priority:** HIGH
**Status:** PENDING
**Linked Task:** #101 follow-up — Vanilla/Paper server type + server.properties configurator
---
## Context
The Modpack Installer currently assumes a modpack egg (Forge/Fabric/NeoForge). Vanilla/Paper servers are a completely different server type — Paper jar, plugins instead of mods, different standard stack. This adds a parallel install path to the installer.
---
## Part 1: Vanilla/Paper Server Type
### New Spawn Type Behavior
When `spawn_type = vanilla` is selected, the install flow changes:
**Egg:** Use Paper egg instead of modpack egg
**Jar:** Hit Paper API for latest build matching selected MC version:
`https://api.papermc.io/v2/projects/paper/versions/{mc_version}/builds` → get latest build → download jar
**No mods folder** — skip modpack download entirely
**Plugins instead of mods** — deploy Vanilla Standard Plugin Stack
**No Bitch Bot** — skip provision.json and BitchBot jar
**No schematic** — spawn is whatever Minecraft generates
### Vanilla Standard Plugin Stack
Deploy from NextCloud `standard-plugins/{mc_version}/`:
**Confirmed:**
- EssentialsX
- LuckPerms-Bukkit
- Spark
- Vault
- WorldEdit (Paper build)
- WorldGuard (Paper build)
- CoreProtect
**Pending Holly decision — do NOT deploy yet, flag in UI:**
- Chunk claiming plugin (GriefPrevention vs Lands — decision pending)
- DiscordSRV (Task #104, planned separately)
### NextCloud Structure
Create placeholder folders:
```
standard-plugins/1.21.1/README.md
standard-plugins/1.20.1/README.md
```
README content: "Populate with plugin jars before first Vanilla install"
### UI Changes
When Vanilla spawn type selected:
- Show notice: "Paper server — plugins will be deployed instead of mods"
- Hide modpack version selector
- Show MC version selector
- Java version auto-select still applies
---
## Part 2: server.properties Configurator
Collapsible "Server Configuration" section in the install form. Pre-fill with Firefrost defaults.
**Gameplay:** difficulty (easy), gamemode (survival), pvp (true), hardcore (false), spawn-protection (16)
**World:** level-type (normal), generate-structures (true), level-seed (empty), view-distance (10), simulation-distance (10)
**Players:** max-players (20), white-list (true), online-mode (true), allow-flight (false), player-idle-timeout (0)
**MOTD:** "Welcome home, Adventurer. Firefrost Gaming is now open!"
Write server.properties via Pterodactyl File API after server creation, before first boot.
---
## Files to Touch
- `src/routes/admin/modpack-installer.js`
- `src/services/modpackInstaller.js`
- `src/views/admin/modpack-installer/_pack_details.ejs`
- New: `src/services/paperApi.js`
---
## Deploy
Standard pattern. No new migrations needed.
## Note for Chronicler
Populate NextCloud `standard-plugins/1.21.1/` with confirmed plugin jars before first Vanilla install. Installer fails gracefully if folder empty.