From 5c4b11736274ba7ce016b2883ab30a843e0b2b5b Mon Sep 17 00:00:00 2001 From: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> Date: Sat, 4 Jul 2026 14:48:43 +0200 Subject: [PATCH] feat(minecraft-java): expand catalog to 26 version+loader entries, add NeoForge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - New loaders in the picker: NeoForge (TYPE=NEOFORGE, mods/ volume), Purpur and Quilt entries for 1.21.4 (loaders map already carried them). - Back-catalog: 1.21.1 (paper/fabric/neoforge/vanilla), 1.20.4 fabric, 1.20.1 paper/forge, 1.19.4 paper/forge, 1.18.2 paper/forge, and the Java 8 era 1.16.5 paper/forge on itzg java8-multiarch. Latest gains a fabric entry. All itzg TYPE values and image tags verified against upstream docs/Docker Hub. - Loader ids stay Modrinth-facet-valid verbatim, so registry browse filters correctly for every new entry. - minecraft-java bumped to 2.5.0 with module.yaml and template spec.version now aligned (was 2.4.0 vs 2.3.0) and kept in lockstep. feat(terraria): add tModLoader 2026 year-channel entry (bump to 2.1.0) The tmodloader-2026 tag tracks the 2026.x stable line without jumping yearly majors — steadier for version-sensitive mod sets than latest. Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> --- minecraft-java/README.md | 2 +- minecraft-java/module.yaml | 4 +- minecraft-java/template.yaml | 173 ++++++++++++++++++++++++++++++++--- terraria/module.yaml | 2 +- terraria/template.yaml | 10 +- 5 files changed, 172 insertions(+), 19 deletions(-) diff --git a/minecraft-java/README.md b/minecraft-java/README.md index bd42506..6ded036 100644 --- a/minecraft-java/README.md +++ b/minecraft-java/README.md @@ -26,7 +26,7 @@ Mods and plugins are managed from the **Mods** tab. Each *(version + loader)* combination has its own volume, so a Paper plugin set and a Forge mod set never collide and survive switching versions. Plugin loaders (Paper/Spigot/Bukkit/Purpur) store under `plugins/`; mod loaders -(Forge/Fabric/Quilt) under `mods/`. Vanilla servers have no mod loader, so +(Forge/NeoForge/Fabric/Quilt) under `mods/`. Vanilla servers have no mod loader, so the tab is hidden for them. Installs are allowed from Modrinth, CurseForge, Hangar, and GitHub (max 512 MiB), subject to the agent's SSRF guard. diff --git a/minecraft-java/module.yaml b/minecraft-java/module.yaml index d527eb1..135dcf3 100644 --- a/minecraft-java/module.yaml +++ b/minecraft-java/module.yaml @@ -1,9 +1,9 @@ apiVersion: gameplane.local/module/v1 name: minecraft-java displayName: Minecraft (Java Edition) -version: 2.4.0 +version: 2.5.0 game: minecraft-java -summary: Vanilla / Paper / Spigot / Bukkit / Purpur / Forge / Fabric / Quilt servers (itzg/minecraft-server) with a version+loader picker, per-loader mod volumes, and in-app Modrinth browse. +summary: Vanilla / Paper / Spigot / Bukkit / Purpur / Forge / NeoForge / Fabric / Quilt servers (itzg/minecraft-server) with a version+loader picker spanning 1.16.5–latest, per-loader mod volumes, and in-app Modrinth browse. homepage: https://www.minecraft.net/ license: MIT gameplaneMinVersion: 0.2.0 diff --git a/minecraft-java/template.yaml b/minecraft-java/template.yaml index 036aef2..af95793 100644 --- a/minecraft-java/template.yaml +++ b/minecraft-java/template.yaml @@ -21,11 +21,12 @@ metadata: spec: displayName: Minecraft (Java Edition) game: minecraft-java - version: 2.3.0 + # Kept in lockstep with module.yaml's bundle version from 2.5.0 onward. + version: 2.5.0 # Brand color the dashboard tints this game's icon/accents with. accentColor: "#5b9a3e" description: | - Vanilla, Paper, Spigot, Bukkit, Purpur, Forge, Fabric, or Quilt + Vanilla, Paper, Spigot, Bukkit, Purpur, Forge, NeoForge, Fabric, or Quilt Minecraft: Java Edition servers using the community [itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) image. Pick a version+loader in the New Server wizard; each loader's @@ -85,9 +86,34 @@ spec: # Version+loader catalog surfaced in the wizard. itzg selects software via # TYPE+VERSION env, so entries inject those rather than swapping the tag - # (the tag pins only the itzg release / Java runtime). The loader keys into - # capabilities.mods.loaders below to pick the per-combo mod volume. + # (the tag pins only the itzg release / Java runtime: java8-multiarch for + # ≤1.16.5, java17 for 1.18.2–1.20.x, java21 for 1.21+). The loader keys + # into capabilities.mods.loaders below to pick the per-combo mod volume, + # and is used verbatim as the Modrinth loader facet. versions: + # ── Latest (moving) ──────────────────────────────────────────────── + - id: "latest-paper" + displayName: "Latest · Paper" + image: itzg/minecraft-server:java21 + loader: paper + env: + - { name: TYPE, value: PAPER } + - { name: VERSION, value: LATEST } + - id: "latest-fabric" + displayName: "Latest · Fabric" + image: itzg/minecraft-server:java21 + loader: fabric + env: + - { name: TYPE, value: FABRIC } + - { name: VERSION, value: LATEST } + - id: "latest-vanilla" + displayName: "Latest · Vanilla" + image: itzg/minecraft-server:java21 + loader: vanilla + env: + - { name: TYPE, value: VANILLA } + - { name: VERSION, value: LATEST } + # ── 1.21.4 ───────────────────────────────────────────────────────── - id: "1.21.4-paper" displayName: "1.21.4 · Paper" image: itzg/minecraft-server:java21 @@ -97,6 +123,14 @@ spec: env: - { name: TYPE, value: PAPER } - { name: VERSION, value: "1.21.4" } + - id: "1.21.4-purpur" + displayName: "1.21.4 · Purpur" + image: itzg/minecraft-server:java21 + loader: purpur + gameVersion: "1.21.4" + env: + - { name: TYPE, value: PURPUR } + - { name: VERSION, value: "1.21.4" } - id: "1.21.4-fabric" displayName: "1.21.4 · Fabric" image: itzg/minecraft-server:java21 @@ -105,6 +139,14 @@ spec: env: - { name: TYPE, value: FABRIC } - { name: VERSION, value: "1.21.4" } + - id: "1.21.4-quilt" + displayName: "1.21.4 · Quilt" + image: itzg/minecraft-server:java21 + loader: quilt + gameVersion: "1.21.4" + env: + - { name: TYPE, value: QUILT } + - { name: VERSION, value: "1.21.4" } - id: "1.21.4-forge" displayName: "1.21.4 · Forge" image: itzg/minecraft-server:java21 @@ -113,6 +155,14 @@ spec: env: - { name: TYPE, value: FORGE } - { name: VERSION, value: "1.21.4" } + - id: "1.21.4-neoforge" + displayName: "1.21.4 · NeoForge" + image: itzg/minecraft-server:java21 + loader: neoforge + gameVersion: "1.21.4" + env: + - { name: TYPE, value: NEOFORGE } + - { name: VERSION, value: "1.21.4" } - id: "1.21.4-vanilla" displayName: "1.21.4 · Vanilla" image: itzg/minecraft-server:java21 @@ -121,6 +171,40 @@ spec: env: - { name: TYPE, value: VANILLA } - { name: VERSION, value: "1.21.4" } + # ── 1.21.1 (NeoForge LTS line) ───────────────────────────────────── + - id: "1.21.1-paper" + displayName: "1.21.1 · Paper" + image: itzg/minecraft-server:java21 + loader: paper + gameVersion: "1.21.1" + env: + - { name: TYPE, value: PAPER } + - { name: VERSION, value: "1.21.1" } + - id: "1.21.1-fabric" + displayName: "1.21.1 · Fabric" + image: itzg/minecraft-server:java21 + loader: fabric + gameVersion: "1.21.1" + env: + - { name: TYPE, value: FABRIC } + - { name: VERSION, value: "1.21.1" } + - id: "1.21.1-neoforge" + displayName: "1.21.1 · NeoForge" + image: itzg/minecraft-server:java21 + loader: neoforge + gameVersion: "1.21.1" + env: + - { name: TYPE, value: NEOFORGE } + - { name: VERSION, value: "1.21.1" } + - id: "1.21.1-vanilla" + displayName: "1.21.1 · Vanilla" + image: itzg/minecraft-server:java21 + loader: vanilla + gameVersion: "1.21.1" + env: + - { name: TYPE, value: VANILLA } + - { name: VERSION, value: "1.21.1" } + # ── 1.20.x ───────────────────────────────────────────────────────── - id: "1.20.4-paper" displayName: "1.20.4 · Paper" image: itzg/minecraft-server:java17 @@ -129,6 +213,14 @@ spec: env: - { name: TYPE, value: PAPER } - { name: VERSION, value: "1.20.4" } + - id: "1.20.4-fabric" + displayName: "1.20.4 · Fabric" + image: itzg/minecraft-server:java17 + loader: fabric + gameVersion: "1.20.4" + env: + - { name: TYPE, value: FABRIC } + - { name: VERSION, value: "1.20.4" } - id: "1.20.4-forge" displayName: "1.20.4 · Forge" image: itzg/minecraft-server:java17 @@ -137,6 +229,14 @@ spec: env: - { name: TYPE, value: FORGE } - { name: VERSION, value: "1.20.4" } + - id: "1.20.1-paper" + displayName: "1.20.1 · Paper" + image: itzg/minecraft-server:java17 + loader: paper + gameVersion: "1.20.1" + env: + - { name: TYPE, value: PAPER } + - { name: VERSION, value: "1.20.1" } - id: "1.20.1-fabric" displayName: "1.20.1 · Fabric" image: itzg/minecraft-server:java17 @@ -145,20 +245,64 @@ spec: env: - { name: TYPE, value: FABRIC } - { name: VERSION, value: "1.20.1" } - - id: "latest-paper" - displayName: "Latest · Paper" - image: itzg/minecraft-server:java21 + - id: "1.20.1-forge" + displayName: "1.20.1 · Forge" + image: itzg/minecraft-server:java17 + loader: forge + gameVersion: "1.20.1" + env: + - { name: TYPE, value: FORGE } + - { name: VERSION, value: "1.20.1" } + # ── 1.19.4 / 1.18.2 (classic modded era) ─────────────────────────── + - id: "1.19.4-paper" + displayName: "1.19.4 · Paper" + image: itzg/minecraft-server:java17 loader: paper + gameVersion: "1.19.4" env: - { name: TYPE, value: PAPER } - - { name: VERSION, value: LATEST } - - id: "latest-vanilla" - displayName: "Latest · Vanilla" - image: itzg/minecraft-server:java21 - loader: vanilla + - { name: VERSION, value: "1.19.4" } + - id: "1.19.4-forge" + displayName: "1.19.4 · Forge" + image: itzg/minecraft-server:java17 + loader: forge + gameVersion: "1.19.4" env: - - { name: TYPE, value: VANILLA } - - { name: VERSION, value: LATEST } + - { name: TYPE, value: FORGE } + - { name: VERSION, value: "1.19.4" } + - id: "1.18.2-paper" + displayName: "1.18.2 · Paper" + image: itzg/minecraft-server:java17 + loader: paper + gameVersion: "1.18.2" + env: + - { name: TYPE, value: PAPER } + - { name: VERSION, value: "1.18.2" } + - id: "1.18.2-forge" + displayName: "1.18.2 · Forge" + image: itzg/minecraft-server:java17 + loader: forge + gameVersion: "1.18.2" + env: + - { name: TYPE, value: FORGE } + - { name: VERSION, value: "1.18.2" } + # ── 1.16.5 (Java 8 era) ──────────────────────────────────────────── + - id: "1.16.5-paper" + displayName: "1.16.5 · Paper" + image: itzg/minecraft-server:java8-multiarch + loader: paper + gameVersion: "1.16.5" + env: + - { name: TYPE, value: PAPER } + - { name: VERSION, value: "1.16.5" } + - id: "1.16.5-forge" + displayName: "1.16.5 · Forge" + image: itzg/minecraft-server:java8-multiarch + loader: forge + gameVersion: "1.16.5" + env: + - { name: TYPE, value: FORGE } + - { name: VERSION, value: "1.16.5" } # Console commands behind agent features. The agent interprets these at # runtime — moderation templates render with .Player/.Reason; the quiesce @@ -263,6 +407,7 @@ spec: bukkit: { displayName: Plugins (Bukkit), path: plugins, extensions: [".jar"] } purpur: { displayName: Plugins (Purpur), path: plugins, extensions: [".jar"] } forge: { displayName: Mods (Forge), path: mods, extensions: [".jar"] } + neoforge: { displayName: Mods (NeoForge), path: mods, extensions: [".jar"] } fabric: { displayName: Mods (Fabric), path: mods, extensions: [".jar"] } quilt: { displayName: Mods (Quilt), path: mods, extensions: [".jar"] } install: diff --git a/terraria/module.yaml b/terraria/module.yaml index 609c914..2b3575d 100644 --- a/terraria/module.yaml +++ b/terraria/module.yaml @@ -1,7 +1,7 @@ apiVersion: gameplane.local/module/v1 name: terraria displayName: Terraria -version: 2.0.0 +version: 2.1.0 game: terraria summary: Terraria + tModLoader dedicated server (passivelemon/terraria-docker) with a vanilla/tModLoader version picker and a tModLoader ModPacks volume. Console via container stdin. homepage: https://terraria.org/ diff --git a/terraria/template.yaml b/terraria/template.yaml index 67ae61a..d7d350e 100644 --- a/terraria/template.yaml +++ b/terraria/template.yaml @@ -19,7 +19,8 @@ metadata: spec: displayName: Terraria game: terraria - version: 2.0.0 + # Kept in lockstep with module.yaml's bundle version from 2.1.0 onward. + version: 2.1.0 # Brand color the dashboard tints this game's icon/accents with. accentColor: "#4a90d9" description: | @@ -71,6 +72,13 @@ spec: displayName: "tModLoader · latest" image: passivelemon/terraria-docker:tmodloader-latest loader: tmodloader + # Year channel: follows tModLoader's 2026.x stable line without jumping + # to the next yearly major — steadier for servers with version-sensitive + # mod sets than the plain latest tag. + - id: tmodloader-2026 + displayName: "tModLoader · 2026 stable" + image: passivelemon/terraria-docker:tmodloader-2026 + loader: tmodloader - id: tmodloader-preview displayName: "tModLoader · latest preview" image: passivelemon/terraria-docker:tmodloader-latest-pre