Folia
Czym jest Folia?
Folia to eksperymentalny fork PaperMC wprowadzający wielowątkowe przetwarzanie regionów (regionised multithreading). W tradycyjnym Minecraft cały świat jest przetwarzany w jednym wątku - niezależnie od tego, ile rdzeni procesora ma serwer. Folia lamie te fundamentalna zasadę, rozdzielajac świat na niezależne regiony, które sa przetwarzane rownolegle na różnych watkach.
Nazwa "Folia" pochodzi od lacinskiego słowa oznaczajacego "liscie" - nawiązanie do rozgalezionej struktury, w której każdy region świata jest jak osobny liść na drzewie przetwarzania. Projekt został ogłoszony przez zespół PaperMC w marcu 2023 roku jako odpowiedz na fundamentalne ograniczenie wydajnościowe Minecrafta: jednowatkowoscia.
W praktyce Folia dzieli świat na regiony o wymiarach kilku chunkow. Każdy region jest tickowany niezależnie, co oznacza, ze aktywność w jednej części świata nie powoduje lagow w innej. Serwer z 16-rdzeniowym procesorem może teoretycznie przetworzyć wielokrotnie więcej operacji na tick niż tradycyjny serwer Paper.
Kiedy Folia ma sens?
Folia jest zaprojektowana dla bardzo specyficznych zastosowaniu:
- Duże serwery z rozproszonymi graczami - 100+ graczy rozrzuconych po różnych częściach świata. Folia błyszczy, gdy gracze sa daleko od siebie
- Serwery z ogromnymi światami - otwarte survival z mapa 50,000+ bloków, gdzie wiele regionów jest aktywnych jednocześnie
- Serwery z mocnym sprzętem wielordzeniowym - Folia potrzebuje wielu rdzeni CPU. Serwer z 2-4 rdzeniami nie odniesie korzyści
Folia nie jest odpowiednia dla:
- Małych serwerów - poniżej 50 graczy Paper z optymalizacja jest wystarczający
- Serwerów z graczami skupionymi w jednym miejscu - np. event server, arena PvP, hub/lobby. Jeśli wszyscy sa blisko siebie, wszystko trafia do jednego regionu i jednego wątku
- Serwerów wymagających wielu pluginów - większość pluginów nie jest kompatybilna z Folia
Ograniczenia i kompatybilność
Zalety Folia
- Wykorzystanie wielu rdzeni CPU jednocześnie
- Lepszy TPS przy dużej, rozproszonej populacji graczy
- Znacznie mniejszy wpływ odległych farm/aktywnosci na cały serwer
- Przyszłość serwerów Minecraft (Paper planuje integracje elementów Folia)
Ograniczenia
- Większość pluginów Bukkit/Spigot/Paper NIE działa na Folia
- Pluginy musza być specjalnie napisane lub zportowane na Folia API
- Teleportacja miedzy regionami może powodować kroty lag spike
- Niektorze mechaniki vanilla mogą działać inaczej (np. redstone na granicy regionów)
- Trudniejsze debugowanie i administracja
- Projekt wciąż w fazie eksperymentalnej
Instalacja Folia
- Pobierz Folia - buildy dostępne na papermc.io/downloads/folia.
- Uruchom jak Paper -
java -Xmx8G -Xms4G -jar folia-1.21.5-*.jar - nogui
Folia wymaga więcej RAM niż Paper ze względu na wielowątkowe przetwarzanie. - Zaakceptuj EULA - edytuj
eula.txt, zmień naeula=true. - Dodaj pluginy kompatybilne z Folia - sprawdź na Hangar lub Modrinth, czy plugin ma oznaczenie "Folia support". Nie instaluj pluginów bez takiego oznaczenia.
Lista pluginów oficjalnie wspierających Folia jest wciąż stosunkowo krotka, ale rosnie. Kluczowe pluginy jak LuckPerms, ViaVersion, TAB i Geyser już wspierają Folia. Brakuje jednak wielu popularnych pluginów jak EssentialsX czy WorldGuard w wersjach Folia-ready.