İlk Siparişe Özel %20 İndirim Kodu:
Oyun Sunucuları

Ubuntu 24.04'te Paper ile Minecraft Sunucusu Kurulumu

Ubuntu 24.04 üzerinde PaperMC ile Minecraft Java sunucusu kurma adımları, Java 21 kurulumu, JVM bellek yapılandırması ve systemd servisi.

4 dk okuma

İçindekiler

Ubuntu 24.04 LTS üzerinde PaperMC kullanarak Minecraft Java Edition sunucusu kurmak, standart Vanilla sunucuya kıyasla çok daha yüksek işlem performansı, optimize edilmiş bellek kullanımı ve eklenti desteği sağlar. Bu rehberde Java 21 çalışma ortamının hazırlanmasını, ayrıcalıksız sistem kullanıcısı ile güvenlik izolasyonunu, PaperMC Fill v3 API üzerinden en güncel kararlı derlemenin indirilmesini, doğru JVM bellek parametrelerini ve sunucunun systemd servisiyle arka planda sürekli çalıştırılmasını bulabilirsiniz.

Sistem gereksinimleri ve Java 21 kurulumu

Minecraft Java Edition 1.20.5 ve 1.21+ sürümleri en az Java 21 sürümüne ihtiyaç duyar. Sunucu ortamlarında grafiksel arayüz (GUI) bileşenleri gerekmediğinden, gereksiz kütüphanelerle sistemi yormamak adına OpenJDK headless çalışma ortamı tercih edilir.

Paket listesini güncelleyip Java 21 headless paketi ile birlikte API sorguları için curl ve jq araçlarını kurun:

sudo apt update
sudo apt install -y openjdk-21-jre-headless curl jq

Sunucu kullanıcısı ve dizin yapısının hazırlanması

Minecraft sunucusunu doğrudan root yetkisiyle çalıştırmak, olası bir eklenti veya yazılım açığında tüm işletim sisteminin güvenliğini tehlikeye atar. Bu nedenle sunucu dosyalarını barındıracak ayrıcalıksız bir sistem kullanıcısı ve özel bir dizin oluşturulmalıdır.

Aşağıdaki komut, oturum açma kabuğuna sahip ancak sistem servisleri için ayrılmış minecraft kullanıcısını ve /opt/minecraft ev dizinini oluşturur:

sudo useradd -r -m -d /opt/minecraft -s /bin/bash minecraft

PaperMC sunucu dosyasının indirilmesi

PaperMC, sürümlerini ve derlemelerini Fill v3 API üzerinden sunar. Sürüm bağlantılarını tarayıcıdan aramak yerine, doğrudan PaperMC API uç noktasını sorgulayarak belirtilen Minecraft sürümünün (örneğin 1.21.1) en son kararlı derlemesini dinamik olarak alıp indirebilirsiniz.

Aşağıdaki komut /opt/minecraft dizinine geçer, en güncel derlemenin indirme bağlantısını çeker ve dosyayı paper.jar olarak kaydeder:

cd /opt/minecraft
VERSION="1.21.1"
DOWNLOAD_URL=$(curl -fsSL -H "User-Agent: treas-rehber/1.0" "https://fill.papermc.io/v3/projects/paper/versions/${VERSION}/builds/latest" | jq -r '.downloads."server:default".url')
curl -fsSL -H "User-Agent: treas-rehber/1.0" -o /opt/minecraft/paper.jar "${DOWNLOAD_URL}"

EULA onayı ve dosya izinleri

Minecraft sunucusu ilk çalıştırmada Mojang Son Kullanıcı Lisans Sözleşmesi (EULA) kabulü bekler. Sunucu klasöründe eula=true değerine sahip bir eula.txt dosyası oluşturarak bu adımı otomatik olarak tamamlayabilirsiniz. Ardından indirilen dosya ve dizinlerin sahipliğini minecraft kullanıcısına devredin:

echo "eula=true" | sudo tee /opt/minecraft/eula.txt
sudo chown -R minecraft:minecraft /opt/minecraft

Sunucunun ilk kez başlatılması

Paper sunucusu varsayılan olarak TCP 25565 portu (25565/tcp) üzerinden istemci bağlantılarını dinler. İlk başlatmada sunucu gerekli dünya dosyalarını oluşturur, çekirdek yamalarını uygular ve bağlantıları kabul etmeye başlar:

# sunucuyu başlatır
cd /opt/minecraft
sudo -u minecraft java -Xms2G -Xmx2G -jar paper.jar --nogui

Java sanal makinesi (JVM) bellek ayarları

Minecraft sunucularında -Xms (başlangıç belleği) ve -Xmx (maksimum bellek) değerlerinin birbirinden farklı girilmesi yaygın bir hatadır. İki değer farklı olduğunda, Java sanal makinesi bellek havuzunu çalışma anında genişletmeye çalışırken çöp toplayıcı duraklamalarına (stop-the-world) yol açar; bu durum oyunda anlık donma ve tick kayıplarına sebep olur.

Sunucu belleğinizi planlarken işletim sistemi çekirdeğine ve disk önbelleğine en az 1-2 GB pay bırakmanız önerilir:

VDS Toplam RAMBaşlangıç Belleği (-Xms)Maksimum Bellek (-Xmx)Kalan Sistem Payı
4 GB2G2G2 GB
8 GB6G6G2 GB
16 GB12G12G4 GB
32 GB24G24G8 GB

Güvenlik duvarı (UFW) yapılandırması

Ubuntu üzerinde UFW (Uncomplicated Firewall) aktifse, oyuncuların sunucuya bağlanabilmesi için varsayılan TCP 25565 portuna gelen trafiğe izin verilmelidir:

sudo ufw allow 25565/tcp

Sunucuyu systemd ile otomatik servis haline getirme

Sunucuyu terminalde açık bırakmak veya screen oturumu kullanmak, sistem yeniden başlatıldığında ya da beklenmedik bir süreç çökmesinde sunucunun kapalı kalmasına yol açar. Kalıcı ve profesyonel bir yapılandırma için bir systemd servis birimi tanımlanmalıdır.

Aşağıdaki komut, sunucuyu arka planda minecraft kullanıcısı ile çalıştıran ve hata durumunda 10 saniye içinde yeniden başlatan bir servis oluşturur:

cat <<'EOF' | sudo tee /etc/systemd/system/minecraft.service
[Unit]
Description=Paper Minecraft Sunucusu
After=network.target

[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx2G -jar /opt/minecraft/paper.jar --nogui
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft

Sunucu yönetimi ve izleme

Oluşturduğunuz minecraft servisinin çalışma durumunu incelemek ve canlı sunucu konsol loglarını takip etmek için systemctl ve journalctl araçlarını kullanabilirsiniz:

# örnek, çalıştırma
sudo systemctl status minecraft
journalctl -u minecraft -f

Sunucu performansı ve altyapı seçimi

Minecraft Java sunucularının ana oyun döngüsü (tick döngüsü) tek çekirdek üzerinde çalışır. Bu nedenle yüksek saat hızına (IPC) sahip işlemciler, çok sayıda oyuncu ve karmaşık kızıltaş (redstone) mekanizmalarının bulunduğu dünyalarda gecikmeleri en aza indirir. Ayrıca dünyanın hızlı yüklenmesi için NVMe depolama performansı kritik öneme sahiptir.

Yüksek oyuncu sayısı veya yoğun eklenti paketleri içeren projeleriniz için Performans VDS paketlerinde AMD Ryzen 9 7950X işlemci ve DDR5 bellek sunulur. En yüksek tek çekirdek frekansına ihtiyaç duyan rekabetçi oyun sunucuları için Ekstrem VDS paketlerinde AMD Ryzen 9 9950X işlemci kullanılır. Depolama tarafında Samsung 990 Pro Gen4 NVMe diskler yer alırken, işlemci çekirdekleri her zaman ayrılmış (dedicated) vCore olarak tanımlanır.

Oyun sunucularına yönelik saldırılara karşı TRSHIELD DDoS koruması her pakette ek ücret olmadan sunulur. TRSHIELD Minecraft Java profili hazır koruma sağlar ve sunucu listesindeki ping (durum) isteklerini doğrudan koruma noktalarında (PoP) yanıtlayarak sunucunun işlemci yükünü korur. Ayrıca sunucunuzda eklenti güncellemesi veya köklü dünya değişiklikleri yapmadan önce durumunuzu güvenceye almanız için her VDS paketinde 1 adet ücretsiz snapshot hakkı yer alır. Sunucular Mars İstanbul Veri Merkezi altyapısında barındırılır.

Sık sorulan sorular

Minecraft Java sunucusu için neden Paper tercih edilir?

Paper, Minecraft Vanilla sunucu motorunun performans odaklı bir çatalıdır. Ağ işleme, blok yükleme ve varlık hesaplamalarını optimize ederek sunucu üzerindeki işlemci ve bellek yükünü azaltır, ayrıca eklenti desteği sunar.

Minecraft 1.21 için hangi Java sürümü gereklidir?

Minecraft 1.20.5 ve sonraki sürümler en az Java 21 gerektirir. Sunucu ortamında grafik arayüze ihtiyaç olmadığı için OpenJDK 21 headless paketi tercih edilmelidir.

Sunucuyu neden root kullanıcısıyla çalıştırmamak gerekir?

Sunucu yazılımında veya yüklenen üçüncü taraf eklentilerde oluşabilecek bir güvenlik açığı durumunda, sürecin tüm işletim sistemi üzerinde yetki kazanmasını önlemek için sunucuyu ayrıcalıksız bir sistem kullanıcısı ile çalıştırmak temel bir güvenlik kuralıdır.

JVM başlatma parametrelerinde -Xms ve -Xmx neden eşit olmalıdır?

Minimum (-Xms) ve maksimum (-Xmx) bellek miktarı eşit ayarlandığında, Java sanal makinesi çalışma sırasında belleği genişletmek için duraklama yapmaz; bu da oyun içi ani gecikmeleri önler.

Yeni sistem yönetimi ve ağ rehberlerimizi arama sonuçlarında öncelikli görmek için:Google'da tercih edilen kaynaklara ekle (dış bağlantı)