Nimbusv1.0.0

Modpack Import

Import modpacks from Modrinth, CurseForge, or server pack ZIPs into Nimbus as fully managed, auto-scaling server groups.

Nimbus can import modpacks from Modrinth, CurseForge, or a server pack ZIP and turn them into fully managed, auto-scaling server groups — with a single command.

No manual downloading, no extracting ZIPs, no hunting for the right modloader version. Just point Nimbus at a modpack and it handles everything.

Supported Sources

SourceExample
Modrinth slugimport adrenaserver
Modrinth URLimport https://modrinth.com/modpack/adrenaserver
CurseForge slugimport curseforge:all-the-mods-10
CurseForge URLimport https://curseforge.com/minecraft/modpacks/all-the-mods-10
Server pack ZIPimport /path/to/ServerFiles-6.6.zip
Local .mrpack fileimport /path/to/modpack.mrpack

CurseForge API fetching requires an API key configured in nimbus.toml under [curseforge] api_key. Server pack ZIPs can always be imported without an API key — just download the server pack from CurseForge and point Nimbus at the file.

Supported Modloaders

ModloaderAuto-configuredProxy Forwarding
FabricYesFabric Proxy Mod
ForgeYesForge forwarding mod
NeoForgeYesNeoForge forwarding mod
QuiltYes (via Fabric)Fabric Proxy Mod

Quick Start

Just run the import command with a Modrinth slug or URL:

Nimbus — Import Wizard
nimbus » import adrenaserver
Import Modpack
Resolving modpack... ✓
Adrenaserver v1.5.2
MC 1.21.4 · Fabric 0.16.9
47 server mods (12 client-only skipped)
Group name: Adrenaserver
Service type [DYNAMIC]: DYNAMIC
Memory [2G]: 2G
Min instances [1]: 1
Max instances [4]: 4
Installing...
 Fabric 0.16.9 ✓
 Mods 47/47 ✓
 Configs & overrides ✓
 Proxy mods ✓
 groups/adrenaserver.toml
 Group configs reloaded
Modpack 'Adrenaserver' imported as group 'Adrenaserver'!

  ↓ navigate  ·  enter select  ·  esc back
    › ● Yes, start now
      ○ No, start later
 Service start initiated.

That's it. Your modded server is live and accepting players through the proxy.

How It Works

Behind the scenes, the import command runs through six stages:

  1. Resolve — Downloads the .mrpack from Modrinth, fetches the server pack from CurseForge, or reads a local file. Modrinth/CurseForge slugs and URLs are resolved via their respective APIs. Server pack ZIPs are analyzed directly.
  2. Parse — For .mrpack: reads modrinth.index.json for the mod list and dependencies. For server pack ZIPs: auto-detects modloader and MC version from installer JARs, startup scripts, and args files.
  3. Configure — Interactive prompts ask for group name, service type, memory allocation, and scaling limits. Sensible defaults are pre-filled based on the pack metadata.
  4. Download — For Modrinth packs: fetches the modloader JAR and all server-side mods (8 parallel downloads with SHA1 verification). For server packs: extracts the pre-built files directly (mods are already included).
  5. Install — Extracts config overrides, installs the modloader, adds the appropriate proxy forwarding mod for Velocity, and auto-accepts the EULA.
  6. Create — Generates a group config file in groups/<name>.toml with all the settings you chose.

What Gets Installed

After import, your template directory looks like this:

Directory Structure
templates/Adrenaserver/
├── fabric-server-launch.jar
├── mods/
│   ├── lithium-0.14.3.jar
│   ├── fabric-api-0.100.1.jar
│   └── ... (47 mods)
├── config/
│   └── ... (extracted from overrides)
└── eula.txt (auto-accepted)

A matching group config is created at groups/Adrenaserver.toml with the modloader, memory, and scaling settings you selected.

Auto-Scaling Modded Servers

Imported modpacks are configured as DYNAMIC groups by default. This means Nimbus will automatically spin up new instances when player demand increases and shut them down when they're empty — just like it does for vanilla server groups.

The scaling engine monitors player counts across all instances and applies the same fill-rate rules described in the Auto-Scaling Guide. You get elastic modded infrastructure without lifting a finger.

Memory Recommendation

Modded servers typically need 2-4G per instance. Heavy modpacks (200+ mods) may need 4-6G. Set this during import or adjust later in config/groups/<name>.toml under [group.resources] memory.

Automatic Proxy Forwarding

One of Nimbus's strongest features for modded servers: proxy forwarding mods are installed and configured automatically. You never need to manually download or set up forwarding mods.

ModloaderAuto-installed ModDependencies
Fabric / QuiltFabricProxy-LiteFabric API (also auto-installed)
Forgeproxy-compatible-forgeNone
NeoForgeNeoForwardingNone

When Nimbus starts a modded service, it:

  1. Checks the template's mods/ directory for an existing forwarding mod
  2. If missing, downloads the correct mod from Modrinth (matched to your MC version)
  3. Configures the mod with the correct forwarding mode (modern or legacy)
  4. Copies the forwarding.secret for modern forwarding mode

No manual configuration needed. Players connect to your Velocity proxy on port 25565 and get forwarded to modded servers as if they were vanilla.

This works for both imported modpacks AND manually created modded groups. Any Forge, Fabric, or NeoForge group automatically gets proxy forwarding support.

Smart Client Routing

When you run multiple modded groups (e.g. ATM10 on NeoForge 1.21.1 and a Forge 1.20.1 pack), Nimbus automatically routes each connecting client to the correct group using mod list matching:

  1. Protocol version filter -- A Forge 1.20.1 client (protocol 763) won't match a NeoForge 1.21.4 group (protocol 769)
  2. Connection type filter -- Legacy Forge clients only match Forge groups; modern Forge/NeoForge clients match both
  3. Mod overlap scoring -- The client's mod list (from the Forge handshake) is compared against each group's server mods. The group with the highest overlap ratio wins (minimum 50% match required)
  4. Fallback -- If no group scores above 50%, the player falls back to the lobby

This happens automatically. Nimbus scans the mods/ directory of each modded group's template on startup and caches the mod IDs. The mod list is also exposed via GET /api/groups in the modIds field.

Fabric clients appear as vanilla to Velocity (no FML marker in the handshake) and are routed to the lobby like any other vanilla client. This is a Fabric design choice -- Fabric doesn't modify the Minecraft protocol handshake.

Updating a Modpack

To update to a new modpack version, simply re-run the import command:

Nimbus
nimbus » import adrenaserver
Import Modpack
Resolving modpack... ✓
Adrenaserver v1.6.0
MC 1.21.5 · Fabric 0.17.0
49 server mods (+2 new, 3 updated)

Alternatively, you can manually update individual mods by replacing JAR files in the templates/<name>/mods/ directory.

Re-importing will overwrite the existing template. For STATIC services, world data in services/ is preserved since it lives outside the template. For DYNAMIC services, a fresh template copy is applied on every start, so changes to the template take effect immediately.

Examples

Fabric Performance Pack

A lightweight server optimization pack — perfect for high-player-count lobbies:

Nimbus
nimbus » import adrenaserver
Import Modpack
Resolving modpack... ✓
Adrenaserver v1.5.2
MC 1.21.4 · Fabric 0.16.9
47 server mods (12 client-only skipped)
Modpack 'Adrenaserver' imported as group 'Adrenaserver'!

Forge Modpack

Import a heavyweight Forge kitchen-sink pack straight from a Modrinth URL:

Nimbus
nimbus » import https://modrinth.com/modpack/all-the-mods-10
Import Modpack
Resolving modpack... ✓
All the Mods 10 v2.40
MC 1.21.1 · NeoForge 21.1.77
341 server mods (89 client-only skipped)
Installing...
 NeoForge 21.1.77 ✓
 Mods 341/341 ✓
 Configs & overrides ✓
 Proxy mods ✓
Modpack 'All the Mods 10' imported as group 'AllTheMods10'!

CurseForge Server Pack ZIP

Download the server pack from CurseForge and import the ZIP directly — no API key needed:

Nimbus
nimbus » import ServerFiles-6.6.zip
Import Modpack
Resolving modpack... ✓

Server Pack ServerFiles-6.6.zip
MC 1.21.1 · NEOFORGE 21.1.224
449 mods

Group name [66]: ATM10
Static services keep their data (world, configs) across restarts.
Dynamic services start fresh from the template every time.
 Static
Memory per instance [4G]: 8G
Min instances [1]: 1
Max instances [1]: 1

Installing...
 Extracting server pack... ✓
 449 mods extracted
 NEOFORGE 21.1.224 ✓
 Proxy mod ✓

 config/groups/atm10.toml
 Group configs reloaded
 Server pack imported as group 'ATM10'!
 Service start initiated.

CurseForge API (with API key)

With a CurseForge API key configured, you can import by slug — Nimbus auto-downloads the server pack:

Nimbus
nimbus » import curseforge:all-the-mods-10

Local Modpack File

Import a custom pack you built yourself or downloaded manually:

Nimbus
nimbus » import ./my-custom-pack.mrpack
Import Modpack
Resolving modpack... ✓
My Custom Pack v1.0.0
MC 1.20.4 · Quilt 0.26.4 (via Fabric)
23 server mods
Modpack 'My Custom Pack' imported as group 'MyCustomPack'!