High-Performance Minecraft-Server: Migrations- und Optimierungsleitfaden

Ein technischer Leitfaden zur Migration von Minecraft-Servern auf moderne Cores (Paper, Purpur, Folia), zur Feinabstimmung von Konfigurationsdateien gegen Lags und zum Aufbau eines mehrschichtigen Schutzes.

20.05.2026 Deutsch

Leitfaden für den Umstieg auf moderne Cores: Purpur, Paper, Folia

Die Wahl des Server-Cores ist eine grundlegende Entscheidung, die Leistung, Stabilität und Funktionalität Ihres Minecraft-Servers bestimmt. Die Verwendung veralteter Lösungen wie Vanilla, CraftBukkit oder selbst dem Standard-Spigot ist in der heutigen High-Load-Realität (Hochlast-Umgebungen) ineffizient. In diesem Artikel analysieren wir die Entwicklung von Server-Plattformen und erklären, wie und warum Sie auf moderne Cores wie Paper, Purpur oder den innovativen multithreaded Core Folia umsteigen sollten.

Die Evolution der Cores: Von Spigot zu Purpur

Um den Wert moderner Technologien zu verstehen, betrachten wir die Hierarchie der Plattformen:

  • Spigot: Das historische Fundament. Es brachte grundlegende Optimierungen im Vergleich zum Originalcode von Mojang, aber heute sind seine Algorithmen veraltet. Es führt die meisten Operationen in einem einzigen Hauptthread (Main Thread) aus.
  • Paper: Der anerkannte Industriestandard. Dies ist ein Fork (Abspaltung) von Spigot, bei dem die Systeme zur Chunk-Generierung, Physikberechnung und KI-Verhalten von Mobs komplett neu geschrieben wurden. Paper behebt kritische Bugs sowie Sicherheitslücken und sorgt für eine massive Steigerung der TPS (Ticks Per Second).
  • Purpur: Ein Elite-Fork von Paper. Er übernimmt absolut alle Optimierungen des Eltern-Cores, fügt jedoch über die Datei purpur.yml ein beispielloses Maß an Anpassungsmöglichkeiten hinzu. Hier können Sie das individuelle Verhalten jedes Mobs konfigurieren, Vanilla-Spielmechaniken ändern und Features integrieren, für die früher separate Plugins erforderlich waren.

Folia: Die Multithreading-Revolution

Traditionell arbeitet Minecraft nach dem Prinzip „ein Server – ein Thread“. Unabhängig davon, wie viele CPU-Kerne Ihr Hosting-Prozessor hat, nutzt der Server nur einen Kern zu 100 %. Der Core Folia (entwickelt vom Paper-Team) ändert die Spielregeln grundlegend.

Folia unterteilt die Spielwelt in unabhängige "Regionen" (Regionized Multithreading). Wenn sich eine Gruppe von Spielern am Spawn befindet, während eine andere Gruppe 5000 Blöcke entfernt in der End-Dimension ist, werden diese Zonen parallel auf verschiedenen CPU-Kernen verarbeitet.

Wichtige Einschränkung von Folia: Aufgrund der komplett restrukturierten Architektur führen Standard-Plugins, die synchrone Aufgaben verwenden, zu einem sofortigen Absturz. Folia erfordert spezielle, regionen-optimierte Versionen von Plugins. Nutzen Sie diesen Core nur für Großprojekte (Anarchie, Skyblock mit Tausenden von Online-Spielern) und nur bei ausreichender technischer Erfahrung. Für klassische Server bleibt Purpur die ideale Wahl.

Schritt-für-Schritt-Algorithmus für die Core-Migration

Der Migrationsprozess im Control Panel Ihres Hostings є völlig sicher, wenn Sie sich an die folgende logische Reihenfolge halten.

  1. Backup erstellen: Gehen Sie im Control Panel Ihres Servers in den Bereich „Backups“ und erstellen Sie einen Wiederherstellungspunkt. Die Änderung von Core-Strukturen ist ein sensibler Prozess.
  2. Core-Datei herunterladen: Besuchen Sie die offizielle Website des gewählten Cores (z. B. purpurmc.org) und laden Sie die aktuelle .jar-Datei für Ihre Spielversion herunter.
  3. Dateisystem vorbereiten: Öffnen Sie den Dateimanager oder verbinden Sie sich via SFTP. Stoppen Sie den Server. Suchen Sie die alte ausführbare Core-Datei (meistens heißt sie server.jar, spigot.jar oder paper.jar) und löschen Sie diese.
  4. Hochladen und Umbenennen: Laden Sie die heruntergeladene Datei des neuen Cores in das Stammverzeichnis (Root) des Servers hoch. Benennen Sie sie gemäß den Anforderungen Ihres Panels um (z. B. in server.jar) oder ändern Sie den Namen der Startdatei in den „Starteinstellungen“ (Startup Settings).
  5. Erster Start und Generierung der Konfigurationen: Starten Sie den Server. In der Konsole beginnt der Prozess der Datenkonvertierung und Erstellung neuer Konfigurationsdateien (paper-world-defaults.yml, purpur.yml). Warten Sie, bis der Server vollständig hochgefahren ist und die Meldung Done! anzeigt, und starten Sie ihn dann neu.

Behebung potenzieller Probleme (Troubleshooting)

Problem 1: Server zeigt beim Start den Fehler „Unsupported Class Version Error“

Ursache: Neue Core-Versionen erfordern aktuelle Java-Versionen. Beispielsweise wird für Minecraft 1.20+ mindestens Java 17 benötigt, für 1.20.6+ ist oft Java 21 erforderlich.

Lösung: Wechseln Sie im Bereich „Starteinstellungen“ Ihres Panels auf das benötigte Docker-Image (Java-Version) und starten Sie den Server neu.

Problem 2: Eigene Spielmechaniken sind verschwunden oder Plugins werfen Fehler in der Konsole

Ursache: Einige Plugins sind fest mit dem internen Code von Spigot (NMS) verknüpft. Beim Wechsel auf Paper/Purpur können diese Methoden entfernt oder geändert worden sein.

Lösung: Aktualisieren Sie alle Plugins auf die neuesten stabilen Versionen. Ersetzen Sie veraltete Software durch moderne Alternativen (nutzen Sie z. B. EssentialsX anstelle des veralteten Essentials).


Kampf den Lags: Optimierung der Konfigurationsdateien (paper.yml, purpur.yml, spigot.yml)

Ein sauberer TPS-Wert von 20.0 ist das Hauptmerkmal für gutes Hosting und einen richtig konfigurierten Server. Standardmäßig belassen die Core-Entwickler die Einstellungen auf dem Maximum, um den Singleplayer-Mechaniken gerecht zu werden. In einer Multiplayer-Umgebung führt dies jedoch zu massiven Lags. Eine professionelle Optimierung besteht darin, den Simulationsradius dezent zu senken und die übermäßige Mob-KI einzuschränken.

Zuständigkeitsbereiche der Konfigurationsdateien

Jeder Core verarbeitet bestimmte Aspekte des Spiels:

  • spigot.yml – zuständig für grundlegende Distanzen, Wachstumsraten von Pflanzen und die Aktivierung von Entitäten.
  • paper-world-defaults.yml (in älteren Versionen paper.yml) – tiefgehende Optimierung der Weltmechaniken, Chunks, Kollisionen und Ladevorgänge.
  • purpur.yml – Feinabstimmung individueller Eigenschaften von Kreaturen und einzigartigen Spielparametern.

Optimale Parameter für mehr Performance

Öffnen Sie die genannten Dateien über den integrierten Texteditor Ihres Hosting-Panels und ändern Sie die folgenden Parameter, um die maximale Leistung zu erzielen:

Einstellungen in der spigot.yml

world-settings:
  default:
    verbose: false
    # Begrenzt den Aktivierungsradius von Entitäten (Mobs außerhalb dieses Radius „schlafen“)
    entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 48
      misc: 4
    # Begrenzt die Tick-Häufigkeit für KI-Berechnungen von Mobs
    entity-tracking-range:
      players: 48
      animals: 48
      monsters: 48
      misc: 32
    # Verringert die CPU-Last durch Hopper-Überprüfungen
    ticks-per:
      hopper-transfer: 8
      hopper-check: 8

Einstellungen in der paper-world-defaults.yml (oder paper.yml)

chunks:
  auto-save-interval: 6000 # Erhöht das Intervall für die automatische Chunk-Speicherung (in Ticks)
  max-auto-save-chunks-per-tick: 6
collisions:
  max-entity-collisions: 2 # Begrenzt die Kollisionsprüfungen von Mobs an einem Punkt (wichtig für Farmen)
  fix-climbing-bypassing-cramming-rule: true
entities:
  spawning:
    despawn-ranges:
      monster:
        soft: 30
        hard: 56
    per-player-mob-spawns: true # Separates Mob-Spawnlimit für jeden einzelnen Spieler

Einstellungen in der purpur.yml

settings:
  # Deaktiviert Leistungsabfälle bei der Pfadfindung von Dorfbewohnern (Villagern)
  brain-deactivation-of-villagers-src: true
  dont-send-useless-entity-packets: true
  # Optimiert Lags, die durch Projektile und Statuseffekte entstehen
  lag-compensation:
    enabled: true

Simulations- vs. Sichtdistanz (Der wichtigste Schritt)

In modernen Minecraft-Versionen (1.18+) wurden die Sichtweiteneinstellungen in der Datei server.properties in zwei unabhängige Optionen aufgeteilt:

  1. view-distance: Die Distanz, auf die ein Spieler die Landschaft sieht. Die Chunks werden an den Client gesendet, aber der Server verbraucht keine CPU-Ressourcen für die Verarbeitung aktiver Prozesse darin. Empfohlener Wert: 6 - 8.
  2. simulation-distance: Der Radius um den Spieler, in dem physikalische Prozesse stattfinden, Redstone-Schaltkreise arbeiten, Pflanzen wachsen und sich Mobs bewegen. Dies ist die Hauptursache für Server-Lags. Stellen Sie diesen Wert auf 4 oder 5. Dies senkt die CPU-Last um 40-50 % ohne visuelle Nachteile für die Spieler.

Wie überprüfe ich die Optimierungsergebnisse?

Nutzen Sie das integrierte Timings-System von Paper. Geben Sie in der Serverkonsole folgenden Befehl ein:

/timings on (warten Sie 10-15 Minuten bei stabiler Spieleraktivität), gefolgt von /timings paste.

Sie erhalten einen Link zu einem detaillierten, interaktiven Web-Report, der genau zeigt, welches System (Plugins, Entitäten, Weltgenerierung) wie viele Millisekunden der CPU-Zeit (Tick Duration) beansprucht.


Einrichtung und Konfiguration des Schutzes vor Griefing und Bot-Angriffen

Öffentliche Minecraft-Server sind täglich verschiedenen Bedrohungen ausgesetzt. Dies reicht von einfachem Griefing (Zerstörung von Bauwerken durch normale Spieler) bis hin zu professionellen Bot-Angriffen, deren Ziel es ist, die Slots mit gefälschten Verbindungen zu füllen und die Server-CPU mit Authentifizierungsanfragen zu überlasten. In diesem Leitfaden analysieren wir ein umfassendes, mehrschichtiges Schutzsystem für Ihr Projekt.

Ebene 1: Schutz der Spielwelt (Griefing-Abwehr)

Um destruktives Verhalten von Spielern zu verhindern, ist ein klassischer, bewährter Plugin-Stack erforderlich:

  • WorldGuard + WorldEdit: Ermöglicht das Erstellen von Regionen, in denen normale Spieler keine Blöcke abbauen, Truhen öffnen oder Feuerzeuge benutzen können.
  • CoreProtect: Das wichtigste Werkzeug für Administratoren. Dieses Plugin protokolliert absolut jede Aktion auf dem Server (wer hat einen Block platziert, ein Item aus einer Truhe genommen oder Lava platziert).

Im Falle von massivem Griefing müssen Sie nicht den gesamten Server zurücksetzen, was den Fortschritt unbeteiligter Spieler zerstören würde. Es reicht aus, einen gezielten Rollback-Befehl für die Aktionen eines bestimmten Spielers innerhalb eines Zeitfensters auszuführen:

/co rollback u:[Griefer_Name] t:2h r:50 (macht alle Aktionen des Spielers aus den letzten 2 Stunden in einem Radius von 50 Blöcken rückgängig).

Ebene 2: Schutz vor Bot-Angriffen und L7 DDoS

Ein Bot-Angriff simuliert den massenhaften Beitritt von Spielern. Ein Standard-Core verbraucht enorme Ressourcen für das Erstellen von Sitzungen, das Laden von Skins und das Generieren von Chunks für Hunderte von Bots pro Sekunde, was den Server schnell offline zwingt.

Technische Information: Der Basisschutz des Hostings (L3/L4 im OSI-Modell) wehrt Angriffe auf Netzwerkports ab. Er erkennt jedoch keinen Unterschied zwischen dem Paket eines echten Spielers und dem eines Bots, da beide das legitime Minecraft-Spielprotokoll (L7) nutzen. Der Schutz des Spielprotokolls muss innerhalb des Servers konfiguriert werden.

Sicherheitsumsetzung durch Anti-Bot-Plugins

Installieren Sie spezialisierte Plugins zur Filterung des Datenverkehrs, wie z. B. AntiBotDeluxe, UltimateAntibot oder die kostenlose Alternative BKCommonLib / LimboFilter. Diese arbeiten nach folgendem Prinzip:

  1. Bei einem plötzlichen Anstieg der Verbindungsrate schaltet der Server in den "Sturm-Modus" (Attack Mode).
  2. Neue Spieler werden nicht in die Hauptwelt gelassen. Das Plugin leitet sie stattdessen in eine virtuelle "Limbo-Welt" um (ein leichtgewichtiges System, das RAM und CPU nicht belastet).
  3. Der Spieler wird aufgefordert, eine einfache Verifizierung zu durchlaufen: ein bestimmtes Item im Inventar anzuklicken, sich zu bewegen oder ein Captcha einzugeben. Bot-Programme können diese benutzerdefinierten Pakete nicht verarbeiten und werden herausgefiltert.

Ebene 3: Netzwerkarchitektur (Proxy-Verbindung über Velocity / BungeeCord)

Für Großprojekte oder Server mit Skalierungsabsichten ist die Einrichtung einer Proxy-Architektur zwingend erforderlich. Anstatt direkten Zugriff auf den eigentlichen Spielserver (z. B. Survival) zu gewähren, schalten Sie einen Proxy-Server wie Velocity (empfohlen) oder BungeeCord vor.

Netzwerk-Komponente Rolle beim Serverschutz
Proxy (Velocity) Fängt die Hauptlast des Angriffs ab. Verbirgt die echten IP-Adressen der Backend-Spielserver und filtert Authentifizierungspakete.
Hauptserver (Survival/Hub) Befindet sich hinter einer geschlossenen Firewall des Hostings. Akzeptiert Verbindungen NUR von der lokalen IP-Adresse des Proxys und ist somit vollständig vor externen Zugriffen geschützt.

Um eine sichere Verbindung einzurichten, müssen Sie in der Datei server.properties des Ziel-Spielservers den Parameter online-mode=false setzen, aktivieren Sie jedoch in der Datei paper-world-defaults.yml die moderne Header-Weiterleitung:

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "Ihr_Geheimschlüssel_aus_der_Velocity_Konfiguration"

Dies blockiert böswillige Nutzer komplett daran, den Proxy zu umgehen und sich unter den Namen von Administratoren auf Ihrem Server einzuloggen.

Ähnliche Artikel

Migration von Minecraft-Plugins vom lokalen Speicher (SQLite/Flatfile) auf MySQL/MariaDB

Ein technischer Leitfaden zur Migration von Minecraft-Server-Plugins aus performance-kritischen Flatfiles und SQLite-Datenbanken auf netzwerkbasierte MySQL/MariaDB-Systeme.

Weiterlesen

Optimierung von schweren Modded-Servern (Forge / NeoForge / Fabric)

Ein technischer Leitfaden zur Optimierung von schwer beladenen Minecraft-Servern mit Modifikationen. Behandelt wichtige Performance-Mods, Spark-Diagnose und Automatisierungs-Lags.

Weiterlesen

Welt-Pregeneration mit Chunky: Flug-Lags auf dem Server für immer beheben

Ein technischer Leitfaden zur Vorgenerierung von Minecraft-Welten mit dem Chunky-Plugin. Erfahren Sie, wie Sie TPS-Einbrüche durch schnell fliegende Spieler verhindern.

Weiterlesen