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.4API line
Optional integrations:
FreeMinecraftModelsfor EternalTD's custom modelsResourcePackManagerif you want EternalTD to register its official resource pack there instead of writing toserver.propertiesFloodgate,ModelEngine, andLibsDisguisesare 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/andnpcs/as canonical folder names. - On startup and reload it will migrate legacy
Levels/andNPCs/folders into the lowercase paths automatically.
Recommended First-Time Flow
- Install EternalTD and start the server once.
- Link your Nightbreak account with
/nightbreaklogin <token>. - Run
/etd downloadallto download all accessible EternalTD packages intoplugins/EternalTD/imports. - Run
/etd installto apply the official EternalTD resource-pack setup. - Run
/etd setupany 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.autoDownloadPluginUpdatesconfig 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 (defaultfalse).spawnLocations— defaults toetd_spawn,0,65,0,0,0. Only seeded/used when theetd_spawnworld exists.manageSpawn— defaults totrue. Teleports joining players to the EternalTD hub world when it is available.playerGuide— the in-game guide book text.nightbreak.autoDownloadPluginUpdates— defaults tofalse. Shared MagmaCore setting; whentruethe plugin automatically downloads available plugin and content updates on startup (used after the next restart). This is also toggleable in-game from the/etd setupmenu'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