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.4.1 - Java
21 - A Paper/Spigot-compatible server on the current
1.21API 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.
- Run
/etd initializeas a player witheternaltd.*. - 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.
What /etd initialize Actually Does
/etd initialize opens a first-time setup menu. It does not download content or install the resource pack for you.
The current menu offers three outcomes:
Recommended Setup: marks setup as complete and tells you to run/nightbreaklogin <token>,/etd downloadall, and/etd installManual Setup: marks setup as complete and leaves content management to youUse Current Content: marks setup as complete and keeps the current on-disk content as-is
Because all three options set setupDone: true, treat /etd initialize as a guidance flow, not as a validation step.
Spawn and Hub Behavior
config.yml currently includes:
setupDonespawnLocationsmanageSpawnplayerGuide
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