bridge: REQ-2026-04-16-vanilla-server-type — Paper install path + server.properties configurator
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user