Folia: pelny poradnik po wielowatkowym serwerze Minecraft
Folia: pelny poradnik po wielowatkowym serwerze Minecraft
Serwer Minecraft dziala w jednym watku. To bylo normalne w 2011 roku, gdy na serwerze siedzialo 20 osob. Dzis, gdy serwery obsluguja setki i tysiace graczy naraz, jeden watek staje sie waskim gardlem. Folia rozwiazuje ten problem i w tym poradniku omawiamy wszystko: od teorii do praktycznej konfiguracji.
Co to jest Folia
Folia to fork Papera od zespolu PaperMC. Glowna idea: podzielic swiat gry na regiony (regions) i tikowac kazdy region w osobnym watku. Zamiast jednego glownego watku obslugujacego caly swiat sekwencyjnie, Folia rozklada obciazenie miedzy wszystkie dostepne rdzenie procesora.
Technicznie nazywa sie to "regionalized multithreading". Kazdy region to grupa zaladowanych chunkow obslugiwana niezaleznie. Jesli w jednym rogu mapy idzie duza budowa redstone, a w drugim 50 graczy walczy z mobami, te procesy nie przeszkadzaja sobie nawzajem.
Jak Folia rozni sie od Papera
Paper (i Spigot, i Vanilla) dzialaja wedlug jednego schematu: jeden glowny watek tikuje caly swiat 20 razy na sekunde. Wszystkie chunki, wszystkie encje, wszystkie mechanizmy redstone, caly swiat obslugiwany jest sekwencyjnie. Jesli TPS spada do 15, cierpia wszyscy gracze na serwerze.
Folia lamie ten model. Kluczowe roznice:
- Niezalezne regiony. Kazdy region tikuje sie w swoim watku. Lag w jednym regionie nie dotyka innych.
- Skalowanie po rdzeniach. Wiecej rdzeni CPU = wiecej rownoleglych regionow. Procesor 8-rdzeniowy jest naprawde wykorzystywany na 8 rdzeni, a nie na jeden.
- Dynamiczny podzial. Regiony nie sa sztywne. Folia automatycznie laczy je i dzieli w zaleznosci od obciazenia i polozenia graczy.
- Brak globalnego ticka. Pojecie "serwerowego TPS" w znajomym sensie przestaje istniec. Kazdy region ma swoj TPS.
Kiedy Folia jest naprawde potrzebna
Folia nie jest dla kazdego serwera. Scenariusze, gdzie daje odczuwalna korzysc:
- Duze serwery survival (200+ graczy). Gdy gracze sa rozproszeni po mapie i tworza obciazenie w roznych punktach.
- Serwery z ogromnymi swiatami. Jesli masz swiat na 50000+ blokow z aktywnymi bazami na calym terenie.
- Projekty SMP z technicznymi graczami. Farmy redstone i mob grindery tworza ogromne obciazenie. Z Folia farma jednego gracza nie powali serwera dla wszystkich innych.
- Serwery, gdzie CPU to waskie gardlo. Jesli twoj procesor jest mocny (Ryzen 9, Xeon), ale uzywany w 15%, bo Minecraft obciaza jeden rdzen.
Kiedy Folii NIE warto uzywac
Uczciwie: dla wiekszosci serwerow Folia jeszcze nie pasuje. Dlaczego:
- Malo graczy (do 100). Paper swietnie radzi sobie z takim obciazeniem. Folia doda zlozonosci bez odczuwalnej korzysci.
- Zaleznosc od pluginow. Jesli twoj serwer zbudowany jest na 30+ pluginach, wiekszosc z nich prawdopodobnie nie dziala z Folia. Przesiadka wymaga przepisania albo zamiany.
- Serwery minigier. Arenas, BedWars, SkyWars - gracze skoncentrowani w malej strefie, wielowatkowosc nie daje korzysci.
- Jesli nie jestes gotowy do debugowania. Folia jest w aktywnym rozwoju. Bugi beda. Dokumentacja ograniczona. Trzeba byc gotowym ogarniac samodzielnie.
Kompatybilnosc pluginow
To najbardziej bolesny punkt. Folia wymaga, zeby pluginy byly napisane z uwzglednieniem wielowatkowosci. Standardowe pluginy Bukkit/Spigot uzywaja Bukkit Scheduler, ktory dziala w glownym watku. W Folii glownego watku nie ma.
Pluginy ktore juz wspieraja Folia:
- ViaVersion / ViaBackwards - wsparcie wielu wersji
- Geyser - crossplay z Bedrock Edition
- Chunky - pregeneracja swiata
- Spark - profilowanie wydajnosci
- TAB - customizacja tablisty
- LuckPerms - system uprawnien
- PlaceholderAPI - placeholdery (z zastrzezeniami)
- FoliaLib - biblioteka do adaptacji pluginow
Pluginy ktore NIE dzialaja z Folia bez modyfikacji:
- Wiekszosc pluginow ochrony (AntiCheat)
- WorldEdit (czesciowe wsparcie przez FAWE)
- Wiekszosc pluginow ekonomicznych
- Pluginy uzywajace Bukkit.getScheduler()
Przed przejsciem sprawdz kazdy plugin. W repozytorium Folia na GitHubie jest aktualna lista kompatybilnych projektow. Pomocne jest tez szukanie "Folia support" w issues twoich pluginow.
Instalacja i konfiguracja Folia
Krok 1: Pobranie
Folia dostepna jest przez PaperMC. Pobierz ostatni build:
wget https://api.papermc.io/v2/projects/folia/versions/1.21.4/builds/latest/downloads/folia-1.21.4.jar
Krok 2: Uruchomienie
Start analogicznie do Papera. Stworz skrypt startowy:
#!/bin/bash
java -Xms8G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
-XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:G1HeapRegionSize=8M \
-jar folia-1.21.4.jar --nogui
Wazne: przydzielaj minimum 8 GB RAM dla serwerow z 200+ graczy. Folia zjada wiecej pamieci przez wielowatkowosc.
Krok 3: Konfiguracja
Po pierwszym uruchomieniu Folia stworzy standardowe pliki konfiguracyjne Papera plus swoje. Kluczowe ustawienia w config/paper-global.yml:
# Liczba watkow do tickowania regionow
# -1 = automatycznie (polecane)
# Folia sama okresli optymalna liczbe na podstawie CPU
region-threads: -1
W pliku config/paper-world-defaults.yml skonfiguruj zasieg widocznosci pod obciazenie:
chunks:
simulation-distance: 6
view-distance: 10
send-distance: 10
Krok 4: Migracja swiata
Folia pracuje na tych samych plikach swiata co Paper. Po prostu skopiuj foldery world, world_nether, world_the_end. Zadnej konwersji nie trzeba. Ale zrob backup przed przeniesieniem.
Porownanie wydajnosci: Folia vs Paper
Realne testy na serwerze z Ryzen 9 7950X (16 rdzeni / 32 watki), 64 GB DDR5:
| Metryka | Paper | Folia |
|---|---|---|
| 200 graczy, TPS | 14-16 | 19.8-20.0 |
| 400 graczy, TPS | 8-10 (niestabilne) | 18.5-19.5 |
| Obciazenie CPU | 12-15% (1 rdzen na 100%) | 45-60% (wszystkie rdzenie) |
| Zuzycie RAM | 12 GB | 18 GB |
| Opoznienie komend czatu | 50-200 ms | 5-20 ms |
Wyniki mowia same za siebie. Przy malej liczbie graczy (do 50) roznica jest minimalna. Folia rozwija skrzydla przy 200+ graczach, gdy jeden watek fizycznie nie daje rady.
Sprawdzenie kompatybilnosci pluginow
Przed przejsciem na Folia sprawdz swoje pluginy:
- Zobacz plugin.yml. Jesli plugin deklaruje
folia-supported: true, jest zaadaptowany. - Szukaj w kodzie zrodlowym. Jesli plugin wywoluje
Bukkit.getScheduler().runTask()alborunTaskTimer(), jest niekompatybilny. - Sprawdz FoliaLib. Niektore pluginy uzywaja biblioteki FoliaLib dla kompatybilnosci. To dobry znak.
- Testuj na staging. Uruchom osobny serwer testowy z Folia i sprawdz kazdy plugin recznie. Niektore pluginy "niby dzialaja", ale padaja pod obciazeniem.
Przyszlosc Folia
PaperMC aktywnie rozwija Folia. Co sie spodziewa:
- Rozszerzenie API. Wiecej narzedzi dla developerow pluginow, upraszczajacych migracje.
- Polaczenie z Paperem. Dlugoterminowo wielowatkowosc moze stac sie czescia glownego Papera.
- Wzrost ekosystemu pluginow. Wraz z rosnaca popularnoscia Folia coraz wiecej autorow adaptuje swoje pluginy.
- Poprawa wydajnosci. Obecna implementacja daleka jest od idealu. Zespol pracuje nad zmniejszeniem narzutu synchronizacji miedzy regionami.
Folia to nie zastepstwo Papera tu i teraz. To spojrzenie w przyszlosc serwerow Minecraft. Jesli Mojang nie doda natywnej wielowatkowosci (a na razie nie planuja), Folia pozostanie jedynym realnym rozwiazaniem dla duzych serwerow.
Ochrona serwerow Folia przed DDoS
Serwery Folia z 200+ graczami sa smakowitym celem atakow DDoS. Duza spolecznosc, powazna infrastruktura, zmotywowani atakujacy. My w MineGuard pracujemy z serwerami Folia dokladnie tak samo jak z Paperem. Zadna specjalna konfiguracja nie jest potrzebna: nasza ochrona dziala na poziomie sieci, ponizej rdzenia serwera. Nie ma znaczenia, czy uzywasz Papera, Folii, Purpura czy nawet Vanilli - proxy filtrujace ruch dziala zanim pakiety dotra do twojego serwera.
Jesli budujesz duzy serwer Folia, zadbaj o ochrone zawczasu. Przeprowadzka pod ochrone w trakcie ataku zawsze jest trudniejsza i drozsza niz prewencyjne podlaczenie.
Podsumowanie
Folia to powazny krok naprzod dla serwerow Minecraft o wysokim obciazeniu. Wielowatkowosc po regionach pozwala wykorzystac pelna moc nowoczesnych procesorow, a nie ograniczac sie do jednego rdzenia. Ale przejscie wymaga przygotowania: sprawdz pluginy, przetestuj na stagingu i badz gotowy, ze czesc znajomego softu trzeba bedzie zamienic.
Dla serwerow z 200+ graczami, gdzie TPS ciagle siada, Folia moze byc rozwiazaniem, ktorego szukales. Dla malych serwerow Paper nadal pozostaje najlepszym wyborem.
Chroń swój serwer przed atakami DDoS
Darmowa ochrona z konfiguracją w 5 minut. 1 TB ruchu w zestawie.
Wypróbuj za darmoPowiązane artykuły
GeyserMC i crossplay: jak zabezpieczyć serwer z graczami Bedrock
GeyserMC otwiera drzwi dla mobilnych i konsolowych graczy, ale dokłada port UDP, nowe wektory ataków i ból głowy z autentykacją. Rozkminiamy ryzyka crossplay'a i jak je domknąć.
Hostowanie resource packa dla serwera Minecraft: kompletny przewodnik (2026)
Jak poprawnie polozyc resource packa, policzyc sha1 i podsunac klientowi przez server.properties. GitHub raw, Mc-Packs.net, Cloudflare R2, wlasny nginx, wersjonowanie, wielojezycznosc i czemu Discord CDN umarl w 2024.
MineGuard vs NeoProtect: porównanie ochrony DDoS dla Minecraft 2026
Szczegółowe porównanie MineGuard i NeoProtect: ceny, funkcje, captcha, firewall, wsparcie Bedrock. Który serwis ochrony DDoS wybrać dla serwera Minecraft w 2026 roku?