Skip to main content

EternalTD Setup

The current EternalTD setup flow is built around Nightbreak-managed content, optional model support through FreeMinecraftModels, and a resource-pack helper command.

Requirements

  • EternalTD 1.6.0
  • Java 21
  • A Paper/Spigot-compatible server on the current 1.21.4 API line

Optional integrations:

  • FreeMinecraftModels for EternalTD's custom models
  • ResourcePackManager if you want EternalTD to register its official resource pack there instead of writing to server.properties
  • Floodgate, ModelEngine, and LibsDisguises are soft-depends, not setup requirements for the current setup flow

What EternalTD Creates

On startup, EternalTD initializes or uses these paths:

plugins/EternalTD/config.yml
plugins/EternalTD/content_packages/
plugins/EternalTD/imports/
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

Legacy note:

  • The plugin now treats levels/ and npcs/ as canonical folder names.
  • On startup and reload it will migrate legacy Levels/ and NPCs/ folders into the lowercase paths automatically.
  1. Install EternalTD and start the server once.
  2. Link your Nightbreak account with /nightbreaklogin <token>.
  3. Run /etd downloadall to download all accessible EternalTD packages into plugins/EternalTD/imports.
  4. Run /etd install to apply the official EternalTD resource-pack setup.
  5. Run /etd setup any time you want to browse, enable, disable, or update individual packages.

/nightbreaklogin <token> is part of the shared Nightbreak/MagmaCore account flow, not a command declared in EternalTD's plugin.yml.

The /etd setup menu

/etd setup opens the shared MagmaCore setup menu. Alongside the EternalTD content packages (filtered by Free Content, Premium Packs, and Resources), the menu also exposes these standard MagmaCore controls:

  • a Plugin Update entry that shows the installed vs. latest EternalTD version and downloads a plugin update when one is available,
  • a Recommended Plugins entry that opens the companion-plugin recommendation view (also reachable with /etd recommendedplugins),
  • an Automatic Updates toggle button that flips the nightbreak.autoDownloadPluginUpdates config value on or off,
  • a Download All entry that runs /etd downloadall (plugin update plus all available content).

Spawn and Hub Behavior

config.yml currently includes:

  • setupDone — flag tracking whether first-time setup guidance has been completed (default false).
  • spawnLocations — defaults to etd_spawn,0,65,0,0,0. Only seeded/used when the etd_spawn world exists.
  • manageSpawn — defaults to true. Teleports joining players to the EternalTD hub world when it is available.
  • playerGuide — the in-game guide book text.
  • nightbreak.autoDownloadPluginUpdates — defaults to false. Shared MagmaCore setting; when true the plugin automatically downloads available plugin and content updates on startup (used after the next restart). This is also toggleable in-game from the /etd setup menu's "Automatic Updates" button.

When manageSpawn: true and the etd_spawn world exists, joining players are teleported to the configured EternalTD spawn location.

The official hub package is tracked separately from gameplay maps and is installed as the etd_spawn world in the server's world container.

Reloading After Imports

Use /etd reload after manual imports or manual file cleanup.

Reloading EternalTD currently:

  • re-runs the importer
  • reloads content packages
  • reloads levels, waves, NPCs, and world templates
  • refreshes package update/access state
  • re-initializes the resource-pack helper
  • asks FreeMinecraftModels to reload imported content if that plugin is present