Minecraft Server TPS-Optimierung: Vollstaendiger Guide

Minecraft Server TPS-Optimierung: Vollstaendiger Guide

Was ist TPS und warum es wichtig ist

TPS (Ticks Per Second) ist der Herzschlag deines Minecraft-Servers. Jeder Tick ist ein Aktualisierungszyklus der Spielwelt: Mob-Bewegung, Pflanzenwachstum, Redstone-Verarbeitung, Block-Physik, Verarbeitung von Spieleraktionen. Idealerweise fuehrt der Server 20 Ticks pro Sekunde aus, was bedeutet, dass jeder Tick nicht mehr als 50 Millisekunden dauert.

Wenn TPS unter 20 faellt, beginnt alles zu laggen. Mobs bewegen sich ruckartig, Bloecke brechen mit Verzoegerung, Spieler beschweren sich ueber "Server-Lag". Bei TPS 15 wird das Spielerlebnis spuerbar unangenehm. Bei TPS 10 und darunter ist der Server praktisch unspielbar.

Es ist wichtig, den Unterschied zwischen TPS und Ping zu verstehen. Ping ist die Netzwerkverzoegerung zwischen dem Spieler und dem Server. TPS ist die Leistung des Servers selbst. Ein Spieler kann einen perfekten Ping von 10ms haben, aber wenn der Server-TPS bei 12 liegt, wird es trotzdem laggen. Umgekehrt kann ein Server stabile 20 TPS halten, aber ein Spieler mit schlechtem Internet wird wegen hohem Ping trotzdem laggen.

Hauptursachen fuer niedrige TPS

Bevor du optimierst, musst du verstehen, was genau den Server belastet. Hier sind die haeufigsten Ursachen.

Zu viele Entities

Jeder Mob, gedroptes Item, Pfeil, Boot, Lore ist eine Entity, die der Server jeden Tick verarbeitet. Eine Farm mit Hunderten von Kuehen in einem Gehege toetet TPS schneller als fast alles andere. Gedropte Items, die niemand aufhebt, sammeln sich an und belasten den Server.

Schwere Plugins

Nicht alle Plugins sind gleich gut programmiert. Einige fuehren komplexe Berechnungen im Hauptthread des Servers durch und blockieren die Tick-Verarbeitung. Dynamische Karten, komplexe Wirtschafts-Plugins, Plugins mit haeufigen Datenbankabfragen sind alles potenzielle TPS-Killer.

Chunk-Laden

Das Generieren neuer Chunks ist eine der aufwendigsten Operationen. Wenn mehrere Spieler gleichzeitig neue Gebiete erkunden, muss der Server Dutzende von Chunks pro Sekunde generieren. Das ist eine enorme Belastung.

Redstone

Komplexe Redstone-Mechanismen, besonders Clock-Schaltungen und grosse Systeme, erzeugen Tausende von Block-Updates pro Tick. Ein einzelner Spieler mit einer endlosen Redstone-Clock kann den gesamten Server zum Stillstand bringen.

Weltgroesse

Je mehr geladene Chunks es gibt, desto mehr Arbeit hat der Server. Jeder Chunk enthaelt Bloecke, die aktualisiert werden muessen: Wasser fliesst, Lava fliesst, Pflanzen wachsen, Mobs spawnen.

Optimierung von Paper.yml / paper-global.yml

Paper (und seine Forks wie Purpur) bieten eine riesige Anzahl von Einstellungen zur Optimierung. Hier sind die wichtigsten Parameter.

Fuer Paper 1.19.4+ (paper-global.yml und paper-world-defaults.yml)

# paper-world-defaults.yml

# Mob-Aktivierungsdistanz reduzieren
entities:
  spawning:
    despawn-ranges:
      monster:
        hard: 96
        soft: 28
      creature:
        hard: 96
        soft: 28
      ambient:
        hard: 64
        soft: 28

# Mob-Spawning begrenzen
spawn-limits:
  monsters: 50      # vanilla: 70
  animals: 8        # vanilla: 10
  water-animals: 3  # vanilla: 5
  ambient: 1        # vanilla: 15

# Chunk-Optimierung
chunks:
  max-auto-save-chunks-per-tick: 8
  delay-chunk-unloads-by: 10s
  entity-per-chunk-save-limit:
    experience_orb: 16
    arrow: 8
    item: 32

# Redstone-Optimierung
redstone-implementation: ALTERNATE_CURRENT

Wichtige Purpur-Einstellungen

Wenn du Purpur verwendest (ein Paper-Fork mit zusaetzlichen Optimierungen):

# purpur.yml
settings:
  dont-send-useless-entity-packets: true

world-settings:
  default:
    mobs:
      zombie:
        aggressive-towards-villager-when-lagging: false
      villager:
        lobotomize:
          enabled: true  # deaktiviert komplexe KI bei feststeckenden Villagers

Plugin-Audit: Ressourcenhungrige Plugins finden

Blindes Optimieren von Configs hilft nicht, wenn ein Plugin 60% des Server-Ticks frisst. Du musst den Schuldigen finden.

Spark - Das beste Profiling-Tool

Installiere das Spark Plugin. Es ist der genaueste Profiler fuer Minecraft.

/spark profiler start    # Profiling starten
/spark profiler stop     # Stoppen und Bericht erhalten
/spark tps               # Aktuelle TPS
/spark health            # Allgemeiner Serverzustand

Spark zeigt dir, welche Plugins und welche spezifischen Operationen die meiste Zeit beanspruchen. Suche nach Plugins, die mehr als 10-15% des Server-Ticks verbrauchen.

Timings (in Paper integriert)

/timings on      # Datenerfassung starten
# 5-10 Minuten warten
/timings paste   # Link zum Bericht erhalten

Der Timings-Bericht zeigt jedes Plugin und jeden Event-Handler mit exakter Ausfuehrungszeit. Rote Zeilen sind die Problemstellen.

Was tun mit einem schweren Plugin

Wenn du ein Plugin gefunden hast, das den Server verlangsamt, hast du drei Optionen: Es durch eine optimiertere Alternative ersetzen, es konfigurieren (Update-Intervalle erhoehen, unnoetige Funktionen deaktivieren) oder es entfernen, wenn es nicht kritisch ist.

View Distance und Simulation Distance

Diese beiden Parameter haben einen enormen Einfluss auf die Leistung.

View Distance bestimmt, wie viele Chunks um den Spieler herum an den Client zum Rendern gesendet werden. Simulation Distance bestimmt, wie viele Chunks um den Spieler herum tatsaechlich vom Server verarbeitet werden (Mobs, Redstone, Pflanzenwachstum).

# server.properties
view-distance=7           # vanilla: 10
simulation-distance=4     # vanilla: 10

Die Reduzierung der simulation-distance von 10 auf 4 verringert die verarbeitete Flaeche um mehr als das 6-fache. Der Effekt auf TPS ist enorm.

Wenn Spielern die schoene Aussicht wichtig ist, kannst du die view-distance hoeher halten (7-8), waehrend die simulation-distance niedrig bleibt (4-5). Entfernte Chunks sind sichtbar, belasten aber den Server nicht.

Welt vorausgenerieren

Chunk-Generierung in Echtzeit ist teuer. Die Loesung: Alle Chunks im Voraus generieren.

Das Chunky Plugin macht das effizient:

/chunky radius 5000       # Radius in Bloecken vom Zentrum
/chunky start             # Generierung starten
/chunky pause             # Pause falls noetig
/chunky continue          # Fortsetzen

Generiere die Welt, wenn wenige Spieler online sind, oder komplett offline. Nach der Vorgenerierung setze eine Weltgrenze, damit Spieler nicht ueber das generierte Gebiet hinausgehen:

/worldborder set 10000    # Weltgrenze von 10000 Bloecken

DDoS-Angriffe und TPS: Die versteckte Verbindung

Hier ist etwas, das in TPS-Optimierungsguides selten besprochen wird: DDoS-Angriffe toeten die Server-Performance direkt, auch wenn sie ihn nicht komplett zum Absturz bringen.

Wie ein Angriff TPS beeinflusst

Waehrend eines DDoS-Angriffs auf einen Minecraft-Server passiert Folgendes. Tausende gefaelschte Verbindungen ueberfluten den Netzwerk-Stack. Der Server verbringt CPU-Zeit mit der Verarbeitung gefaelschter Pakete anstelle von Spiel-Ticks. Bot-Angriffe erzeugen Hunderte von Fake-Spielern, von denen jeder eine Belastung fuer den Server darstellt. Selbst wenn der Angriff den Server nicht komplett lahmlegt, sinkt TPS auf 10-15, und die Spieler erleben schrecklichen Lag.

Du kannst Paper perfekt konfigurieren, schwere Plugins bereinigen, die Welt vorausgenerieren, aber ein einziger Bot-Angriff macht alle deine Bemuehungen zunichte.

Wie wir dieses Problem loesen

Bei MineGuard filtern wir boesartigen Traffic, bevor er deinen Server erreicht. Unser Filter blockiert Bots, gefaelschte Verbindungen und Muell-Pakete auf Netzwerkebene. Dein Server empfaengt nur legitimen Traffic von echten Spielern.

Das Ergebnis: Selbst waehrend eines aktiven DDoS-Angriffs haelt dein Server stabile 20 TPS, weil die gesamte Angriffslast auf unserem Filter liegt, nicht auf deiner Hardware. Wir haben Faelle gesehen, in denen Server mit perfekt konfiguriertem Paper waehrend Bot-Angriffen auf 5 TPS fielen, und nach Aktivierung unseres Schutzes stabile 19.9-20.0 selbst unter Angriff hielten.

TPS-Monitoring: Den Puls im Auge behalten

Optimierung ist keine einmalige Aktion. Du musst den Zustand deines Servers staendig ueberwachen.

Spark fuer kontinuierliches Monitoring

/spark tps                    # Aktuelle TPS (1m, 5m, 15m)
/spark health                 # CPU, Speicher, TPS in einem Bericht
/spark profiler start --timeout 300  # 5 Minuten profilen

Fuehre Profiling waehrend der Spitzenzeiten durch, um echte Probleme zu erkennen.

Automatische Benachrichtigungen

Richte Benachrichtigungen fuer TPS-Einbrueche ein. Viele Control Panels (Pterodactyl, AMP) unterstuetzen das von Haus aus. Wenn du ein individuelles Setup hast, verwende ein Plugin, das einen Webhook an Discord sendet, wenn TPS unter einen Schwellenwert faellt.

Worauf du achten solltest

  • TPS 19.5-20.0 - ausgezeichnet, Server laeuft perfekt
  • TPS 18.0-19.5 - normal, geringe Einbrueche
  • TPS 15.0-18.0 - Optimierung noetig, Spieler bemerken Lag
  • TPS unter 15.0 - ernsthafte Probleme, sofortiges Handeln erforderlich

Optimierungs-Checkliste

Fassen wir zusammen. Gehe diese Liste durch:

  1. Aktualisiere dein Server-Core auf die neueste Paper- oder Purpur-Version
  2. Konfiguriere paper-world-defaults.yml: Mob-Limits, despawn-ranges, ALTERNATE_CURRENT
  3. Setze simulation-distance auf 4-5, view-distance auf 7-8
  4. Generiere die Welt mit Chunky vor und setze eine Weltgrenze
  5. Pruefe Plugins mit Spark - finde und ersetze schwere Plugins
  6. Begrenze Entities: Farm-Limits, automatische Item-Bereinigung
  7. Verbinde DDoS-Schutz, damit Angriffe deine TPS nicht beeinflussen
  8. Richte TPS-Monitoring mit Spark ein
  9. Pruefe regelmaessig Timings-Berichte nach Plugin-Updates

TPS-Optimierung ist ein umfassender Prozess. Es gibt keine einzelne magische Einstellung, die alles repariert. Aber wenn du systematisch jeden Punkt durchgehst, wird der Unterschied enorm sein. Server, die konstant 20 TPS halten, behalten ihre Spieler. Server mit Lag verlieren sie.


Schützen Sie Ihren Server vor DDoS-Angriffen

Kostenloser Schutz mit 5-Minuten-Einrichtung. 1 TB Traffic inklusive.

Kostenlos testen


Weitere Artikel