Manual Imports vs In-Game Management
Nightbreak-managed plugins now prefer in-game setup and content management, but manual imports still exist as a fallback.
Recommended: In-Game Management
Use the setup menu plus a linked Nightbreak token when you want:
- access-aware content browsing
- one-click or menu-driven installation
- bulk download and update commands
- automatic outdated-package checks
- a workflow that matches the current codebase
This is the preferred path for:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
Fallback: Manual Imports
Manual imports are still useful when:
- you already have package zips downloaded
- you are moving files between servers
- you want to work offline from Nightbreak during testing
- a package is intentionally being distributed outside the in-game download path
Bulk Nightbreak downloads also end up in the plugin imports folder. The difference is that the in-game path handles the access checks and download step for you.
Import Folder Map
| Plugin | Import Folder |
|---|---|
| EliteMobs | plugins/EliteMobs/imports |
| BetterStructures | plugins/BetterStructures/imports |
| FreeMinecraftModels | plugins/FreeMinecraftModels/imports |
| EternalTD | plugins/EternalTD/imports |
Manual Import Rules
- Keep the downloaded package zipped unless the plugin-specific docs say otherwise.
- Put the package into the correct
importsfolder. - Reload or restart the plugin if the plugin-specific docs require it.
- Re-open the setup menu afterward so you can confirm the install state.
The shared importer can process:
.zippackages placed inimports- certain already-unzipped folders if they include
pack.meta .bbmodelfiles forFreeMinecraftModels
Archives are extracted into a hidden staging folder inside imports and only installed from there. FMM cleans that staging folder after success or failure, so normal failed imports leave the original zip ready for retry rather than a visible half-extracted package beside it.
What The Importer Accepts
pack.meta decides where content goes
A package can ship a pack.meta file at the top level naming the plugin platform it targets — elitemobs, betterstructures, freeminecraftmodels, eternaltd, extractioncraft, resurrectionchest, megablocksurvivors, or worldcannon (also accepted as cannonrtp or world_cannon). That name is matched case-insensitively and surrounding whitespace, line endings and a leading byte-order mark are ignored, so a file saved by a Windows editor works fine.
If the archive has no pack.meta, it is treated as a package for the plugin whose imports folder it was dropped into.
If pack.meta names something the importer does not know, the package is rejected and the zip is left in imports so you can fix it and try again.
Top-level folder names must be recognized
The importer routes each top-level folder in the package to a destination by name. Some names work for every platform:
| Folder | Goes to |
|---|---|
worldcontainer | The server's world container (each subfolder becomes a world) |
models or modelengine | FreeMinecraftModels' models folder, or ModelEngine's blueprints folder if only ModelEngine is installed |
scripts | plugins/FreeMinecraftModels/scripts |
pack.meta | Ignored — it is metadata, not content |
Everything else is resolved per platform (for example custombosses, customitems and content_packages for EliteMobs; schematics, spawn_pools and components for BetterStructures).
A top-level folder the importer does not recognize for that platform causes the whole package to be rejected rather than partially installed, and the archive is retained. If your package will not import, the console names the offending folder.
Failed imports roll back
An import is applied as one transaction. Existing files are backed up before being replaced, replaced world folders are moved aside rather than deleted, and a failure part-way through triggers rollback of every destination the package touched. The zip stays in imports so a retry is safe. If the rollback itself encounters a filesystem error, the console explicitly reports that rollback was incomplete and tells you to inspect the logged destinations before retrying.
The archive is only deleted once the import has fully committed. If you see a package still sitting in imports after a reload, that is the importer telling you it did not install — check the console for the reason.
Important Differences
In-game path
- token aware
- can show locked and outdated content
- usually reloads automatically after bulk operations
- reflects the current intended admin workflow
Manual path
- works without in-game download access
- requires you to manage zip files yourself
- may still require a plugin reload
- can leave content in a downloaded-but-not-enabled state depending on the plugin
- may expose package-shape issues that the in-game access flow would normally hide until install time