Minecraft sunucusu için gereken RAM miktarı 8 GB’dan başlar ve oyuncu sayısı, sunucu türü ve mod/eklenti yüküne göre 32 GB’a kadar çıkar. Aşağıdaki tablo, doğrudan kullanabileceğiniz eşleştirmeyi veriyor; ardından bu sayıların neden böyle olduğunu ve heap ayarını nasıl yapacağınızı açıklıyoruz.
Sık karşılaştığımız yanılgıyı baştan giderelim: RAM sunucunuzu hızlandırmaz. RAM yetersizken sunucuyu yavaşlatır, yeterli olduğunda ise başka bir şey değiştirmez. Hız işlemcinin tek çekirdek performansından gelir; RAM sadece darboğaz olmamalıdır.
Oyuncu Sayısına Göre RAM Tablosu#
| Senaryo | Paket RAM | Java heap | Disk |
|---|---|---|---|
| 2-10 oyuncu, vanilla veya hafif eklentili | 8 GB | -Xms6G -Xmx6G | NVMe 50 GB |
| 10-30 oyuncu, eklentili Paper | 10-12 GB | -Xms10G -Xmx10G | NVMe 50 GB |
| 30-60 oyuncu, minigame veya çok dünyalı | 16 GB | -Xms14G -Xmx14G | NVMe 100 GB |
| Forge / Fabric modpack | 16 GB (büyükse 24-32 GB) | -Xms14G -Xmx14G | NVMe 100 GB+ |
| 60+ oyuncu veya proxy’li sunucu ağı | 32 GB ve üzeri | -Xms28G -Xmx28G | NVMe 200 GB |
RAM’i Gerçekte Ne Tüketir?#
Oyuncu sayısı kolay bir kısayoldur ama bellek tüketiminin doğrudan sebebi değildir. Asıl tüketiciler şunlardır:
- Yüklü chunk sayısı
- Her oyuncu etrafında view-distance yarıçapında chunk yüklenir. view-distance 10’dan 8’e inmek yüklü chunk sayısını üçte bir azaltır.
- Entity sayısı
- Her mob, item, minecart ve armor stand bellekte yer kaplar ve tick alır. Birikmiş entity, bellek şişmesinin bir numaralı sebebidir.
- Eklenti ve mod kayıtları
- Modlar blok, item ve biyom kayıt tabloları tutar. 200 modluk bir modpack sadece bunun için gigabaytlarca bellek ister.
- Dünya sayısı
- Her ek dünya (Nether, End, minigame arenaları, oyuncu adaları) kendi chunk kümesini yükler.
- Eklenti önbellekleri
- Ekonomi, istatistik ve arazi koruma eklentileri bellekte veri tutar; büyük sunucularda bu birikir.
Yani 10 oyunculu ama 30 dünyalı, 250 modlu bir sunucu, 40 oyunculu sade bir survival sunucusundan çok daha fazla RAM ister. Tabloyu başlangıç noktası olarak alın, ardından kendi sunucunuzu ölçün.
Heap Ayarı: Xms, Xmx ve Ayrılan Pay#
Paketinizin tamamını Java heap’ine vermek yaygın bir hatadır. JVM heap dışında da bellek kullanır: metaspace, iş parçacığı yığınları, doğrudan bellek arabellekleri ve JIT kod önbelleği. Ayrıca işletim sistemi, chunk dosyalarını disk önbelleğinde tutarak okuma hızını artırır; bu önbellek için de yer bırakmalısınız.
# 8 GB paket
java -Xms6G -Xmx6G -jar paper-26.2.jar nogui
# 12 GB paket
java -Xms10G -Xmx10G -jar paper-26.2.jar nogui
# 16 GB paket
java -Xms14G -Xmx14G -jar paper-26.2.jar nogui
# 32 GB paket
java -Xms28G -Xmx28G -jar paper-26.2.jar nogui
Xms ve Xmx daima eşit verilir. Farklı verdiğinizde JVM heap’i çalışma sırasında büyütüp küçültür; bu ek iş tick süresine yansır ve hiçbir fayda sağlamaz.
Çöp toplayıcı bayrakları#
Heap boyutu, hangi çöp toplayıcıyı kullanacağınızı da belirler. 8-12 GB heap için G1GC ve Aikar’s Flags en iyi sonucu verir:
java -Xms10G -Xmx10G \
-XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem \
-jar paper-26.2.jar nogui
16 GB ve üzeri heap ile çalışıyorsanız ZGC’yi değerlendirebilirsiniz:
java -Xms28G -Xmx28G \
-XX:+UseZGC -XX:+AlwaysPreTouch \
-XX:+PerfDisableSharedMem -XX:+DisableExplicitGC \
-jar paper-26.2.jar nogui
-XX:+ZGenerational bayrağı Java 25’te obsolete’tir, yazmayın.Bayrakların tek tek açıklaması için RAM ayarları ve JVM flag rehberine bakın. Windows’ta başlatma dosyası oluşturacaksanız start.bat rehberi hazır örnekler içerir.
Sunucu Türüne Göre Farklar#
Vanilla ve Paper sunucuları#
Vanilla sunucu jar’ı optimizasyon yamaları içermediği için aynı oyuncu sayısında Paper’dan daha fazla bellek ve CPU tüketir. Eklenti kullanmıyor olsanız bile Paper’a geçmek bellek verimliliği kazandırır. Karşılaştırma için sunucu yazılımları sayfamıza bakabilirsiniz.
Modlu sunucular#
Forge ve Fabric modpackleri bellek tüketiminin en yüksek olduğu senaryodur. Modların kayıt tabloları, ek dünya üretim mantığı ve daha büyük chunk verisi bir araya gelir.
| Modpack boyutu | Paket RAM | Heap | Not |
|---|---|---|---|
| 30-80 mod | 16 GB | -Xms14G -Xmx14G | Küçük teknoloji veya macera paketleri |
| 80-200 mod | 24 GB | -Xms20G -Xmx20G | Popüler orta ölçekli paketler |
| 200+ mod | 32 GB | -Xms28G -Xmx28G | Büyük “kitchen sink” paketler |
Modlu sunucularda bellek yükünü azaltmanın en pratik yolu FerriteCore ve Lithium gibi optimizasyon modlarını eklemektir. Bunlar oyun içeriğini değiştirmez, aynı işi daha az bellekle yapar.
-
FerriteCore (bellek optimizasyonu)Modlu sunucularİndir
-
Lithium (oyun mantığı optimizasyonu)İndir
-
Eclipse Temurin JDK 25LTSİndir
-
spark profiler (bellek analizi)İndir
Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar indirmeyin.
Sunucu ağları (proxy arkası)#
Velocity veya BungeeCord ile birden fazla sunucu çalıştırıyorsanız bellek planını her arka uç için ayrı yapın. Proxy’nin kendisi hafiftir ve 4 GB’lık bir pay ona fazlasıyla yeter; asıl bellek arka uç sunuculara gider. Her arka uç ayrı bir Minecraft örneği olduğu için her birine en az 8 GB ayırın.
48 GB toplam makine örneği:
Velocity proxy .................. 4 GB
Lobi sunucusu ................... 8 GB
Survival sunucusu ............... 16 GB
Minigame sunucusu ............... 12 GB
İşletim sistemi ve pay ........... 8 GB
Ağ kurulumu için BungeeCord ve Velocity rehberimize göz atın.
Mevcut Kullanımınızı Ölçün#
Tahmin etmek yerine ölçün. spark profiler kuruluysa iki komut yeterli bilgi verir:
spark health
spark gc
spark heapsummary
Neye bakacağınız:
- Kullanılan heap oranı: Sürekli %90’ın üstündeyse bir kademe yukarı çıkın.
- GC duraklama süresi: Ortalama 200 ms’i aşıyorsa hem heap hem GC seçimini gözden geçirin.
- GC sıklığı: Dakikada onlarca toplama yapılıyorsa heap dar geliyor demektir.
- heapsummary çıktısı: Beklenmedik şekilde şişmiş bir sınıf, bellek sızıntısı işareti olabilir.
Ölçüm yöntemlerinin tamamı spark rapor okuma rehberinde.
RAM Yetmediğinde Ne Olur?#
Bellek darlığı üç aşamada kendini gösterir. Erken fark ederseniz kolayca çözersiniz.
| Aşama | Belirti | Ne yapmalı |
|---|---|---|
| 1. Erken | TPS’te düzenli aralıklarla küçük düşüşler | GC istatistiklerine bakın, heap’i bir kademe artırın |
| 2. Orta | Sunucu zamanla yavaşlıyor, yeniden başlatınca düzeliyor | heapsummary ile şişen sınıfı bulun, entity temizliği yapın |
| 3. Kritik | java.lang.OutOfMemoryError ile çökme | Acil müdahale; log ve heap dökümü inceleyin |
Üçüncü aşamaya geldiyseniz OutOfMemoryError çözüm sayfamız adım adım kurtarma planı sunar. Çökme sonrası log okuma için crash report rehberine bakın.
world klasörünün kopyasını alın; yedekleme rehberi güvenli yöntemi anlatıyor.RAM mi, İşlemci mi? Doğru Yatırım#
Sunucu yavaşsa refleks olarak RAM artırılır ama bu çoğu zaman yanlış yatırımdır. Karar vermenin basit yolu şudur:
- GC duraklamaları uzun ve heap sürekli dolu: RAM artırın.
- Heap rahat, CPU tek çekirdek doyumda, MSPT yüksek: Daha yüksek saat hızlı işlemciye geçin.
- Chunk yükleme yavaş, oyuncular boşlukta yürüyor: Disk NVMe değilse disk değiştirin.
- Ping yüksek ama TPS 20: Sorun bellek değil lokasyon; lag teşhis rehberine bakın.
Minecraft’ın ana tick döngüsü tek çekirdekte çalıştığı için işlemci seçiminde çekirdek sayısı değil saat hızı belirleyicidir. Bileşen bazında karar için donanım seçimi rehberimizi okuyun. Yüksek frekanslı Ryzen platform arıyorsanız yüksek CPU VDS paketleri, büyük ağlar için dedicated sunucular uygundur.
Özetle#
Minecraft sunucusunda RAM planı basit bir kuralla başlar: taban 8 GB, oyuncu ve mod yükü arttıkça 12, 16 ve 32 GB. Paket RAM’inin yaklaşık dörtte birini işletim sistemine bırakıp kalanını heap’e verin ve Xms ile Xmx’i daima eşitleyin.
RAM’i sonsuza kadar artırmak sunucunuzu hızlandırmaz. Doğru yaklaşım, heap’i darboğaz olmaktan çıkaracak kadar vermek, ardından gerçek performansı belirleyen işlemci saat hızına ve disk hızına odaklanmaktır. Kararınızı verirken tahmin yerine /spark health ve /spark gc çıktılarına bakın; sunucunuzun gerçek ihtiyacı orada yazılıdır.