Zurück zum Blog
hopperstpsoptimizationpaperspigotcontainersperformance

Minecraft Server Hopper & Container optimieren: Hoppers als TPS-Killer stoppen

Veröffentlicht am 24. August 2026

# Minecraft Server Hopper & Container optimieren: Hoppers als TPS-Killer stoppen

Wenn du jemals einen stark ausgelasteten Minecraft-Server profiliert hast und dich gefragt hast, warum die TPS einbricht, ohne dass eine offensichtliche Ursache erkennbar ist, sind Hoppers häufig der Schuldige. Ein einzelner Hopper prüft standardmäßig alle 8 Game-Ticks, ob Items zu bewegen sind — und eine Basis mit ein paar Hundert Hoppers in einer automatisierten Farm kann leicht 10–20 % des gesamten Tick-Budgets deines Servers verbrauchen. Dieser Guide erklärt genau, was unter der Haube passiert, und wie du es behebst.

Warum Hoppers so teuer sind

Jeder Hopper auf dem Server führt während der Tile-Entity-Phase des Tick-Loops Logik aus. Das umfasst:

  • Prüfen des Inventars darüber auf Items zum Einziehen
  • Scannen von Item-Entities im Sammelbereich (1×1×1 Block über dem Hopper)
  • Pushen von Items in den Container darunter oder in Blickrichtung
  • Cooldown-Tracking zur Drosselung der Transfergeschwindigkeit

Das Problem potenziert sich, wenn Spieler große Sortiersysteme, Storage-Arrays oder Item-Farmen bauen. Ein mittelgroßer Survival-Server hat möglicherweise 5.000–20.000 Hoppers gleichzeitig über alle Spielerbasen hinweg geladen. Mit Standardeinstellungen tickt jeder alle 8 Game-Ticks — das sind 2,5-mal pro Sekunde pro Hopper. Multipliziere das mit 10.000 Hoppers, und du schaust auf 25.000 Hopper-Tick-Operationen pro Sekunde, alle auf dem Main-Thread.

Deshalb taucht Hopper-Lag selten als einzelner massiver Spike auf — es ist ein langsamer, schleichender Verbrauch, der deine TPS dauerhaft unter 20 hält.

Wichtige Konfigurationseinstellungen

bukkit.yml — Hopper Tick-Rate

Die wirkungsvollste Einstellung befindet sich in bukkit.yml:

ticks-per:

hopper-transfer: 8

hopper-check: 1

  • hopper-transfer steuert, wie viele Ticks zwischen jedem Item-Transfer-Versuch liegen. Der Standard ist 8. Erhöhe dies auf 16 oder sogar 24, um den Hopper-Overhead deutlich zu reduzieren — Items bewegen sich nur etwas langsamer.
  • hopper-check steuert, wie oft Hoppers nach nahegelegenen Item-Entities auf dem Boden suchen. Erhöhe auf 8 oder 16, um die Entity-Scan-Kosten erheblich zu senken. Die meisten Spieler werden nicht bemerken, dass Items einen Bruchteil einer Sekunde länger brauchen.

Empfohlene Werte für ausgelastete Server:

ticks-per:

hopper-transfer: 16

hopper-check: 8

paper-world.yml — Hopper-spezifische Optimierungen

Paper fügt in paper-world.yml mehrere Hopper-Optimierungen hinzu:

hopper:

cooldown-when-full: true

disable-move-event: false

ignore-occluding-blocks: true

  • cooldown-when-full — Bei true geht ein Hopper, der versucht Items in einen vollen Container zu pushen, in einen Cooldown statt jeden Tick neu zu versuchen. Das ist ein enormer Gewinn für volle Storage-Arrays und sollte immer aktiviert sein.
  • disable-move-eventtrue deaktiviert das InventoryMoveItemEvent für Hoppers. Das bricht Plugins, die auf Hopper-Bewegungen hören (z.B. Shop- oder Log-Plugins), aber wenn du keine verwendest, kann es die Hopper-CPU-Last um 30–50 % senken.
  • ignore-occluding-blocks — Erlaubt Hoppers, Items durch bestimmte Blöcke zu sammeln, was aufwendige Farm-Designs reduziert.

spigot.yml — Hopper und Container

world-settings:

default:

hopper-amount: 1

hopper-can-load-chunks: false

  • hopper-can-load-chunks — Behalte dies auf false. Bei true können Hoppers Chunks forcieren zu laden, was ein ernstes Performanceproblem ist.
  • hopper-amount — Steuert Items pro Hopper-Operation. Erhöhen auf 3 oder 8 bedeutet weniger Operationen für denselben Durchsatz und reduziert die Tick-Zeit.

Purpur und Pufferfish Extras

Bei Purpur prüfe purpur.yml auf:

world-settings:

default:

hopper:

cooldown-when-full: true

ignore-occluding-blocks: true

Pufferfish enthält asynchrone Hopper-Optimierungen, die bestimmtes Container-Scanning vom Main-Thread auslagern. Bei hoher Spielerzahl ist Pufferfish einen Test wert.

Praktische Strategien zur Reduzierung der Hopper-Anzahl

Konfiguration allein reicht nicht, wenn Spieler unverantwortliche Farmen bauen. Überlege diese server-seitigen Ansätze:

1. Pro-Spieler oder Pro-Chunk Hopper-Limits

Plugins wie ClearLag, HopperLimiter oder eigene Paper-Plugins können die Hopperanzahl pro Chunk oder Spieler begrenzen. Ein vernünftiges Limit für Survival-Server sind 64 Hoppers pro Chunk.

2. Spieler aufklären

Viele Spieler wissen nicht, dass Hopper-Pipelines teuer sind. Ermuntere zur Nutzung von:

  • Dropper-Ketten (günstiger als Hoppers für Massentransport)
  • Kompakteren Sortierern mit weniger Hoppers durch clevere Filter-Designs

3. WorldGuard Region-Flags

Nutze WorldGuard, um das Platzieren von Hoppers in bestimmten Zonen einzuschränken — besonders in der Nähe von Spawn oder in öffentlichen Bereichen.

Hopper-Lag diagnostizieren

Nutze spark, um Hopper-bedingten Lag zu identifizieren:

/spark profiler --thread *

Suche nach HopperBlockEntity oder TileEntityHopper in der Profiler-Ausgabe. Verbraucht es mehr als 5 % der Tick-Zeit, brauchen deine Hopper-Einstellungen Aufmerksamkeit.

Tools wie [PulseNode](https://pulsenode.tech) können diese Muster automatisch aufdecken — sie verfolgen TPS-Trends über Zeit und warnen, wenn der Tile-Entity-Overhead zu steigen beginnt, damit du das Problem erkennst, bevor Spieler Lag bemerken.

Empfohlene Konfigurationsübersicht

| Datei | Einstellung | Standard | Empfohlen |

|-------|------------|---------|----------|

| bukkit.yml | hopper-transfer | 8 | 16 |

| bukkit.yml | hopper-check | 1 | 8 |

| paper-world.yml | cooldown-when-full | true | true |

| paper-world.yml | disable-move-event | false | true* |

| spigot.yml | hopper-amount | 1 | 3–8 |

| spigot.yml | hopper-can-load-chunks | false | false |

*Nur wenn keine Plugins auf InventoryMoveItemEvent angewiesen sind

Fazit

Hoppers sind täuschend teuer, weil ihre Kosten verteilt und unsichtbar sind — bis du tief profilierst. Die Kombination aus erhöhten Transfer-Tick-Intervallen, aktivierten Full-Container-Cooldowns, deaktivierten unnötigen Inventory-Move-Events und vernünftigen Hopper-Limits kann 5–15 % deines gesamten Server-Tick-Budgets zurückgewinnen — ohne spürbare Gameplay-Auswirkungen für die meisten Spieler.

Beginne mit bukkit.yml und paper-world.yml, profiliere mit spark vor und nach den Änderungen, und optimiere schrittweise weiter.

---

Willst du wissen, wenn Hopper-Lag aufzubauen beginnt, bevor er das Spielerlebnis ruiniert? [PulseNode](https://pulsenode.tech) überwacht TPS, Arbeitsspeicher und Performance-Trends deines Servers in Echtzeit — damit du schleichenden Tile-Entity-Overhead sofort erkennst, nicht erst wenn sich Spieler beschweren.

Server-Performance optimieren?

PulseNode überwacht deinen Minecraft Server in Echtzeit und gibt dir KI-gestützte Optimierungstipps.

Kostenlos starten
Minecraft Server Hopper & Container optimieren: Hoppers als TPS-Killer stoppen — PulseNode Blog | PulseNode