Zum Hauptinhalt springen

EternalTD-Einrichtung

Der aktuelle EternalTD-Einrichtungsablauf basiert auf von Nightbreak verwalteten Inhalten, optionaler Modellunterstützung durch FreeMinecraftModels und einem Hilfsbefehl für Ressourcenpakete.

Voraussetzungen​

  • EternalTD; diese Anleitung folgt dem aktuellen Quellstand 1.7.8
  • Java 21
  • Ein Paper/Spigot-kompatibler Server auf der aktuellen 1.21.4-API-Linie

Optionale Integrationen:

  • FreeMinecraftModels für die benutzerdefinierten Modelle von EternalTD
  • ResourcePackManager, wenn EternalTD sein offizielles Ressourcenpaket dort registrieren soll, anstatt in server.properties zu schreiben
  • floodgate und LibsDisguises sind Soft-Dependencies, keine Einrichtungsvoraussetzungen für den aktuellen Einrichtungsablauf

plugin.yml deklariert genau vier Soft-Dependencies: FreeMinecraftModels, LibsDisguises, floodgate und ResourcePackManager. ModelEngine wird im Plugin nirgendwo mehr referenziert.

Was EternalTD erstellt​

Beim Start initialisiert oder verwendet EternalTD diese Pfade:

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

Hinweis zu Legacy-Versionen:

  • Das Plugin behandelt jetzt levels/ und npcs/ als kanonische Ordnernamen.
  • Beim Start und Neuladen migriert es automatisch die älteren Ordner Levels/ und NPCs/ in die Pfade mit Kleinbuchstaben.
  • Die Migration überschreibt nie eine Datei. Enthält der kleingeschriebene Ordner bereits eine Datei mit demselben Namen, stoppt das Verschieben, die nicht verschobenen Dateien bleiben im alten Ordner oder in levels_migration/ (npcs_migration/), und EternalTD protokolliert einen Initialisierungsfehler. Führe die Dateien von Hand zusammen und starte neu.
  1. Installiere EternalTD und starte den Server einmal.
  2. Verknüpfe dein Nightbreak-Konto mit /nightbreaklogin und genehmige den Server dann unter dem Link, den der Befehl ausgibt.
  3. Führe /etd downloadall aus, um alle zugänglichen EternalTD-Pakete nach plugins/EternalTD/imports herunterzuladen.
  4. Führe /etd install aus, um das offizielle EternalTD-Ressourcenpaket einzurichten.
  5. Verwende /etd setup, wenn du einzelne Pakete durchsuchen, aktivieren, deaktivieren oder aktualisieren möchtest.

/nightbreaklogin ist Teil des gemeinsamen Nightbreak/MagmaCore-Kontoablaufs, kein in EternalTDs plugin.yml deklarierter Befehl.

Das /etd initialize-Menü​

Solange setupDone auf false steht, erhalten Spieler mit eternaltd.* 10 Sekunden nach dem Beitritt eine Einrichtungserinnerung. Sie verlinkt /etd initialize und /etd setup.

/etd initialize öffnet das Menü zur Ersteinrichtung. Alle drei Optionen setzen setupDone: true, womit die Erinnerung endet:

  • Recommended Setup gibt die Schritte der geführten Einrichtung aus und startet, falls der Server noch nicht verknüpft ist, einen /nightbreaklogin-Link für dich.
  • Manual Setup überlässt dir die Paketverwaltung und erinnert dich daran, /etd install auszuführen.
  • Use Current Content lässt deine vorhandenen EternalTD-Inhaltsordner unverändert.

Das /etd setup-Menü​

/etd setup öffnet das gemeinsame MagmaCore-Einrichtungsmenü. Neben den EternalTD-Inhaltspaketen (gefiltert nach Free Content, Premium Packs und Resources) bietet das Menü auch diese Standard-MagmaCore-Steuerungen:

  • einen Eintrag Plugin Update, der die installierte gegenüber der neuesten EternalTD-Version anzeigt und ein Plugin-Update herunterlädt, wenn eines verfügbar ist (angewendet beim Neustart, oder früher, wenn nightbreak.applyPluginUpdatesWithoutRestart es zulässt),
  • einen Eintrag Recommended Plugins, der die Ansicht mit Empfehlungen für Begleit-Plugins öffnet (auch über /etd recommendedplugins erreichbar),
  • eine Umschaltschaltfläche Automatic Updates, die den Konfigurationswert nightbreak.autoDownloadPluginUpdates ein- oder ausschaltet,
  • einen Eintrag Download All, der /etd downloadall ausführt (Plugin-Update plus alle verfügbaren Inhalte).

Spawn- und Hub-Verhalten​

config.yml enthält derzeit:

  • setupDone — Flag, das verfolgt, ob die Ersteinrichtungs-Anleitung abgeschlossen wurde (Standard false).
  • spawnLocations — Standard ist etd_spawn,0,65,0,0,0 und wird immer in die Konfiguration geschrieben. EternalTD löst den Wert nur auf und verwendet ihn, wenn die Welt etd_spawn existiert.
  • manageSpawn — Standard ist true. Teleportiert beitretende Spieler in die EternalTD-Hub-Welt, wenn sie verfügbar ist.
  • playerGuide — der Text des spielinternen Anleitungsbuchs.
  • nightbreak.autoDownloadPluginUpdates — Standard ist false. Gemeinsame MagmaCore-Einstellung; bei true lädt das Plugin verfügbare Plugin- und Inhalts-Updates beim Start automatisch herunter (wird nach dem nächsten Neustart verwendet, sofern nightbreak.applyPluginUpdatesWithoutRestart das Plugin-Update nicht schon früher anwendet). Dies ist auch im Spiel über die Schaltfläche "Automatic Updates" im /etd setup-Menü umschaltbar.
  • nightbreak.applyPluginUpdatesWithoutRestart (Standard never) ist eine gemeinsame MagmaCore-Einstellung, die steuert, wann ein heruntergeladenes Plugin-Update ohne Neustart angewendet wird: never wartet auf den nächsten Neustart, when-empty wendet es an, sobald das nächste Mal keine Spieler online sind, und immediately wendet es an, sobald der Download abgeschlossen ist. Jeder andere Wert gilt als never. Das Anwenden eines Updates deaktiviert EternalTD und aktiviert es wieder, laufende Level enden also. /etd applypluginupdate wendet ein heruntergeladenes Update bei Bedarf an.

Wenn manageSpawn: true und die Welt etd_spawn existiert, werden beitretende Spieler zum konfigurierten EternalTD-Spawnpunkt teleportiert.

Das offizielle Hub-Paket wird separat von Gameplay-Karten verfolgt und als etd_spawn-Welt im Weltcontainer des Servers installiert.

Unter Paper 26.1 und neuer werden Welten aus dem Wurzelverzeichnis des Weltcontainers nach <level-name>/dimensions/minecraft/<world> migriert. EternalTD sucht etd_spawn sowohl im alten Wurzelverzeichnis als auch am migrierten Ort, sodass ein migrierter Hub weiterhin als installiert erkannt und geladen wird. Halb migrierte Überbleibsel werden vor dem Erstellen der Welt in Quarantäne verschoben, weil Papers Migration sich weigert, eine Legacy-Kopie neben einer migrierten zusammenzuführen.

Neuladen nach Importen​

Verwende /etd reload nach manuellen Importen oder manueller Dateibereinigung.

/etd reload startet das Plugin vollständig innerhalb des laufenden Servers neu. Es durchläuft die Deaktivierung, das Laden und die Aktivierung von EternalTD, sodass alle Startschritte erneut ausgeführt werden:

  • alte Ordner Levels/ und NPCs/ werden auf Kleinschreibung migriert
  • der Importer läuft erneut
  • Inhaltspakete, Wellen, Level, Weltvorlagen und NPCs werden neu geladen
  • der Paketaktualisierungs-/Zugriffsstatus wird aktualisiert
  • der Ressourcenpaket-Helfer initialisiert sich neu

Zwei wissenswerte Konsequenzen:

  • Jede laufende Level-Sitzung wird abgebaut, weil das Neuladen über das normale Herunterfahren des Plugins läuft.
  • Wenn beim Neuladen Modelle oder andere Dateien in die Ordner von FreeMinecraftModels (etwa scripts) importiert werden und FreeMinecraftModels aktiviert ist, löst der gemeinsame Importer das Neuladen der FMM-Inhalte aus. Wenn du Dateien direkt in den FMM-Ordnern bearbeitest oder dorthin kopierst, verwende den eigenen Reload-Befehl von FMM.

Bereits verbundene Spieler​

manageSpawn teleportiert Spieler normalerweise beim Beitritt zum Hub, aber Spieler, die sich verbinden, während EternalTD noch initialisiert, verpassen das (die Hub-Welt und der Join-Listener existieren erst nach Abschluss der Initialisierung). Sobald die Initialisierung abgeschlossen ist, geht EternalTD alle bereits online befindlichen Spieler durch und teleportiert jeden, der noch nicht in der Hub-Welt ist, zum konfigurierten Spawn.

Fehlerbehebung​

  • Einem Level kann nicht beigetreten werden. Suche in der Konsole nach Fehlern zur Datei des Levels, zu seiner Wellen-Datei oder seiner Welt-Vorlage und bestätige in /etd setup, dass das Paket installiert und aktiviert ist. Die Beitritts- und Startmeldungen sind unter Welt-Lebenszyklus und Validierung beim Sitzungsstart aufgeführt.
  • Türme erscheinen als Vanilla-Mobs, oder Modelle haben keine Texturen. Prüfe die beiden Hälften getrennt. Modelle brauchen FreeMinecraftModels und das Paket EternalTD Custom Models. Texturen setzen voraus, dass das Ressourcenpaket den Spieler erreicht; siehe Modelle und Ressourcenpaket.
  • Bevor du Inhalte aktualisierst, sichere jede paketierte Level-, Wellen- oder NPC-Datei, die du bearbeitet hast. Ein Inhalts-Update schreibt die Dateien des Pakets über deine bearbeiteten Kopien.

Wenn du um Hilfe bittest, gib die EternalTD- und die Serverversion, das betroffene Level, die relevanten Konfigurationsdateien und das vollständige Server-Log an. /logify lädt das Log hoch und gibt einen Link zurück.