Ekran Kartlı Sunucu Satışları Başladı. İncele
Linux ve Ubuntu’da Sunucu Kurulumu

Linux ve Ubuntu Üzerinde Minecraft Sunucu Kurulumu

Ubuntu 24.04 sunucularda SSH ile Minecraft sunucusu kurma: Java 25, kullanıcı oluşturma, screen, systemd servisi ve UFW port ayarları.

  • 16 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Ubuntu 24.04 LTS üzerinde Minecraft sunucu kurulumu şu sırayla yapılır: SSH ile bağlanın, sistemi güncelleyin, Java 25 kurun, ayrı bir minecraft kullanıcısı açın, sunucu jar’ını /opt/minecraft/server altına indirin, EULA’yı onaylayın, start.sh yazın ve systemd servisine bağlayın.
  • Minecraft 26.1 ve sonrası (güncel kararlı sürüm 26.2 "Chaos Cubed", protokol 776) Java 25 ister. Java 21 ile 26.x sunucusu açılmaz.
  • Sunucuyu asla root ile çalıştırmayın; ayrı kullanıcı + systemd servisi + UFW kuralı üçlüsü standart kurulumdur.
  • RAM alt sınırı 8 GB, disk NVMe SSD, işlemci yüksek saat hızlı AMD Ryzen olmalıdır; Minecraft’ın ana tick döngüsü tek çekirdekte çalışır.

Linux üzerinde Minecraft sunucu kurulumu, doğru sırayla yapıldığında yaklaşık yirmi dakika süren bir işlemdir: SSH ile sunucuya bağlanırsınız, sistemi güncellersiniz, Java 25 kurarsınız, ayrı bir minecraft kullanıcısı açarsınız, sunucu jar’ını indirip EULA’yı onaylarsınız, start.sh yazarsınız ve son olarak systemd servisi ile UFW kuralını tanımlarsınız. Bu sayfa bu akışın tamamını Ubuntu 24.04 LTS üzerinde, kopyalanabilir komutlarla anlatıyor.

Ubuntu’yu birinci hedef olarak alıyoruz çünkü hem hosting sağlayıcılarında en yaygın dağıtım o, hem de Minecraft topluluğunun ürettiği betiklerin büyük bölümü Ubuntu üzerinde test ediliyor. Debian 12 kullanıyorsanız komutların neredeyse tamamı aynen çalışır; AlmaLinux ve Rocky Linux’ta ise apt yerine dnf, UFW yerine firewalld devreye girer.

Sunucu işletim sistemini henüz kurmadıysanız önce Ubuntu Server kurulumu ve ilk yapılandırma sayfasını tamamlayın. Elinizde çalışan bir Ubuntu makinesi varsa doğrudan aşağıdan devam edebilirsiniz.

BilgiBu rehberdeki komutlar Ubuntu 24.04 LTS üzerinde denenmiştir. Sunucu yazılımı olarak Paper 26.2 örnek alınmıştır; Purpur, Fabric veya resmî vanilla jar kullanacaksanız yalnızca indirme adımı ve jar adı değişir, geri kalan her şey aynıdır.

Kurulumdan Önce: Donanım ve Sürüm Kararı#

İki karar kurulumun geri kalanını belirler: hangi Minecraft sürümünü çalıştıracaksınız ve makinede ne kadar kaynak var.

Sürüm tarafında bilmeniz gereken en önemli şey Java gereksinimidir. Mojang 2026’da sürüm numaralandırmasını YY.D.H biçimine geçirdi. Güncel kararlı sürüm 26.2 "Chaos Cubed" (16 Haziran 2026, protokol 776), ondan önceki dönüm noktası ise 26.1 "Tiny Takeover" (24 Mart 2026, protokol 775). Her ikisi de Java 25 ister.

Minecraft sürümüGerekli JavaNot
26.1 ve sonrası (26.1, 26.1.1, 26.1.2, 26.2)Java 25Güncel hat
1.20.5 – 1.21.11Java 21Eklenti ekosistemi hâlâ geniş
1.17 – 1.20.4Java 17Eski modpackler
1.16.5 ve öncesi (1.12.2, 1.8.9)Java 8Yalnızca eski sunucular için
Minecraft sürümüne göre gereken Java sürümü
Dikkat26.1 ile birlikte Mojang obfuscated sunucu jar’ı yayınlamayı bıraktı. Bu bir ABI kırılmasıdır: 1.21.11 ve öncesine derlenmiş modlar ile NMS kullanan eklentiler, yeniden derlenmeden 26.1+ üzerinde çalışmaz. Elinizde güncellenmemiş kritik bir eklenti varsa sunucuyu 26.x’e taşımadan önce o eklentinin 26.2 uyumlu sürümünü bulun.

Donanım tarafında ise şu tabloyu esas alın. Minecraft’ın ana tick döngüsü tek çekirdekte çalıştığı için çekirdek sayısı değil saat hızı belirleyicidir; bu yüzden yüksek frekanslı AMD Ryzen işlemciler bu iş için düşük frekanslı çok çekirdekli sunucu işlemcilerinden belirgin biçimde iyidir.

Sunucu profiliRAMJava heapİşlemciDisk
2-10 oyuncu, vanilla / hafif eklentili8 GB-Xms6G -Xmx6GRyzen 9 3900X ve üzeri50 GB NVMe
10-30 oyuncu, eklentili Paper10-12 GB-Xms10G -Xmx10GRyzen 9 7900X50-100 GB NVMe
30-60 oyuncu, minigame / çok dünyalı16 GB-Xms14G -Xmx14GRyzen 9 7900X / 7950X100 GB NVMe
Forge / Fabric modpack16 GB (büyük modpackte 24-32 GB)-Xms14G -Xmx14GRyzen 9 7950X100 GB+ NVMe
60+ oyuncu veya proxy’li sunucu ağı32 GB ve üzeri-Xms28G -Xmx28GRyzen 9 7950X200 GB+ NVMe
Linux üzerinde Minecraft sunucusu için donanım ve heap eşleşmesi

Disk konusunda tavsiye tek: NVMe SSD. Chunk okuma ve yazma işlemleri küçük, rastgele erişimli I/O üretir; SATA SSD’de bile otomatik kaydetme anlarında gecikme hissedilir. Kendi makinenizi kiralayacaksanız Ryzen ve NVMe tabanlı VDS paketleri bu profile göre yapılandırılmıştır.

Sunucu Yazılımı Seçimi: Vanilla, Paper, Purpur, Forge, Fabric#

İkinci karar, hangi sunucu yazılımını kuracağınızdır. Bu seçim eklenti mi mod mu kullanacağınızı, alacağınız performansı ve güncelleme temponuzu belirler.

Vanilla (resmî sunucu jar)#

Mojang’ın yayınladığı orijinal sunucudur. Referans davranışı verir ama eklenti API’si yoktur; yalnızca datapack ve komut bloklarıyla özelleştirilir. Yirmi kişilik bir arkadaş sunucusunda yeterli olabilir, halka açık bir sunucuda kısa sürede darlık yaratır.

Paper — çoğu sunucu için doğru cevap#

Paper, Bukkit/Spigot eklenti API’sini korurken yüzlerce performans yaması ekleyen fork’tur. 26.2 için güncel yapı build #112’dir. Eklenti ekosisteminin neredeyse tamamı Paper üzerinde test edilir, dokümantasyonu güçlüdür ve yapılandırma dosyaları (config/paper-global.yml, config/paper-world-defaults.yml) ayarlanabilirlik açısından en zengin olanıdır. Bu rehberde Paper örnek alınmasının sebebi budur.

Purpur — daha fazla ayar, aynı temel#

Purpur, Paper’ın üzerine Pufferfish’in performans yamalarını ve çok sayıda oynanış ayarını ekler; 26.2 hattında güncel derleme build 2620’dir. Pufferfish arayanlar için de doğru adres Purpur’dur: Pufferfish kendi başına 26.x’e geçmedi, son sürümü 1.21.x hattında kaldı. Paper ile eklenti uyumluluğu birebir olduğu için geçiş yalnızca jar değiştirmekten ibarettir.

Folia, Leaves ve Leaf#

Folia, dünyayı bölgelere ayırıp her bölgeyi ayrı iş parçacığında işleyen deneysel Paper fork’udur. 26.1.2 için kararlı bir yapı sunuyor, 26.2 tarafı hâlâ beta. Eklenti uyumluluğu sınırlıdır; yalnızca oyuncuların geniş alana dağıldığı çok büyük sunucularda anlam kazanır. Leaves henüz 26.x’e geçmedi, Leaf ise 26.2 dalını taşıyor ama erken aşamada. Üretim sunucusunda bu üçüne temkinli yaklaşın.

Forge ve Fabric — modlu sunucular#

Mod çalıştıracaksanız eklenti değil mod yükleyicisi gerekir. Minecraft 26.2 için Forge’un 65.x dalı kullanılır (latest 65.1.1, recommended 65.1.0); Fabric tarafında güncel değerler Loader 0.19.3 ve Installer 1.1.2’dir. Modlu sunucularda RAM tabanı 16 GB’dır, büyük modpacklerde 24-32 GB gerekir ve ilk dünya üretimi vanilla’ya göre kat kat uzun sürer.

Sunucuya SSH ile Bağlanma#

Sağlayıcınız size bir IP adresi, kullanıcı adı ve parola (ya da SSH anahtarı) verir. Bağlantı komutu:

ssh root@203.0.113.10

# özel bir port kullanılıyorsa
ssh -p 2222 kullanici@203.0.113.10

İlk bağlantıda sunucunun parmak izini onaylamanız istenir, yes yazıp Enter’a basın. Anahtar tabanlı kimlik doğrulama, parola kullanmaktan hem daha güvenli hem daha pratiktir; kurulumunu SSH ile sunucuya bağlanma rehberinde adım adım bulabilirsiniz.

Sistemi Güncelleme ve Temel Paketler#

Kuruluma başlamadan önce paket listesini tazeleyip yüklü paketleri güncelleyin, sonra rehber boyunca kullanacağımız araçları kurun:

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl tar unzip screen ufw ca-certificates

Bu paketlerin her biri ileride işimize yarayacak: wget jar indirmek, tar Java arşivini açmak ve yedek almak, screen sunucuyu arka planda tutmak, ufw ise portu kontrollü biçimde açmak için.

Java 25 Kurulumu#

Minecraft 26.x için Java 25 zorunludur. Eclipse Temurin birinci tercihimiz; Amazon Corretto ve Azul Zulu da uygun alternatiflerdir. Oracle JDK’yı önermiyoruz çünkü indirme öncesi lisans onayı istiyor ve otomasyonu zorlaştırıyor.

İndirmeniz gerekenler
  • Eclipse Temurin JDK 25LTS · Önerilen Linux x64.tar.gzÜcretsiz
    İndir
  • Paper 26.2 sunucu jar Her platform.jarÜcretsiz
    İndir
  • Purpur 26.2Alternatif Paper forku.jar
    İndir
  • Resmî Minecraft sunucu jar Vanilla 26.2.jar
    İndir

Bağlantılar resmî kaynaklara gider. Üçüncü taraf sitelerden jar veya Java arşivi indirmeyin.

Adoptium sayfasından Linux x64 · JDK · .tar.gz bağlantısını kopyalayın ve sunucuda çalıştırın:

cd /tmp
wget -O temurin-25.tar.gz "KOPYALADIGINIZ_BAGLANTI"

sudo mkdir -p /opt/java
sudo tar -xzf temurin-25.tar.gz -C /opt/java
ls /opt/java

Çıkan dizin adını (örneğin jdk-25.0.4+7) kullanarak Java’yı sistem geneline tanıtın:

sudo update-alternatives --install /usr/bin/java java /opt/java/jdk-25.0.4+7/bin/java 2500
sudo update-alternatives --config java

java -version

Beklenen çıktı şuna benzemeli:

openjdk version "25.0.4" 2026-07-15
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)

Dağıtımınızın deposunda hazır bir Java 25 paketi bulunuyorsa onu da kullanabilirsiniz; kontrol etmek için apt-cache policy openjdk-25-jre-headless komutunu çalıştırın. Depo yöntemi, birden fazla Java sürümünü yan yana tutma ve otomatik güvenlik güncellemesi alma açısından pratiktir. Tüm dağıtımlar için ayrıntılı anlatım Linux’a Java 25 kurulumu sayfasında; sürüm eşleşmesinin tamamı ise hangi Java sürümü gerekir sayfasında.

Ayrı Bir minecraft Kullanıcısı Oluşturma#

Sunucuyu root ile çalıştırmak, bir eklenti açığının doğrudan sistem ele geçirmesine dönüşmesi demektir. Ayrı bir kullanıcı açmak otuz saniye sürer ve saldırı yüzeyini ciddi biçimde daraltır.

  1. Kullanıcıyı ve dizinleri oluşturun#

    sudo adduser --disabled-password --gecos "" minecraft
    sudo mkdir -p /opt/minecraft/server
    sudo mkdir -p /opt/minecraft/backups
    sudo chown -R minecraft:minecraft /opt/minecraft
  2. Kullanıcıya geçin#

    Bundan sonraki tüm dosya işlemlerini bu kullanıcıyla yapın:

    sudo -u minecraft -i
    cd /opt/minecraft/server
    whoami
  3. Sunucu jar’ını indirin#

    PaperMC indirme sayfasından 26.2 için en güncel build bağlantısını kopyalayın ve indirin. Dosyayı paper.jar olarak adlandırmak, ileride başlatma betiğini her güncellemede düzenlemekten kurtarır.

    wget -O paper.jar "PAPER_INDIRME_BAGLANTISI"
    ls -lh paper.jar
İpucuKurulumu betiğe dökmek isterseniz PaperMC’nin resmî Fill v3 API’si en güncel build bilgisini JSON olarak döndürür. Böylece güncelleme betiğiniz sabit bir dosya adına bağlı kalmaz.

İlk Çalıştırma ve EULA Onayı#

Sunucuyu ilk kez elle çalıştırın. Bu çalıştırma yapılandırma dosyalarını üretir ve EULA uyarısıyla kapanır — beklenen davranış budur:

cd /opt/minecraft/server
java -Xms6G -Xmx6G -jar paper.jar --nogui

Konsolda şu satırı göreceksiniz:

[main/ERROR]: You need to agree to the EULA in order to run the server.
Go to eula.txt for more info.

Dosyayı düzenleyip onaylayın:

nano eula.txt
# eula=false satirini eula=true yapin, Ctrl+O ile kaydedin, Ctrl+X ile cikin

# ya da tek komutla:
sed -i "s/eula=false/eula=true/" eula.txt
grep eula eula.txt

Şimdi sunucuyu tekrar başlatın. İlk gerçek açılışta dünya üretilir; makineye ve dünya ayarlarına göre bu bir ila birkaç dakika sürebilir. Konsolda Done (xx.xxxs)! For help, type "help" satırını gördüğünüzde sunucu çalışıyor demektir. Kapatmak için stop yazın — süreci Ctrl+C ile öldürmek dünyanın yarım kaydedilmesine yol açabilir.

server.properties Yapılandırması#

Sunucu dizininde oluşan server.properties, oyunun temel davranışını belirler. Aşağıdaki değerler yeni bir survival sunucusu için makul bir başlangıç noktasıdır:

server-port=25565
server-ip=
motd=Batihost Test Sunucusu
max-players=40
gamemode=survival
difficulty=normal
online-mode=true
white-list=false
view-distance=8
simulation-distance=6
spawn-protection=0
enable-command-block=false
network-compression-threshold=256
enforce-secure-profile=true

Birkaç satırın altını çizelim. server-ip boş bırakılmalıdır; buraya bir değer yazmak sunucunun yalnızca o arayüzü dinlemesine ve dışarıdan bağlantı alamamasına yol açar. online-mode=true, oyuncuların Mojang hesabıyla doğrulanmasını sağlar ve sunucunuzu hesap taklidine karşı korur. view-distance ise doğrudan CPU yükünü belirleyen ayardır: 8, çoğu sunucu için performans ve oynanış dengesinin oturduğu değerdir.

Dosyadaki her satırın ne işe yaradığını görmek için server.properties tam liste sayfasına bakabilirsiniz.

start.sh ve JVM Bayrakları#

Sunucuyu her seferinde uzun bir java komutuyla başlatmak yerine bir başlatma betiği yazın. 12 GB RAM’li bir makine için:

nano /opt/minecraft/server/start.sh
#!/bin/bash
cd /opt/minecraft/server

java -Xms10G -Xmx10G \
 --add-modules=jdk.incubator.vector \
 -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

Betiği çalıştırılabilir yapın:

chmod +x /opt/minecraft/server/start.sh
/opt/minecraft/server/start.sh

Yukarıdaki bayrak seti Aikar’s Flags olarak bilinir ve 26.x sunucularında hâlâ geçerlidir. Heap 12 GB’ın üzerine çıkarsa büyük heap varyantına geçin: G1NewSizePercent=40, G1MaxNewSizePercent=50, G1HeapRegionSize=16M, G1ReservePercent=15, InitiatingHeapOccupancyPercent=20.

Dikkat26.1 ile gelen "G1GC yerine ZGC" ve "varsayılan RAM 4 GB" değişiklikleri istemci tarafındadır, Minecraft Launcher’ın JVM varsayılanlarıdır. Sunucu jar’ının launcher’ı yoktur; çöp toplayıcıyı tamamen sizin verdiğiniz bayraklar belirler ve Java 25’te G1 hâlâ JVM varsayılanıdır. ZGC denemek isterseniz yalnızca -XX:+UseZGC yazın; -XX:+ZGenerational bayrağı Java 25’te obsolete’tir ve uyarı basar. Pratik ayrım: 8-12 GB heap için G1GC + Aikar’s Flags, 16 GB ve üzeri ya da ağır modlu sunucularda ZGC değerlendirilebilir.

Xms ve Xmx daima eşit verilir; böylece JVM heap’i büyütüp küçültmek için duraklamaz. Heap hesabı ve bayrakların satır satır açıklaması için RAM ayarları ve JVM flag rehberine göz atın.

screen ile Arka Planda Çalıştırma#

SSH oturumunuz kapandığında ön planda çalışan sunucu da kapanır. screen bu sorunu çözer: sunucu kendi sanal terminalinde çalışmaya devam eder, siz istediğinizde konsola geri dönersiniz.

# yeni bir oturum baslat
screen -S minecraft

# oturumun icinde sunucuyu calistir
/opt/minecraft/server/start.sh

# oturumdan ayril: Ctrl+A tuslarina bas, birak, sonra D tusuna bas

# calisan oturumlari listele
screen -ls

# konsola geri don
screen -r minecraft

Konsola bağlandığınızda doğrudan Minecraft komutları yazabilirsiniz: list, op oyuncuadi, save-all, stop. tmux tercih ediyorsanız mantık aynıdır, yalnızca tuş kombinasyonları değişir; iki aracın karşılaştırması screen ve tmux kullanım sayfasında.

systemd Servisi ile Otomatik Başlatma#

screen tek başına yeterli değildir: makine yeniden başlarsa sunucu açılmaz, süreç çökerse kimse ayağa kaldırmaz. systemd her ikisini de halleder. Unit dosyasını root olarak oluşturun:

sudo nano /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Paper Sunucusu
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/screen -DmS minecraft /opt/minecraft/server/start.sh
ExecStop=/usr/bin/screen -p 0 -S minecraft -X eval "stuff 'stop'\\015"
Restart=on-failure
RestartSec=15
TimeoutStopSec=90

[Install]
WantedBy=multi-user.target

Servisi etkinleştirip başlatın:

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft

# canli log takibi
sudo journalctl -u minecraft -f

Bu yapılandırmanın güzel yanı, sunucunun screen oturumu içinde çalışmasıdır: systemd yeniden başlatmayı ve önyüklemede açılmayı üstlenirken siz sudo -u minecraft screen -r minecraft ile konsola girip komut yazabilirsiniz. ExecStop satırı ise servis durdurulurken konsola stop komutunu gönderir, böylece dünya düzgün kaydedilir.

Uyarısystemctl stop yerine süreci kill -9 ile öldürmek, o sırada yazılmakta olan region dosyalarının bozulmasına ve chunk kaybına yol açabilir. Sunucuyu daima stop komutuyla ya da yukarıdaki servis üzerinden kapatın.

Unit dosyasının her satırının açıklaması, gecikmeli başlatma ve çökme sonrası davranış ayarları için systemd servisi oluşturma sayfasına bakın.

UFW ile Portu Açma#

Java Edition varsayılan olarak 25565/TCP portunu dinler. Bedrock için ayrıca 19132/UDP açılır. Ubuntu’da güvenlik duvarı UFW ile yönetilir:

sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verbose
Uyarıufw enable komutunu çalıştırmadan önce mutlaka ufw allow OpenSSH kuralını ekleyin. Aksi halde SSH bağlantınız anında kesilir ve sunucuya yalnızca sağlayıcınızın konsolu üzerinden erişebilirsiniz.

Portun gerçekten dinlendiğini doğrulayın:

sudo ss -tulpn | grep 25565

Çıktıda java süreci görünüyorsa sunucu tarafı hazırdır. Dışarıdan hâlâ bağlanılamıyorsa sorun sağlayıcı tarafındaki ağ filtresindedir. Belirli IP’lere kısıtlama, Bedrock portu ve kural doğrulama örnekleri UFW ile port açma sayfasında anlatılıyor.

Yedekleme: cron ile Otomatik Dünya Arşivi#

Kurulumun son ve en çok ihmal edilen adımı yedeklemedir. Dünyanın günlük arşivini almak için minecraft kullanıcısının crontab’ına bir görev ekleyin:

sudo -u minecraft crontab -e
# her gece 04:00'te dunya klasorunu arsivle
0 4 * * * tar -czf /opt/minecraft/backups/world-$(date +\%F).tar.gz -C /opt/minecraft/server world

# 14 gunden eski yedekleri sil
30 4 * * * find /opt/minecraft/backups -name "world-*.tar.gz" -mtime +14 -delete

crontab içinde % karakterinin ters bölü ile kaçırılması gerektiğine dikkat edin; bu, tarih biçimlendirmesinin bozulmasına yol açan klasik bir hatadır. Aynı makinede tutulan yedek gerçek bir yedek sayılmaz; arşivleri düzenli olarak başka bir sunucuya veya nesne depolamaya kopyalayın. Strateji kurmak için Minecraft yedekleme rehberini okuyun.

Sunucuyu Yeni Sürüme Güncelleme#

Yeni bir Minecraft sürümü çıktığında jar’ı değiştirmek yetmez; eklentilerin de uyumlu olması gerekir. 26.x hattında bu iş eskisinden daha hassas, çünkü 26.1 ile birlikte Mojang obfuscated sunucu jar’ı yayınlamayı bıraktı. Paper dahili remapper’ını tamamen kaldırdı, Spigot desteğini düşürdü, Fabric ise Yarn’ı bırakıp Mojang Mappings’e geçti. Sonuç: NMS kullanan eklentiler ve tüm modlar yeniden derlenmeden çalışmaz.

Güvenli güncelleme akışı şöyledir:

sudo systemctl stop minecraft

# tam yedek al (dunya + eklentiler + config)
sudo -u minecraft tar -czf /opt/minecraft/backups/tam-yedek-$(date +%F).tar.gz \
  -C /opt/minecraft server

# eski jar'i sakla, yenisini indir
cd /opt/minecraft/server
sudo -u minecraft mv paper.jar paper-onceki.jar
sudo -u minecraft wget -O paper.jar "YENI_PAPER_BAGLANTISI"

sudo systemctl start minecraft
sudo journalctl -u minecraft -f

Güncellemeden önce eklenti listenizi tek tek gözden geçirin. 11 Ağustos 2026 itibarıyla dikkat edilmesi gereken birkaç nokta var: PlaceholderAPI kullanıyorsanız 26.2’ye çıkmadan önce mutlaka 2.12.3 sürümüne geçin, çünkü Paper 26.2 sürüm dizgisi yapısını değiştirdi. WorldGuard tarafında 26.2 desteği 7.0.18 ile geldi, WorldEdit tarafında 7.4.4 ile. LuckPerms 5.5.57 sürümü 26.2’yi tam destekliyor. Buna karşılık EssentialsX’in kararlı 2.22.0 sürümü resmî olarak en fazla 26.1.2’yi kapsıyor, CoreProtect’in güncel Community Edition v24.0 sürümü de 26.1.2’de duruyor. Bu iki eklentiye bağımlıysanız 26.2’ye geçişi erteleyip 26.1.2 hattında kalmak daha az riskli olabilir.

İpucuGüncellemeyi doğrudan canlı sunucuda denemeyin. Dünya klasörünün bir kopyasını ikinci bir dizine açıp farklı bir portta (örneğin 25566) test sunucusu ayağa kaldırın; eklentiler sorunsuz yükleniyorsa canlıya geçin. Test sunucusu için ayrıca UFW kuralı açmanıza gerek yok, yerelden bağlanmak yeterlidir.

Sık Karşılaşılan Hatalar#

HataSebepÇözüm
UnsupportedClassVersionErrorJava sürümü sunucu jar’ından eskijava -version ile kontrol edin, 26.x için Java 25 kurun
Failed to bind to port25565 zaten kullanımdasudo ss -tulpn | grep 25565 ile süreci bulup durdurun
Permission deniedDizin sahipliği yanlışsudo chown -R minecraft:minecraft /opt/minecraft
You need to agree to the EULAeula.txt onaylanmamışeula=true yapıp yeniden başlatın
Connection refusedGüvenlik duvarı veya server-ip doluUFW kuralını ekleyin, server-ip satırını boşaltın
Can’t keep up! Is the server overloaded?Tick süresi 50 ms’yi aşıyorview-distance düşürün, eklenti profili çıkarın
Linux’ta Minecraft sunucusu kurarken en sık görülen hatalar

Bu tabloda çözemediğiniz bir hatayla karşılaşırsanız önce journalctl -u minecraft -n 200 çıktısına, sonra logs/latest.log dosyasına bakın. Java yığın izinin ilk beş satırı genellikle sorumlu eklentiyi doğrudan gösterir.

Kurulumdan Sonra: Eklentiler ve Optimizasyon#

Sunucu ayakta olduğuna göre sıradaki adım içerik ve performanstır. Paper tabanlı bir sunucuda eklentiler /opt/minecraft/server/plugins dizinine .jar olarak atılır ve sunucu yeniden başlatılır. İzin yönetimi için LuckPerms, temel komut seti için EssentialsX, bölge koruması için WorldGuard ilk kurulacaklar arasındadır; kurulum sırası ve bağımlılıklar plugin kurulumu rehberinde anlatılıyor.

Performans tarafında ise iki dosya belirleyicidir: config/paper-global.yml ve spigot.yml. Varsayılan değerler güvenli ama muhafazakârdır; yaratık limitleri, chunk yükleme davranışı ve entity aktivasyon aralıkları ayarlandığında aynı donanımda belirgin fark alırsınız. Tam liste ve önerilen değerler TPS’i 20’de tutma rehberinde.

Sunucunun sağlığını gözlemek için üç komut yeter. htop ile java sürecinin CPU ve bellek kullanımını, df -h ile disk doluluğunu, free -h ile sistemde kalan boş belleği izleyin. Java heap’i -Xms ile önceden ayrıldığı için free -h çıktısında sunucu boştayken bile yüksek kullanım görürsünüz; bu normaldir, sorun değildir. Asıl bakmanız gereken available sütunudur: bu değer sürekli birkaç yüz megabaytın altına düşüyorsa heap fazla verilmiş demektir.

Oyun içi tarafta ise TPS’i tps komutuyla anlık olarak kontrol edebilirsiniz. Paper, son bir dakika, beş dakika ve on beş dakikalık ortalamaları döndürür. Bir numaralı değer sürekli 19’un altındaysa sunucu tick’leri yetiştiremiyor demektir; bu durumda önce view-distance ve simulation-distance değerlerini birer kademe düşürün, sonra eklenti profili çıkarın. Sunucuya IP yerine alan adıyla bağlanılmasını istiyorsanız DNS tarafında bir A kaydı yeterlidir; port 25565 dışında bir değer kullanıyorsanız SRV kaydı da tanımlamanız gerekir.

SonuçBu noktada elinizde şunlar olmalı: Java 25 kurulu bir Ubuntu makinesi, /opt/minecraft/server altında kendi kullanıcısıyla çalışan bir Paper 26.2 sunucusu, önyüklemede otomatik açılan bir systemd servisi, açık bir 25565/TCP portu ve her gece çalışan bir yedekleme görevi. Kurulum tamamlanmıştır.

Özetle#

Linux üzerinde Minecraft sunucu kurulumunun özü sekiz adımdır: SSH ile bağlan, sistemi güncelle, Java 25 kur, ayrı kullanıcı aç, jar’ı indir, EULA’yı onayla, start.sh + systemd ile kalıcı hale getir, UFW ile portu aç. Bu sırayı bozmadan ilerlediğinizde ne izin hatası ne de port sorunu yaşarsınız.

Kalıcı iki kural var: sunucuyu asla root ile çalıştırmayın ve yedeği aynı makinede tutmayın. Geri kalan her şey — eklentiler, oyun modu, dünya ayarları — sonradan değiştirilebilir, ama bu ikisinde yapılan hatanın telafisi olmuyor.

Kendi donanımınızı yönetmek istemiyorsanız Batihost Minecraft sunucu paketleri Java 25 kurulu, Ryzen ve NVMe tabanlı hazır yapılandırmalarla 156 TL’den başlıyor; tam kontrol isteyenler içinse VDS paketlerinde bu rehberdeki kurulumu ilk dakikadan itibaren uygulayabilirsiniz.

Sıkça Sorulan Sorular#

Ubuntu’da Minecraft sunucusu için hangi Java sürümü gerekir?

Minecraft 26.1 ve sonrası için Java 25 gerekir; güncel kararlı sürüm 26.2 de Java 25 ister. 1.20.5-1.21.11 aralığı Java 21, 1.17-1.20.4 aralığı Java 17, 1.16.5 ve öncesi Java 8 ile çalışır. Sunucu tarafında Eclipse Temurin gibi bir LTS dağıtımı tercih edin. Java 26 çıktı ancak LTS değildir, üretim sunucusunda kullanmayın.

Minecraft sunucusunu root kullanıcısıyla çalıştırmak sakıncalı mı?

Evet, ciddi bir güvenlik hatasıdır. Bir eklenti açığı ya da kötü niyetli bir jar, root ile çalışan süreçte tüm sisteme erişir. Doğru yöntem adduser ile ayrı bir minecraft kullanıcısı açmak, sunucu dizininin sahipliğini bu kullanıcıya vermek ve systemd unit dosyasında User=minecraft satırını kullanmaktır.

screen mi systemd mi kullanmalıyım?

İkisini birlikte kullanın. screen, SSH oturumu kapandığında sunucunun kapanmasını önler ve konsola geri dönmenizi sağlar. systemd ise makine yeniden başladığında sunucuyu otomatik açar ve çökme sonrası tekrar ayağa kaldırır. Yaygın kurulum, systemd unit dosyasının içinde screen oturumu başlatmak ve konsola screen -r ile bağlanmaktır.

Sunucu açılıyor ama dışarıdan bağlanılamıyorsa ne yapmalıyım?

Önce portun dinlendiğini doğrulayın: sudo ss -tulpn | grep 25565 çıktısında java süreci görünmeli. Görünüyorsa sorun güvenlik duvarındadır; sudo ufw allow 25565/tcp kuralını ekleyin. Sağlayıcı tarafında ayrı bir ağ filtresi varsa oradan da açılması gerekir. server.properties içindeki server-ip satırı boş olmalıdır.

Debian veya AlmaLinux üzerinde adımlar değişir mi?

Mantık aynı, paket yöneticisi ve güvenlik duvarı farklıdır. Debian 12’de apt kullanılır ve akış neredeyse birebir aynıdır; ayrıntılar Debian kurulum sayfasında var. AlmaLinux ve Rocky Linux’ta apt yerine dnf, UFW yerine firewalld devreye girer, ayrıca SELinux ayarı gerekebilir; RHEL tabanlı kurulum sayfasına bakın.

EULA hatası alıyorum, sunucu hemen kapanıyor. Neden?

İlk çalıştırmada Minecraft eula.txt dosyasını oluşturur ve lisans sözleşmesini onaylamadığınız için kapanır. Dosyayı açıp eula=false satırını eula=true yapın, kaydedin ve sunucuyu yeniden başlatın. Tek satırlık hali: sed -i "s/eula=false/eula=true/" eula.txt. Ayrıntı için EULA hatası sayfasına bakın.

Sunucu jar dosyasını hangi dizine koymalıyım?

Yaygın ve önerilen yol /opt/minecraft/server dizinidir. /opt altındaki dizinler dağıtım paket yöneticisi tarafından yönetilmez, bu yüzden güncellemelerden etkilenmez. Alternatif olarak /home/minecraft/server da kullanılabilir. Hangi yolu seçerseniz seçin dizinin sahibi minecraft kullanıcısı olmalıdır.

Kaç GB RAM ile başlamalıyım?

Alt sınır 8 GB’dır. 2-10 oyunculu vanilla veya hafif eklentili bir sunucuda 8 GB paket ile -Xms6G -Xmx6G, 10-30 oyunculu eklentili Paper sunucusunda 10-12 GB, 30-60 oyunculu yapılarda 16 GB kullanın. Forge/Fabric modpacklerinde 16 GB tabandır, büyük modpacklerde 24-32 GB gerekir. İşletim sistemine daima yaklaşık 2 GB pay bırakın.

Linux ve Ubuntu’da Sunucu Kurulumu — Tüm Rehberler#

  1. Linux ve Ubuntu Üzerinde Minecraft Sunucu Kurulumu
  2. Linux’a Java 25 Kurulumu (Ubuntu, Debian, AlmaLinux)
  3. screen ve tmux ile Minecraft Sunucusunu Arka Planda Çalıştırma
  4. systemd Servisi ile Minecraft Sunucusunu Otomatik Başlatma
  5. Ubuntu’da Paper Minecraft Sunucusu Kurulumu
  6. Ubuntu’da Forge Modlu Minecraft Sunucusu Kurulumu
  7. Ubuntu’da Fabric Minecraft Sunucusu Kurulumu
  8. Debian Üzerinde Minecraft Sunucu Kurulumu
  9. AlmaLinux / Rocky Linux Üzerinde Minecraft Sunucu Kurulumu
  10. UFW ile Minecraft Sunucu Portunu Açma
  11. Ubuntu’da Minecraft Bedrock Dedicated Server Kurulumu
  12. Docker ile Minecraft Sunucusu Kurma ve Yönetme

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön