
Folia: Wie regionalisiertes Multithreading deinen Server tra
Folia (PaperMC/Folia)
Ein Fork von Paper, der regionalisiertes Multithreading auf den Dedicated Server anwendet.
Wenn du einen großen Minecraft-Server betreibst und deine TPS einbrechen siehst, sobald jemand neue Chunks erkundet oder du Spitzenwerte bei der Spieleranzahl erreichst, könnte Folia die Antwort sein, die du schon lange suchst. Dieser auf Paper basierende Fork stellt völlig neu vor, wie Minecraft-Server Berechnungen handhaben, indem die Welt in unabhängige Regionen aufgeteilt wird, von denen jede auf ihrem eigenen Thread läuft. Anstatt dass ein Hauptthread mit allem auf einmal kämpft, ermöglicht Folia deinen CPU-Kernen, tatsächlich parallel zu arbeiten.
Was Folia ist
Folia ist kein Mod. Es ist kein Plugin. Es ist eine völlig neue Umschreibung des Paper-Servers, die das Konzept eines Hauptthreads vollständig entfernt. Stattdessen werden nahegelegene Chunks in "Regionen" gruppiert, und jede Region führt ihre eigene Tick-Schleife im Thread-Pool aus. Stell dir vor, dass verschiedene Teile deiner Welt ihren eigenen unabhängigen Prozessor bekommen, anstatt dass ein Thread alles verwalten muss.
Die Architektur ist wichtig, weil sie ändert, wie dein Server skaliert.
Paper handhabt Server mit Millionen von Spielern gut innerhalb seines Single-Threaded-Designs, aber sobald du in die nächste Skalierungsstufe kommst - Hunderte von Spielern, die über eine riesige Welt verteilt sind - entstehen Engpässe. Folia versucht nicht, mehr aus einem einzigen Thread herauszupressen. Stattdessen ändert es das Grundproblem.
Warum du das brauchst
Große, verteilte Server profitieren am meisten. Skyblock-Netzwerke, bei denen Spieler auf schwebenden Inseln verteilt sind, massive Survival-Welten, benutzerdefinierte RPG-Server mit verteilten Dungeons - hier glänzt Folia. Wenn deine Spieler alle in einem Spawn-Bereich clustern, wirst du nicht die gleichen Performance-Gewinne sehen. Aber für einen 200+ Spieler SMP, bei dem Leute in verschiedenen Quadranten erkunden, ist der Unterschied erheblich.
Ich sollte vorweg sagen: Das ist kein Plug-and-Play-Ersatz.
Deine Plugins müssen für Folias Multi-Threading-Umgebung umgeschrieben werden. Das sind die echten Kosten. Aber wenn du in einem Maßstab bist, bei dem du das in Betracht ziehst, ist dein Plugin-Ökosystem wahrscheinlich sowieso custom. Standard-Paper-Plugins, die keinen Hauptthread annehmen, werden unter Folia sofort kaputt gehen.
Die Auszahlung ist aber echte. Mit richtiger Konfiguration bekommst du echte Performance-Verbesserungen, die mit deiner CPU-Kernanzahl skalieren. Das ist auf Standard-Paper nicht erreichbar.
Installation und grundlegende Einrichtung
Zuerst, hole dir den neuesten Build von der PaperMC-Downloads-Seite. Ab 2026 unterstützt Folia moderne Minecraft-Versionen (1.20.4 und später). Lade die JAR-Datei in dein Server-Verzeichnis:
<! - gh-code-start - >wget https://api.papermc.io/v2/projects/folia/versions/latest/builds/latest/downloads/folia-latest.jar
mv folia-latest.jar folia.jar<! - gh-code-end - >
Akzeptiere dann die EULA in deiner eula.txt-Datei. Starte den Server einmal, um deine Konfigurationsdateien zu generieren:
<! - gh-code-start - >java -Xmx30G -Xms30G -jar folia.jar nogui<! - gh-code-end - >
Stoppe ihn (er erstellt die folia.yml-Konfiguration), dann kommt die echte Arbeit: Thread-Konfiguration. Das ist nicht einfach "stelle mehr Threads ein und fertig". Die PaperMC-Dokumentation empfiehlt, deine Welt vor der Produktionsversion vorzuerzeugen, was den Chunk-Lade-Overhead erheblich reduziert.
Thread-Konfiguration: Die echte Herausforderung
Hier geraten die meisten Menschen durcheinander. Deine folia.yml hat eine `threaded-regions.threads`-Einstellung. Maximiere sie nicht einfach. Die Richtlinie des Projekts selbst: Verteile Threads für Netty IO (etwa 4 pro 200-300 Spieler), Chunk-System IO-Threads (etwa 3 pro 200-300 Spieler), Chunk-System-Worker, wenn vorgeneriert (etwa 2 pro 200-300 Spieler), und nutze dann die verbleibenden Kerne bis zu 80% Gesamtverteilung für Tick-Threads.
Auf einer Maschine mit 32 Kernen, die 500 Spieler bedient, würdest du ungefähr verteilen:
- Netty IO: 8 Threads
- Chunk-System IO: 6 Threads
- Chunk-System-Worker: 4 Threads
- Tick-Threads: Verbleibende Kerne bis zu 80% (etwa 10 Threads)
Du lässt nicht 100% Auslastung, weil Plugins und unerwartete Hintergrund-Tasks ihre eigenen Threads spawnen und den Server zum Absturz bringen können. Die 80%-Obergrenze ist eine Sicherheitsgrenze, die wirklich zählt.
Selbst dann ist das nur ein Startpunkt. Überwache deine tatsächliche Thread-Nutzung unter Last und passe an. Die folia.yml-Datei hat detaillierte Kommentare für jede Option.
Wichtige Features, die funktionieren
Region-Isolation. Jede Region tickt unabhängig mit 20 TPS. Ein Lag-Spike in einer Region kaskadierten nicht zu anderen. Wenn dein Dungeon-System schlecht optimiert ist, wird es nicht deine Spawn-Area-Performance ruinieren.
Richtige Thread-Skalierung. Anders als Papers Plugin-Threadpool-Ansatz (der immer noch auf Tick-kritischen Operationen bottleneckt), führen Folias Regionen Tick-Logik parallel aus. Mehr Kerne bedeuten tatsächlich mehr Tick-Verarbeitung. Die Skalierung ist nicht linear, aber sie ist real.
Asynchrones Chunk-Laden. Chunk-E/A erfolgt außerhalb der Regions-Threads. Du wirst nicht die zufälligen Freezes bekommen, die Single-Threaded-Server erfahren, wenn Storage-Reads spitzen.
Es gibt auch native Unterstützung für serverseitige Chunk-Optimierung, vorproduziertes Chunk-Caching und konfigurierbare Speicherlimits pro Region. Ehrlich gesagt ist die Feature-Tiefe beeindruckend, wenn du bereit bist, dich in die Dokumentation zu vertiefen.
Was kaputtgeht und wie man es handhabt
Die meisten Plugins gehen davon aus, dass sie auf einem Hauptthread sind und dass sie Welt-State sicher lesen/schreiben können, ohne Synchronisation. Sie liegen auf Folia falsch. Wenn ein Plugin etwas wie "überprüfe ob Block X Stein ist, setz ihn dann auf Luft" macht, könnte diese Race Condition über Threads in einer Art und Weise passieren, wie sie auf Paper nie würde. Erwarte Plugin-Fehler.
Ein paar Spezifika:
- Teleportation zwischen Regionen beinhaltet zusätzliche Komplexität und kann Deadlocks verursachen, wenn Plugins nicht sorgfältig sind
- World-Border-Checks sind regions-bewusst und könnten sich anders verhalten als erwartet
- Timer und geplante Tasks müssen regions-sicher sein, um Korruption zu vermeiden
- Entity-Verfolgung über Regionsgrenzen hinweg erfordert Plugin-Updates
Die Folia-Docs listen inkompatible Muster explizit auf. Wenn du Plugins auf Kompatibilität evaluierst, überprüfe, ob sie direkt Tick-Logik manipulieren oder Single-Threaded-Zugriff auf Chunk-Daten annehmen.
Wann Folia Sinn macht
Du hast eine 16+ Kern-Maschine. Dein Server wird regelmäßig 200+ gleichzeitige Spieler treffen. Deine Spieler sind geografisch verteilt (nicht alle beim Spawn). Du hast entweder eine benutzerdefinierte Plugin-Infrastruktur oder du bist bereit, existierende Plugins anzupassen.
Diese vier Bedingungen? Du bist ein Kandidat.
Du betreibst 50 Spieler auf einem VPS mit 8 Kernen? Bleib bei Paper. Die Gewinne rechtfertigen nicht die Kompatibilitäts-Kopfschmerzen. Du betreibst einen 100-Spieler SMP, bei dem alle beim Spawn rumhängen? Folia hilft, aber nicht so dramatisch, wie es auf einem verteilten Server würde.
Aber wenn du die nächste Generation seriöser Multiplayer-Minecraft-Communities aufbaust, ist Folia dort, wo die Performance-Obergrenze wirklich höher ist. Die Spieler bei Skins wie adderall_abuser's, ironmouse's, und anderen aktiven Community-Membern auf großen Servern erkunden bereits diesen Raum. Schau dir Streaming-Communities und große Survival-Projekte auf Modrinth an - du wirst Folia immer häufiger sehen.
Alternativen zum Überdenken
Paper. Immer noch der Goldstandard für die meisten Server. Stabil, gut verständlich, riesiges Plugin-Ökosystem. Wenn Folia sich übertrieben anfühlt, könnten Papers Optimierungsfeatures (asynchrones Chunk-Laden, reduzierte Entity-AI-Ticks, usw.) ausreichend sein.
Purpur. Ein Paper-Fork mit zusätzlichen Pro-Spieler-Optimierungen. Besser für Server, bei denen Spieler-Erfahrung stark variiert (manche AFK, manche aktiv erkundend). Weniger Architektur-Veränderung als Folia, gezieltere Performance-Gewinne.
Fabric Server. Wenn du Mod-Unterstützung (nicht Plugins) brauchst, ist das Fabric-Ökosystem tatsächlich ziemlich solide für Server jetzt. Nicht multithreaded auf die gleiche Weise, aber lightweight und schnell.
Die ehrliche Wahrheit: Folia ist spezialisiert. Es ist für ein spezifisches Problem in einem spezifischen Maßstab. Für alle anderen ist Paper mit überlegter Konfiguration immer noch die richtige Wahl.
<! - gh-polish-start - > <! - gh-polish-end - >

