
Folia: Bölgesel Çoklu İşleme Sunucunuzu Nasıl Dönüştürüyor
Folia (PaperMC/Folia)
Ayrılmış sunucuya bölgesel çoklu işleme ekleyen Paper'ın çatalı.
Büyük bir Minecraft sunucusu işletiyorsanız ve birisi yeni bölümler keşfettiğinde veya maksimum oyuncu sayısına ulaştığınızda TPS'niz düştüğünü izliyorsanız, Folia aradığınız cevap olabilir. Bu Paper tabanlı çatal, Minecraft sunucularının dünyayı bağımsız bölgelere bölerek hesaplamayı tamamen yeniden hayal eder, her biri kendi iş parçacığında çalışır. Bir ana iş parçacığı her şeyi takip etmeye çalışmak yerine, Folia, CPU çekirdeklerinizin gerçekten paralel çalışmasını sağlar.
Folia Nedir
Folia bir mod değildir. Bir eklenti de değildir. Ana iş parçacığı kavramını tamamen ortadan kaldıran Paper sunucusunun baştan sona yazılmış halidir. Bunun yerine, yakın bloklar "bölgeler"e gruplanır ve her bölge havuzda kendi tick döngüsünü çalıştırır. Bunu, bir iş parçacığını her şeyi yönetmek zorunda bırakmak yerine, dünyanızın farklı bölümlerine kendi bağımsız işlemciyi vermiş olmak olarak düşünün.
Mimari önemlidir çünkü sunucunuzun nasıl ölçeklendiğini değiştirir.
Paper, milyonlarca oyuncusu olan sunucuları tek iş parçacıklı tasarımı içinde iyi yönetir, ancak ölçeğin sonraki seviyesine geldiğinizde (yüzlerce oyuncu geniş bir dünyaya yayıldığında), darboğazlar ortaya çıkar. Folia, tek bir iş parçacığından daha fazla almaya çalışmaz. Bunun yerine, sorunu temelden değiştirir.
Buna Neden İhtiyaç Duyarsınız
Geniş yayılmış sunucular en çok yararlanır. Oyuncuların boyutlar arasında dağılmış yüzen adaları olan Skyblock ağları, devasa hayatta kalma dünyaları, dağılmış zindanları olan özel RPG sunucuları - Folia'nın parlak olduğu yerler burasıdır. Oyuncularınız bir spawn alanında kümelenmişse, aynı performans kazançlarını görmezsiniz. Ancak insanların farklı alanlarda keşif yaptığı 200+ oyunculu bir SMP için, fark önemlidir.
Başlangıçta söylemeliyim: bu bir plug-and-play değiştirici değildir.
Eklentilerinizin Folia'nın çoklu işlemli ortamı için yeniden yazılması gerekir. Bu gerçek maliyettir. Ancak ölçeğin bu seviyesine bakıyorsanız, eklenti ekosisteminiz muhtemelen özel olacaktır. Ana iş parçacığını varsaymayan standart Paper eklentileri Folia altında hemen kırılacaktır.
Ancak ödül gerçektir. Uygun yapılandırma ile, CPU çekirdek sayınızla ölçeklenen gerçek performans iyileştirmelerine bakıyorsunuz. Bu, standart Paper'da elde edilebilir değildir.
Kurulum ve Temel Kurulum
İlk olarak, PaperMC indirme sayfasından en son yapıyı alın. 2026 itibarıyla, Folia modern Minecraft sürümlerini destekler (1.20.4 ve sonrası). Jar dosyasını sunucu dizininize indirin:
<! - 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 - >
Ardından, eula.txt dosyasında EULA'yı kabul etmeniz gerekir. Yapılandırma dosyalarını oluşturmak için sunucuyu bir kez başlatın:
<! - gh-code-start - >java -Xmx30G -Xms30G -jar folia.jar nogui<! - gh-code-end - >
Bunu durdurun (folia.yml config oluşturacaktır), ardından gerçek işe başlayın: iş parçacığı yapılandırması. Bu sadece "daha fazla iş parçacığı ayarla ve git" değildir. PaperMC belgeleri, üretim ortamına geçmeden önce dünyanızı önceden oluşturmayı tavsiye eder, bu da bölüm yükleme yükünü önemli ölçüde azaltır.
İş Parçacığı Yapılandırması: Gerçek Zorluk
Burası çoğu insanın kafasının karıştığı yerdir. Sizin folia.yml dosyasında bir `threaded-regions.threads` ayarı vardır. Bunu maksimuma çıkarmayın. Proje tarafından kendisi tarafından yayınlanan kılavuz: netty IO için iş parçacıkları ayırın (200-300 oyuncu başına yaklaşık 4), bölüm sistemi IO iş parçacıkları (200-300 oyuncu başına yaklaşık 3), önceden oluşturulmuş ise bölüm sistemi işçileri (200-300 oyuncu başına yaklaşık 2) ve ardından kalan çekirdekleri toplam ayırma için yüzde 80'e kadar kullanın tick iş parçacıkları.
500 oyuncuya hizmet veren 32 çekirdekli bir makinede, kabaca şunları ayıracaksınız:
- Netty IO: 8 iş parçacığı
- Bölüm sistemi IO: 6 iş parçacığı
- Bölüm sistemi işçileri: 4 iş parçacığı
- Tick iş parçacıkları: kalan çekirdekler yüzde 80'e kadar (yaklaşık 10 iş parçacığı)
Yüzde 100 ayırmayı bırakmayın çünkü eklentiler ve beklenmeyen arka plan görevleri kendi iş parçacıklarını oluşturacak ve sunucuyu kıracaktır. Yüzde 80 tavanı, gerçekten önemli olan bir güvenlik sınırıdır.
Yine de, bu bir başlangıç noktasıdır. Yük altında gerçek iş parçacığı kullanımını izleyin ve ayarlayın. folia.yml dosyası her seçenek için ayrıntılı açıklamalar içerir.
Çalışan Temel Özellikler
Bölge izolasyonu. Her bölge 20 TPS'de bağımsız olarak tick atılır. Bir bölgedeki lag dalgalanması diğerlerine yayılmaz. Zindanınız sistem zayıfsa, spawn alanınızın performansını çökmeyecektir.
Uygun iş parçacığı ölçeklemesi. Paper'ın eklenti-threadpool yaklaşımından farklı olarak (hala tick-kritik işlemlerde darboğaz oluşturur), Folia'nın bölgeleri tick mantığı paralel olarak çalıştırır. Daha fazla çekirdek gerçekten daha fazla tick işlemeye çevrilir. Ölçekleme doğrusal değildir, ancak gerçektir.
Eşzamansız bölüm yükleme. Bölüm G/Ç bölge iş parçacıklarının dışında gerçekleşir. Tek iş parçacıklı sunucuların depolama okumalarının arttığı durumlarda yaşadığı rastgele donmalar yaşamayacaksınız.
Ayrıca sunucu tarafı bölüm optimizasyonu, önceden oluşturulmuş bölüm önbelleğe alma ve bölge başına yapılandırılabilir bellek sınırları için yerel destek vardır. Dürüst olmak gerekirse, belgeleri incelemeye istekliyseniz özellik derinliği etkileyicidir.
Kırılacak ve Bununla Nasıl Başa Çıkılacak
Çoğu eklenti ana iş parçacığında olduklarını ve eşitlemeden dünya durumunu güvenle okuyup yazabileceklerini varsayar. Folia'da yanılıyorlar. Bir eklenti "X bloğu taş mı kontrol et, sonra havaya ayarla" gibi bir şey yapıyorsa, bu yarış durumu Paper'da hiç olmayacağı şekilde iş parçacıkları arasında gerçekleşebilir. Eklenti başarısızlıklarını bekleyin.
Bazı özel durumlar:
- Bölgeler arasında ışınlanma ek karmaşıklık içerir ve eklentiler dikkatli değilse kilitlenmelere neden olabilir
- Dünya sınırı kontrolleri bölge farkına sahiptir ve beklediğinizden farklı davranabilir
- Zamanlayıcılar ve planlanan görevler, bozulmayı önlemek için bölge-güvenli olması gerekir
- Bölge sınırları arasında varlık izlemesi, eklenti güncellemeleri gerektirir
Folia belgeleri uyumsuz desenleri açıkça listelemiştir. Eklentileri uyumluluk açısından değerlendiriyorsanız, tick mantığını doğrudan manipüle edip etmediklerini veya bölüm verilerine tek iş parçacıklı erişim varsayıp varsaymadıklarını kontrol edin.
Folia Ne Zaman Mantıklı Olur
16+ çekirdekli bir makineniz var. Sunucunuz düzenli olarak 200+ eşzamanlı oyuncuya ulaşacak. Oyuncularınız coğrafi olarak dağılmış (hepsi spawn'da değil). Özel eklenti altyapınız var veya mevcut eklentileri taşımaya istekliysiniz.
Bu dört koşul? Sizinle aday var.
Bir VPS'de 8 çekirdekle 50 oyuncu mu işletiyorsunuz? Paper'ı saklayın. Kazançlar uyumluluğun rahatsızlığını haklı çıkarmayacaktır. 200 oyuncu SMP'sini işletiyorsunuz, burada herkes spawn'da mı kalıyor? Folia yardımcı olur, ancak yayılmış bir sunucuda olduğu kadar dramatik değildir.
Ancak ciddi çok oyunculu Minecraft topluluklarının bir sonraki kuşağını inşa ediyorsanız, Folia, performans tavanının gerçekten daha yüksek olduğu yerdir. adderall_abuser gibi oyuncuların derileri, ironmouse ve diğer muazzam sunuculardaki aktif topluluk üyeleri, bu alanı zaten keşfediyorlar. Modrinth'teki akış topluluklarını ve büyük hayatta kalma projelerini kontrol edin - Folia daha sık görünüyor.
Dikkate Alınması Gereken Alternatifler
Paper. Çoğu sunucu için hala altın standart. Kararlı, iyi anlaşılan, muazzam eklenti ekosistemi. Folia aşırı gelmişse, Paper'ın optimizasyon özellikleri (eşzamansız bölüm yükleme, azaltılmış varlık AI tikleri, vb.) yeterli olabilir.
Purpur. Ek oyuncu başına optimizasyonları olan Paper çatalı. Oyuncu deneyimi çok değişken olan sunucular için daha iyi (bazıları AFK, bazıları aktif olarak keşfediyor). Folia'dan daha az mimari değişim, daha hedefli performans kazançları.
Fabric Server. Mod desteğine ihtiyacınız varsa (eklentiler değil), Fabric ekosistemi sunucular için aslında oldukça sağlamdır. Aynı şekilde çoklu işlemli değildir, ancak hafif ve hızlıdır.
Dürüst gerçek: Folia uzmanlaştırılmıştır. Belirli bir ölçekte belirli bir sorundur. Başka herkes için, düşünceli yapılandırma ile Paper hala doğru seçimdir.
<! - gh-polish-start - > <! - gh-polish-end - >

