Skip to main content

Nightbreak Setup and Content Management

This page is the shared setup guide for the Nightbreak-managed plugins.

It applies directly to:

  • EliteMobs
  • BetterStructures
  • FreeMinecraftModels
  • EternalTD
  • ResurrectionChest
  • WorldCannon

These plugins now share the same overall lifecycle:

  1. Install the plugin and any hard dependencies.
  2. Start the server once so files and menus are generated.
  3. Run the plugin's first-time setup command if it has one.
  4. Link a Nightbreak token with /nightbreaklogin <token>.
  5. Use the plugin setup menu to browse, install, enable, disable, and update content.
  6. Use the plugin bulk download/update commands when you want a faster initial bootstrap.

What MagmaCore Actually Shares

MagmaCore is the shared layer behind the Nightbreak-managed flow. It provides:

  • the shared /nightbreaklogin <token> command (permission nightbreak.login, defaults to OP)
  • the shared /nightbreaklogout command for disconnecting the server from its Nightbreak account (permission nightbreak.login, defaults to OP)
  • the shared /logify command for uploading the current server log to mclo.gs (permission logify.*, defaults to OP)
  • the shared /nightbreak plugins command for browsing the Nightbreak plugin catalog (permission nightbreak.plugins, defaults to OP)
  • the shared token storage in plugins/MagmaCore/nightbreak.yml
  • shared setup-menu primitives used by plugin setup menus
  • shared Nightbreak access, version, and download checks
  • shared bulk-download logic that downloads files into the owning plugin's imports folder
  • the shared changelog inbox that tells admins in game when a plugin or an installed content package has unread release notes (see Nightbreak changelog notifications)
  • the standard subcommand set that every Nightbreak-managed plugin registers under its own root command (see below)

/nightbreaklogin, /nightbreaklogout, /logify, and /nightbreak are registered once per server by whichever Nightbreak-managed plugin loads MagmaCore first, so they are available regardless of which plugin "owns" them at runtime.

Shared Standard Subcommands

The subcommands below are not written by each plugin. MagmaCore registers the same implementations under whatever root command the plugin declares (/em, /bs, /fmm, /etd, …), which is why they behave identically everywhere.

SubcommandWhat it doesPermission
setupOpens the plugin's setup menu. Player-only.plugin setup permission
initializeOpens the first-time setup menu for players when the plugin registers that flow. Preset modes are not required; FreeMinecraftModels also registers it. Check each plugin's commands page.plugin initialize permission
recommendedpluginsShows recommended companion plugins (menu in-game, chat list from console).plugin setup permission
downloadpluginupdateDownloads a plugin update jar only. No content.plugin admin permission
downloadallDownloads the plugin update and then all available content.plugin admin permission
downloadallcontentDownloads all available content, no plugin update. Only registered by plugins that ship content packages.plugin setup permission
updatecontent (alias updateallcontent)Downloads updates for already-outdated content only. Only registered by plugins that ship content packages.plugin setup permission
forcereinstallcontent <package|all>Re-downloads content through the normal authenticated import and reload path even when the installed version is already current. all covers every package that is downloaded, installed, or outdated; pass a package slug directly if its files are completely missing. Only registered by plugins that ship content packages.plugin admin permission

The exact permission node behind each column is chosen by the plugin, so check the plugin's own page for its node names. initialize is a first-time guidance flow — it does not replace the setup menu or the content-management commands.

Because downloadall starts with the plugin update, it stops before the content step when the account has no token or the token failed authentication. Fix the token first, then re-run it.

MagmaCore also has a separate plugin-startup initialization system, but that is not the same thing as the player-facing initialize commands documented here.

Automatic Updates

Every Nightbreak-managed plugin writes one shared key into its own config.yml:

nightbreak:
autoDownloadPluginUpdates: false

When set to true, that plugin automatically downloads, a few minutes after startup:

  • an available plugin update jar, and
  • update files for any outdated content packages it manages.

Downloaded plugin and content updates are used after the server restarts — nothing is hot-swapped into a running server. The setting defaults to false, so out of the box you stay on the in-game update button.

Automatic plugin-jar downloads require both a valid account token and an active supporter Patreon membership on the linked Nightbreak account. Without them the download is refused and the plugin logs the reason. Downloads are also verified: the jar is checksum-checked and validated as a real plugin artifact before it is placed in the server's update folder, and a failed check discards the file instead of installing it.

Separately from the auto-download setting, each plugin quietly re-checks for a newer version roughly once an hour so the setup menu can show an accurate update state. That check never downloads anything on its own.

1. Install the plugin first

Drop the plugin jar and any required hard dependencies into plugins/, then start the server once.

2. Run the first-time setup flow

If the plugin exposes an initialize command, use it first. The current menus are designed to:

  • mark first-time setup as complete
  • point you to Nightbreak account linking
  • direct you toward the current setup menu
  • clarify when manual imports are still valid

Opens the first-time setup menu for players when the plugin registers that flow. Preset modes are not required; FreeMinecraftModels also registers it. Check each plugin's commands page.

Go to the Nightbreak account page, get your server token, and run:

/nightbreaklogin <token>

The token is shared through MagmaCore, so one linked token can be reused by all compatible MagmaGuy plugins on that server.

4. Use the setup menu for day-to-day content management

The setup menus are the current source of truth for:

  • package states
  • access states
  • installed vs downloaded content
  • partially installed content that needs repair
  • out-of-date content
  • content filters by category

If you have a linked token, the setup menus are the recommended place to install and update content.

5. Use bulk install/update when you want speed

Use the downloadall command when you want to bootstrap a server quickly and the updatecontent command when you want to refresh everything that is outdated.

The shared bulk downloader only attempts Nightbreak-managed packages that:

  • have a Nightbreak slug
  • are accessible to the linked token
  • are not downloaded yet, or are marked out of date

Interactive bulk commands ask the owning plugin to reload after at least one successful download. Automatic startup content downloads deliberately do not reload the plugin; they take effect after the server restarts.

Shared Concepts

Downloaded vs installed

A package can exist locally without being enabled. The exact meaning varies slightly by plugin, but the setup menu state matters more than whether a zip exists in imports.

Bulk downloads also land in the same plugin imports folder used by manual imports before the plugin-specific import/reload step finishes.

Access-aware content

Setup menus can now distinguish between content that:

  • is available to your token
  • needs to be purchased or unlocked
  • is installed
  • is only partially installed
  • is downloaded but disabled
  • is outdated

Manual imports are still valid

Nightbreak-managed plugins still support manual import workflows. Manual import is now the fallback path, not the default path. See Manual imports vs in-game management.

Plugins That Do Not Use This Flow

Not every plugin in this wiki uses Nightbreak-managed downloadable content.

  • BetterFood does not use Nightbreak package management
  • ResourcePackManager manages resource packs, not Nightbreak DLC packages

Both of those plugins still register the shared setup shell and the shared plugin-update and changelog commands; what they lack is Nightbreak content packages.

ResurrectionChest and WorldCannon are not exceptions — both declare content packages, both register the shared content subcommands, and both run the shared importer, so they accept hand-placed package zips too. See Manual imports vs in-game management.