Linux’a Java 25 kurulumu, Minecraft 26.1 ve 26.2 sunucusu açacak herkesin ilk adımıdır: 26.1 ile birlikte Mojang minimum Java sürümünü 25’e çekti ve daha eski bir JDK ile sunucu jar’ı hiç açılmaz. Ubuntu 24.04 LTS, Debian 12 ve AlmaLinux/Rocky Linux üzerinde en güvenilir yöntem, dağıtımın kendi deposundaki eski OpenJDK paketini beklemek yerine Eclipse Temurin deposunu sisteme ekleyip temurin-25-jdk paketini kurmaktır. Bu sayfada üç dağıtım için de tam komut dizisi, elle tar.gz kurulumu, update-alternatives ile çoklu sürüm yönetimi ve JAVA_HOME ayarını bulacaksınız.
Anlatılan her komut kök olmayan bir kullanıcıdan sudo ile çalıştırılabilir. Sunucunuza henüz bağlanmadıysanız önce SSH ile sunucuya bağlanma rehberini okuyun; komut satırında yeniyseniz Linux temel komutları sayfası işinizi kolaylaştırır.
sudo yetkisi olan normal bir kullanıcıyla çalıştırmanız önerilir.Minecraft Sunucusu İçin Linux’ta Hangi Java Sürümü Gerekir?#
Java sürümünü Minecraft sürümü belirler. Yanlış eşleştirme, sunucu açılışında UnsupportedClassVersionError ya da sessizce kapanma ile sonuçlanır. 2026 itibarıyla geçerli tablo şudur:
| Minecraft sürümü | Gerekli Java | Paket adı (Temurin) | Durum |
|---|---|---|---|
| 26.2 “Chaos Cubed” (güncel kararlı) | Java 25 | temurin-25-jdk | Önerilen |
| 26.1 / 26.1.1 / 26.1.2 | Java 25 | temurin-25-jdk | Destekli |
| 1.20.5 – 1.21.11 | Java 21 | temurin-21-jdk | Eski hat |
| 1.17 – 1.20.4 | Java 17 | temurin-17-jdk | Eski hat |
| 1.16.5 ve öncesi (1.12.2, 1.8.9) | Java 8 | temurin-8-jdk | Çok eski |
Java 26 yayınlandı ancak LTS değildir; destek penceresi kısa olduğu için üretim sunucusunda kullanılmaz. Sunucu tarafında doğru tercih daima Java 25 LTS’tir. Sürüm eşleştirmesinin ayrıntılı gerekçesi için hangi Java sürümü gerekir sayfasına bakabilirsiniz.
-
Eclipse Temurin JDK 25Önerilen LTSİndir
-
Eclipse Temurin JDK 211.20.5 – 1.21.11İndir
-
Eclipse Temurin JDK 81.12.2 / 1.8.9İndir
-
Amazon Corretto 25Alternatifİndir
-
Azul Zulu Builds of OpenJDKAlternatifİndir
Bağlantılar resmî kaynaklara gider. Oracle JDK önerilmez; indirmeden önce lisans onayı ister ve üretim kullanımı ayrı koşullara tabidir.
Kuruluma Başlamadan Önce Sistemi ve Mevcut Java’yı Kontrol Edin#
Sunucuda daha önce bir Java kurulduysa üzerine ikinci bir sürüm eklemek sorun çıkarmaz, ama neyin yüklü olduğunu bilmeniz gerekir. Şu üç komut size tam tabloyu verir:
# Dağıtım ve sürüm bilgisi
cat /etc/os-release | head -n 3
# Mevcut java sürümü (kurulu değilse "command not found" döner)
java -version
# Sistemde kayıtlı tüm java alternatifleri
sudo update-alternatives --list java 2>/dev/null || echo "kayitli alternatif yok"
Kurulu bir Java varsa çıktı şuna benzer:
openjdk version "25.0.4"
OpenJDK Runtime Environment Temurin-25.0.4+7 (build 25.0.4+7)
OpenJDK 64-Bit Server VM Temurin-25.0.4+7 (build 25.0.4+7, mixed mode, sharing)
İlk satırdaki numara 25.0.x ise 26.2 sunucusunu çalıştırmaya hazırsınız. 21.0.x veya 17.0.x görüyorsanız aşağıdaki adımlara devam edin. Paket listesini de kurulumdan önce tazeleyin:
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl gpg ca-certificates apt-transport-https
Ubuntu 24.04 ve Debian 12’ye Adoptium Deposundan Java 25 Kurulumu#
Ubuntu 24.04 LTS ve Debian 12’nin varsayılan depolarında Temurin paketleri yoktur; openjdk-* paketleri de dağıtımın yaşam döngüsüne bağlı olarak geride kalabilir. Adoptium’un resmî APT deposunu eklemek hem Java 25’i hem de eski sürümleri tek yerden, apt upgrade ile güncellenebilir biçimde getirir.
-
GPG anahtarını keyrings dizinine indirin#
Depoyu doğrulamak için Adoptium’un imza anahtarı gerekir. Anahtarı
trusted.gpg.dyerine/etc/apt/keyringsaltına koymak, anahtarın yalnızca bu depo için geçerli olmasını sağlar.sudo mkdir -p /etc/apt/keyrings wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public \ | sudo gpg --dearmor -o /etc/apt/keyrings/adoptium.gpg -
Depo satırını sources.list.d altına yazın#
Depo adresi dağıtımın kod adına göre değişir. Aşağıdaki komut kod adını
/etc/os-releasedosyasından otomatik okur; Ubuntu 24.04’tenoble, Debian 12’debookwormdeğerini üretir.echo "deb [signed-by=/etc/apt/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(. /etc/os-release && echo $VERSION_CODENAME) main" \ | sudo tee /etc/apt/sources.list.d/adoptium.list -
Paket listesini güncelleyip JDK 25’i kurun#
Depo eklendikten sonra kurulum tek satır. Kurulum yaklaşık 200 MB disk kullanır.
sudo apt update sudo apt install -y temurin-25-jdk -
Kurulumu doğrulayın#
Sürüm numarası 25.0.x ve satıcı adı Temurin görünmelidir.
java -version which java # /usr/bin/java readlink -f $(which java) # /usr/lib/jvm/temurin-25-jdk-amd64/bin/java
temurin-21-jdk, temurin-17-jdk ve temurin-8-jdk paketlerini de kurabilirsiniz. Eski sürümlü ikinci bir sunucu işletiyorsanız bu, dağıtım değiştirmeden tüm sürümleri tek makinede tutmanın en pratik yoludur.Dağıtımın Kendi OpenJDK Paketiyle Kurulum#
Depo eklemek istemiyorsanız ve dağıtımınızın arşivinde ilgili paket varsa doğrudan kurabilirsiniz. Önce paketin gerçekten mevcut olup olmadığına bakın:
apt-cache search '^openjdk-2[0-9]-jdk$'
sudo apt install -y openjdk-25-jdk
Bu yol, dağıtım arşivinde Java 25 paketi bulunmayan sürümlerde Unable to locate package hatası verir. O durumda Adoptium deposuna dönün ya da bir sonraki bölümdeki elle kurulumu uygulayın. Debian’a özgü diğer ayrıntılar için Debian üzerinde Minecraft sunucu kurulumu sayfasına göz atın.
AlmaLinux ve Rocky Linux’ta dnf ile Java 25 Kurulumu#
RHEL tabanlı dağıtımlarda depo tanımı bir .repo dosyasıyla yapılır. Aşağıdaki heredoc, sürüm ve mimari değişkenlerini dnf’in kendisine bıraktığı için AlmaLinux 9, Rocky Linux 9 ve türevlerinde aynı şekilde çalışır:
cat <<'EOF' | sudo tee /etc/yum.repos.d/adoptium.repo
[Adoptium]
name=Adoptium
baseurl=https://packages.adoptium.net/artifactory/rpm/rocky/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
EOF
sudo dnf makecache
sudo dnf install -y temurin-25-jdk
java -version
<<'EOF' biçiminde tek tırnak içinde başlatın. Tırnak koymazsanız kabuk $releasever ve $basearch değişkenlerini boş dizeyle değiştirir ve depo adresi bozulur.RHEL tabanlı sistemlerde SELinux ve firewalld ayarlarıyla birlikte tam kurulum akışını AlmaLinux / Rocky Linux Minecraft sunucu kurulumu sayfasında bulabilirsiniz.
Depo Kullanmadan Elle Kurulum: tar.gz Arşivini /opt Altına Açma#
Paket yöneticisine dokunmak istemediğiniz, kısıtlı bir kullanıcıyla çalıştığınız veya belirli bir yapı numarasına sabitlenmek istediğiniz durumlarda arşivden kurulum en esnek yöntemdir. Arşiv bağlantısını Adoptium indirme sayfasından kopyalayın: sürüm 25, işletim sistemi Linux, mimari x64, paket türü JDK, biçim .tar.gz.
# adoptium.net/temurin/releases/?version=25 sayfasindan
# "Linux x64 / JDK / .tar.gz" baglantisini kopyalayin
cd /tmp
wget -O temurin25.tar.gz "KOPYALADIGINIZ_TAR_GZ_ADRESI"
sudo mkdir -p /opt/java
sudo tar -xzf temurin25.tar.gz -C /opt/java
ls /opt/java
# jdk-25.0.4+7
# Sabit bir sembolik bag olusturun; ileride surum yukseltince
# sadece bu bagi guncellersiniz
sudo ln -sfn /opt/java/jdk-25.0.4+7 /opt/java/current
/opt/java/current/bin/java -version
Bu yöntemle kurulan Java, PATH üzerinde otomatik görünmez. Ya bir sonraki bölümdeki update-alternatives kaydını yapacak ya da başlatma betiğinizde tam yolu yazacaksınız. İkincisi aslında daha güvenlidir: sistem varsayılanı ne olursa olsun sunucunuz her zaman aynı JVM ile açılır.
update-alternatives ile Birden Fazla Java Sürümünü Yönetme#
Aynı makinede hem 1.12.2 modpack sunucusu hem 26.2 Paper sunucusu barındırmak çok yaygın. Debian ve Ubuntu’da update-alternatives, /usr/bin/java sembolik bağının hangi JDK’ya gideceğini yönetir.
# Kayitli tum surumleri listeleyin
sudo update-alternatives --list java
# Etkilesimli secim menusunu acin
sudo update-alternatives --config java
Menü şuna benzer bir tablo gösterir; sol sütundaki numarayı yazıp Enter’a basarak varsayılanı değiştirirsiniz:
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/temurin-25-jdk-amd64/bin/java 2500 auto mode
1 /usr/lib/jvm/temurin-8-jdk-amd64/jre/bin/java 800 manual mode
2 /usr/lib/jvm/temurin-21-jdk-amd64/bin/java 2100 manual mode
3 /usr/lib/jvm/temurin-25-jdk-amd64/bin/java 2500 manual mode
Elle /opt/java altına kurduğunuz bir JDK’yı bu listeye eklemek isterseniz kaydı kendiniz oluşturursunuz. Öncelik değeri (aşağıdaki örnekte 2500) en yüksek olan, otomatik modda varsayılan olur:
sudo update-alternatives --install /usr/bin/java java \
/opt/java/current/bin/java 2500
sudo update-alternatives --install /usr/bin/javac javac \
/opt/java/current/bin/javac 2500
sudo update-alternatives --config java
alternatives --config java komutuyla yapılır; komut adında tire yoktur ve update- öneki bulunmaz.JAVA_HOME ve PATH Ayarı#
java -jar komutu JAVA_HOME değişkenine bakmaz, doğrudan PATH’teki java ikilisini çalıştırır. Buna rağmen JAVA_HOME’u tanımlamak gerekir: Spigot BuildTools, Gradle, Maven, bazı panel kurulum betikleri ve birkaç eklenti derleyicisi bu değişkeni arar. Tüm kullanıcılar için kalıcı tanım /etc/profile.d/ altında yapılır:
cat <<'EOF' | sudo tee /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/temurin-25-jdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
EOF
sudo chmod 644 /etc/profile.d/java.sh
source /etc/profile.d/java.sh
echo $JAVA_HOME
# /usr/lib/jvm/temurin-25-jdk-amd64
Yolu ezberden yazmak yerine kurulu JDK’dan türetmek daha sağlamdır:
readlink -f $(which java) | sed 's|/bin/java||'
# /usr/lib/jvm/temurin-25-jdk-amd64
/etc/profile.d altındaki dosyalar yalnızca oturum açan kabuklarda yüklenir. systemd servisi içinden çalışan bir Minecraft sunucusu bu değişkeni görmez; servis biriminde Environment="JAVA_HOME=..." satırını ayrıca yazmanız gerekir. Ayrıntı için systemd servisi oluşturma sayfasına bakın.Minecraft Sunucusunu Doğru Java ile Başlatmak#
Java kurulduktan sonra sıra başlatma betiğinde. Sunucuyu kök kullanıcıyla değil, kendi ayrı kullanıcısıyla çalıştırın:
sudo adduser --system --group --home /opt/minecraft minecraft
sudo mkdir -p /opt/minecraft/server
sudo chown -R minecraft:minecraft /opt/minecraft
8 GB bellekli bir paket için başlatma betiği şöyle olur. Heap değerlerini sistemin tamamı değil, işletim sistemine pay bırakacak şekilde verin:
#!/bin/bash
# /opt/minecraft/server/start.sh
cd /opt/minecraft/server
/usr/lib/jvm/temurin-25-jdk-amd64/bin/java \
-Xms6G -Xmx6G \
-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:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 \
-jar paper.jar nogui
sudo chmod +x /opt/minecraft/server/start.sh
sudo -u minecraft /opt/minecraft/server/start.sh
Betikte java yerine tam yol yazdığımıza dikkat edin. Sistemde başka birinin varsayılanı değiştirmesi ihtimaline karşı bu, sunucunuzun her zaman Java 25 ile açılmasını garanti eder. Pakete göre heap değerleri şöyledir:
| Paket belleği | Java heap bayrakları | Tipik kullanım |
|---|---|---|
| 8 GB | -Xms6G -Xmx6G | 2-10 oyuncu, vanilla veya hafif eklentili |
| 12 GB | -Xms10G -Xmx10G | 10-30 oyuncu, eklentili Paper |
| 16 GB | -Xms14G -Xmx14G | 30-60 oyuncu veya modpack |
| 32 GB | -Xms28G -Xmx28G | 60+ oyuncu, proxy’li sunucu ağı |
Yukarıdaki bayrak seti Aikar’s Flags olarak bilinir ve 26.x sunucularında hâlâ geçerlidir. Java 25’te G1 hâlâ JVM’in genel varsayılan çöp toplayıcısıdır; 26.1 ile duyurulan “G1GC’den ZGC’ye geçiş” değişikliği oyun istemcisini ilgilendirir, sunucu jar’ını değil. Sunucunuzun hangi GC’yi kullanacağını yalnızca sizin verdiğiniz bayraklar belirler. 16 GB üzeri heap veya ağır modlu bir sunucuda -XX:+UseZGC denenebilir; -XX:+ZGenerational bayrağı ise Java 25’te geçersizdir, yazmayın. Bayrak seçiminin ayrıntısı için RAM ayarları ve JVM flag’leri sayfasına bakın.
Sunucuyu SSH oturumu kapandığında da açık tutmak için screen veya tmux kullanımını, kalıcı 7/24 çalışma için ise systemd servisini tercih edin. Paper’ın Ubuntu üzerindeki uçtan uca kurulumu Ubuntu’da Paper sunucu kurulumu sayfasında anlatılıyor.
Sık Karşılaşılan Java Hataları ve Çözümleri#
java: command not found#
Java kurulu değil ya da PATH’te görünmüyor. Önce ls /usr/lib/jvm/ ile gerçekten kurulu olup olmadığına bakın. Dizin doluysa alternatif kaydı eksiktir; update-alternatives --install ile kaydı ekleyin. Dizin boşsa kurulum başarısız olmuştur, sudo apt install -y temurin-25-jdk komutunu tekrar çalıştırıp çıktıdaki hatayı okuyun.
UnsupportedClassVersionError: class file version 69.0#
Sunucu jar’ı Java 25 ile derlenmiş, sizin çalıştırdığınız JVM daha eski. 69.0 sınıf dosyası sürümü Java 25’e, 65.0 Java 21’e, 61.0 Java 17’ye karşılık gelir. Doğru sürümü kurup varsayılanı değiştirin. Hatanın tam okuması Java sürüm hatası sayfamızda.
E: Unable to locate package temurin-25-jdk#
Depo satırı yazılmamış, kod adı yanlış üretilmiş ya da apt update çalıştırılmamıştır. Şu kontrolü yapın:
cat /etc/apt/sources.list.d/adoptium.list
sudo apt update
apt-cache policy temurin-25-jdk
Could not reserve enough space for object heap#
-Xmx değeri sunucunun fiziksel belleğinden büyük ya da 32 bit bir JVM kullanıyorsunuz. free -h ile gerçek belleği görün, heap’i işletim sistemine 2 GB pay bırakacak şekilde ayarlayın. 8 GB’lık bir makinede -Xmx6G doğru değerdir.
Sunucu açılıyor ama satıcı adı beklediğiniz gibi değil#
java -version çıktısında Temurin yerine başka bir satıcı görüyorsanız sistemde birden fazla JDK vardır ve varsayılan başkasıdır. readlink -f $(which java) ile gerçek yolu bulun, update-alternatives --config java ile düzeltin.
Hangi Java Dağıtımını Seçmeli?#
Java 25’in birden fazla derlemesi mevcut ve hepsi aynı OpenJDK kaynağından çıkıyor. Minecraft sunucusu açısından performans farkı pratikte ölçülemeyecek kadar küçüktür; seçim daha çok paketleme ve destek üzerinden yapılır.
- Eclipse Temurin
- Birinci tercih. APT ve DNF depoları var, Minecraft topluluğunda en yaygın kullanılan derleme, sorun yaşadığınızda karşılaştırma yapabileceğiniz en geniş kaynak havuzu bunda.
- Amazon Corretto
- Sağlam alternatif. İndirme sayfasında her dosya için MD5/SHA256 sağlama toplamı ve imza dosyası yayımlanır; doğrulama zorunluluğu olan ortamlarda avantajlı.
- Azul Zulu
- Tek sayfadan Java 8, 17, 21 ve 25’e erişebilirsiniz. Farklı sürümlü birden çok sunucu barındıranlar için pratik.
- Microsoft Build of OpenJDK
- Java 25, 21 ve 17’yi aynı yerden sunar. Azure ortamlarında tercih edilir.
- Oracle JDK
- Önermiyoruz. İndirme öncesi lisans onayı ister ve kullanım koşulları diğerlerinden farklıdır. Aynı işi yapan ücretsiz alternatifler varken tercih etmek için sebep yok.
JDK yerine JRE arayanlara not: Adoptium her sürüm için ayrı JRE paketi sunmuyor ve JDK’nın diskte birkaç yüz megabayt fazla yer kaplaması dışında bir maliyeti yok. Buna karşılık jcmd, jstack ve jmap araçları yalnızca JDK ile gelir; sunucu takıldığında iş parçacığı dökümü almanız gerekirse bunlar olmadan teşhis yapamazsınız.
Java Kurulumu Sonrası Donanım Kontrolü#
Java sürümü doğru olsa bile sunucunuzun altındaki donanım yetersizse TPS düşer. Minecraft’ın ana tick döngüsü tek bir çekirdekte çalışır; bu yüzden çekirdek sayısı değil, çekirdek başına saat hızı belirleyicidir. Yüksek frekanslı AMD Ryzen 9 7900X veya 7950X tabanlı bir sunucu, iki katı çekirdeğe sahip düşük frekanslı bir işlemciden belirgin biçimde daha iyi TPS verir.
# CPU modeli ve saat hizi
lscpu | grep -E 'Model name|MHz'
# Bellek durumu
free -h
# Diskin NVMe olup olmadigi
lsblk -d -o NAME,ROTA,SIZE,MODEL
# ROTA=0 -> SSD/NVMe, ROTA=1 -> HDD
Chunk okuma ve yazma işlemleri disk gecikmesine çok duyarlıdır; bu yüzden NVMe SSD şart, en az 50 GB alan ayırın, modlu sunucularda 100 GB ve üzerine çıkın. Kendi donanımınızı yönetmek istemiyorsanız yüksek frekanslı Ryzen VDS paketleri ya da hazır kurulu Minecraft sunucu paketleri zaten Java 25 ve NVMe ile teslim edilir. VDS üzerinde sıfırdan kurulum yapacaksanız Linux Minecraft sunucu kurulumu sayfası tüm akışı adım adım anlatıyor.
Özetle#
Minecraft 26.1 ve 26.2 sunucuları Java 25 olmadan açılmaz. Ubuntu ve Debian’da doğru yol Adoptium deposunu ekleyip temurin-25-jdk paketini kurmak, AlmaLinux ve Rocky Linux’ta ise aynı depoyu .repo dosyasıyla tanımlayıp dnf install demektir. Birden fazla sürüm barındıracaksanız update-alternatives ile varsayılanı yönetin, JAVA_HOME’u /etc/profile.d/java.sh içine yazın ve başlatma betiğinizde JVM’in tam yolunu belirtin. Java 26 LTS olmadığı için sunucuda kullanılmaz; Aikar’s Flags 26.x’te hâlâ geçerlidir ve sunucunuzun çöp toplayıcısını yalnızca sizin verdiğiniz bayraklar belirler. Kurulum bittiğinde indirme merkezinden sunucu jar’ınızı alıp kuruluma devam edebilirsiniz.