cPanel yıllıkta ücretsiz taşıma + SSLHemen İncele
Buyukweb
Minecraft Sunucu Kurma: Java ve Bedrock Adım Adım

Minecraft Sunucu Kurma: Java ve Bedrock Adım Adım

Java (Paper) ve Bedrock sürümleri için adım adım sunucu kurulum rehberi. Donanım gereksinimleri, port açma ve 7/24 çalıştırma yöntemleri.

Minecraft sunucu kurma işlemi, Java sürümünde optimize edilmiş Paper yazılımını, Bedrock sürümünde ise Mojang tarafından sağlanan resmi ikili dosyaları yapılandırarak tamamlanır. Gereksinim duyulan donanım bileşenlerini belirleyip işletim sistemi üzerinde çalışma ortamını kurarak ve ağ yönlendirmelerini yaparak arkadaşlarınızla oynayabileceğiniz bağımsız bir dünya açabilirsiniz. Kendi bilgisayarınızın donanım kaynaklarını harcamak ve ev ağınızı dış internete açmak istemiyorsanız, doğrudan Minecraft sunucu kiralama hizmetlerinden yararlanabilir veya sanal sunucuda tam yönetim yetkisiyle süreci yönetebilirsiniz.

Kısa cevap:

  • Java sürümünde paketleri güncelleyin, OpenJDK kurun, Paper dosyasını indirip eula.txt onayını verin.
  • Bedrock sürümünde resmi Linux sunucu arşivini indirerek gerekli kütüphanelerle çalıştırın.
  • server.properties dosyasında port, görüş alanı ve simülasyon sınırlarını ayarlayın.
  • Güvenlik duvarı üzerinden Java için 25565 TCP, Bedrock için 19132 UDP portunu açın.

Minecraft sunucusu için gerekenler

Minecraft sunucu mimarisi, standart istemci uygulamasından farklı donanım gereksinimlerine sahiptir. Harita parçalarının (chunks) işlenmesi, mob yapay zekaları, blok güncellemeleri ve kızıltaş (redstone) mantık hesaplamaları büyük oranda tek bir ana işlem parçacığı (main thread) üzerinde yürütülür. Bu yapı nedeniyle çok çekirdekli ancak çekirdek başına saat frekansı düşük işlemciler yerine, tek çekirdek performansı yüksek işlemciler tercih edilmelidir. Yetersiz tek çekirdek performansı, oyuncu sayısı arttıkça saniye başına döngü sayısının (TPS - Ticks Per Second) ideal seviye olan 20 değerinden aşağı düşmesine yol açar. Oyun döngüsü 50 milisaniyelik süreyi aştığında blok kırma gecikmeleri ve varlık ışınlanmaları yaşanır.

Bellek tarafında ise eşzamanlı harita parçası yükü, oyuncu adedi ve sunucudaki eklenti (plugin) sayısı belirleyicidir. Java Sanal Makinesi (JVM), tahsis edilen bellek alanını dinamik biçimde kullanır. Yetersiz bellek ayrıldığında Java çöp toplayıcısı (garbage collector) belleği temizlemek için ana işlem döngüsünü anlık durdurabilir; bu durum oyunda ani takılmalara (lag spike) neden olur. Gereğinden aşırı bellek tanımlamak da temizlik periyotlarını uzatarak temizlik başladığında uzun süreli donmalara yol açabilir. Bu yüzden bellek miktarı, sunucudaki oyuncu sayısına ve eklenti profiline göre dengeli ayarlanmalıdır.

Aşağıdaki tabloda farklı kullanım profillerine göre başlangıç düzeyinde önerilen donanım bileşenleri yer almaktadır:

Sunucu Türü ve Oyuncu Profili İşlemci Yapısı Bellek (RAM) Disk Alanı Ağ Genişliği
Java (1–5 Oyuncu, Vanilla/Hafif) 2 Çekirdek (Yüksek Saat Frekansı) 4 GB DDR4/DDR5 25 GB NVMe 100 Mbps
Java (10–20 Oyuncu, Temel Eklentili) 4 Çekirdek (Yüksek Saat Frekansı) 8 GB DDR4/DDR5 50 GB NVMe 1 Gbps
Java (30+ Oyuncu, Geniş Eklentili) 6-8 Çekirdek (Yüksek Tek Çekirdek) 16 GB DDR4/DDR5 100 GB NVMe 1 Gbps
Bedrock (1–10 Oyuncu, Standart) 2 Çekirdek 2 GB RAM 20 GB NVMe 100 Mbps
Bedrock (20+ Oyuncu, Yoğun Harita) 4 Çekirdek 4 GB RAM 40 GB NVMe 1 Gbps

Depolama birimi seçimi, haritada gezinme akıcılığını doğrudan etkiler. Mekanik sabit diskler ya da veri aktarımı sınırlı SATA SSD birimleri yerine PCI Express veri yolunu kullanan NVMe sürücüler tercih edilmelidir. Oyuncular yeni araziler keşfettikçe harita bölgeleri sürekli okunur ve diske kaydedilir. NVMe sürücülerin sunduğu yüksek saniye başına girdi çıktı işlemi (IOPS) kapasitesi, disk kaynaklı beklemeleri azaltabilir; ancak harita üretimi, işlemci yükü ve eklentiler de takılmalara yol açabilir.

İşletim sistemi olarak grafik arayüz barındırmayan hafif Linux dağıtımları (Ubuntu Server veya Debian) donanım kaynaklarının arka planda tüketilmesini önler. Bu sayede bellek ve işlemci gücü doğrudan oyun sürecine aktarılır. Güçlü bir altyapıda barındırılan sanal özel sunucu altyapısı kullanıldığında, donanım kaynakları diğer kullanıcıların yüklerinden izole biçimde sunucunuza atanır.

Java sürümü sunucu kurulumu (Paper)

Spigot çatısının geliştirilmiş bir türevi olan Paper; asenkron harita parçası yükleme, bellek sızıntılarını önleme ve gelişmiş varlık yönetimi sunar. Bukkit ve Spigot için geliştirilmiş birçok eklentiyle çalışabilmekle birlikte, sunucu iç yapılarına doğrudan erişen eklentilerde Paper ve sürüm uyumluluğu ayrıca doğrulanmalıdır.

1. Sistem paketlerinin güncellenmesi ve kullanıcı oluşturulması

Sunucu yazılımlarını root hesabıyla çalıştırmak sistem güvenliği açısından risklidir. Güvenliği korumak adına yetkisi kısıtlanmış bir servis kullanıcısı tanımlayın:

sudo adduser --system --group --home /opt/minecraft minecraft

Paper 1.20.4 gibi sürümler asgari Java 17 gerektirirken, Minecraft 1.20.5 ile birlikte gereksinim Java 21 seviyesine çıkmıştır. Ubuntu 24.04 gibi güncel dağıtımlarda resmi depolardan veya dağıtımınıza uygun OpenJDK havuzunu ekleyerek grafik arayüzsüz Java çalışma ortamı ile gerekli araçları yükleyin:

sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-21-jre-headless screen wget curl -y

Kurulumu doğrulamak için Java sürümünü kontrol edin:

java -version

2. Dizin hiyerarşisi ve Paper dosyasının indirilmesi

Sunucu verilerinin bulunacağı çalışma dizinini oluşturun ve sahipliğini minecraft kullanıcısına verin:

sudo mkdir -p /opt/minecraft/java
sudo chown -R minecraft:minecraft /opt/minecraft

PaperMC proje havuzundan ilgili .jar dosyasını minecraft kullanıcısı yetkisiyle indirin:

cd /opt/minecraft/java
sudo -u minecraft wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/497/downloads/paper-1.20.4-497.jar

3. EULA sözleşmesinin kabul edilmesi

Minecraft sunucu dosyaları ilk çalıştırıldığında EULA sözleşmesi kabul edilmediği için süreci durdurur. Gerekli dosyaların oluşması için ilk çalıştırma komutunu verin:

sudo -u minecraft java -Xms2G -Xmx2G -jar paper.jar nogui

İşlem kapandıktan sonra dizinde oluşan eula.txt dosyasını açın:

sudo nano /opt/minecraft/java/eula.txt

Dosyadaki eula=false satırını eula=true olarak değiştirin ve belgeyi kaydedin.

4. Optimize edilmiş JVM parametreleriyle başlatma

Aikar G1GC parametreleri, Java çöp toplayıcısını optimize ederek duraklama sürelerini azaltmayı hedefler. İşletim sistemi ve yığın dışı bellek payı bırakılarak sunucunuzun RAM miktarına göre (örneğin 4 GB RAM içeren sunucuda 3 GB ayrılarak -Xms3G -Xmx3G) test başlatmasını yapın:

sudo -u minecraft java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -jar paper.jar nogui

Konsol ekranında [Server thread/INFO]: Done ifadesi göründüğünde dünya hazırlanmıştır. stop yazıp Enter tuşuna basarak sunucuyu kapatabilirsiniz.

Bedrock sürümü sunucu kurulumu

Minecraft Bedrock sürümü; mobil cihazlar, Windows istemcileri ve oyun konsolları arasındaki çapraz platform yapısını destekler. Bedrock sunucu yazılımı Java Sanal Makinesi kullanmaz; C++ ile derlenmiş ikili dosyalar üzerinden doğrudan işletim sistemi çekirdeğiyle iletişim kurar.

1. Kütüphanelerin hazırlanması

Bedrock sunucusu Linux üzerinde çalışabilmek için belirli ağ ve şifreleme kütüphanelerine ihtiyaç duyar. Paketleri yükleyin:

sudo apt update
sudo apt install curl unzip libcurl4 libssl3 ca-certificates -y

2. Bedrock dosyalarının indirilmesi

Bedrock sunucusu için alt dizin oluşturun ve yetkilerini tanımlayın:

sudo mkdir -p /opt/minecraft/bedrock
sudo chown -R minecraft:minecraft /opt/minecraft/bedrock
cd /opt/minecraft/bedrock

Bedrock istemcileri yalnızca sürüm uyumlu sunuculara bağlanabildiğinden, resmi indirme sayfasından oyuncuların sürümüyle eşleşen sunucu paketini temin edip arşivi açın:

# SURUM kismina istemcinizle eslesen paket surumunu yazin
sudo -u minecraft curl -H "User-Agent: Mozilla/5.0" -O https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-SURUM.zip
sudo -u minecraft unzip bedrock-server-SURUM.zip
sudo -u minecraft rm bedrock-server-SURUM.zip

3. Çalıştırma izni ve açılış

İndirilen bedrock_server dosyasına çalıştırma izni verin ve kütüphane yolunu belirterek başlatın:

sudo chmod +x /opt/minecraft/bedrock/bedrock_server
sudo -u minecraft LD_LIBRARY_PATH=/opt/minecraft/bedrock /opt/minecraft/bedrock/bedrock_server

Konsolda Server started. ve IPv4 supported, port: 19132 satırları belirdiğinde sunucu hazır demektir. stop yazarak süreci durdurabilirsiniz.

server.properties: en önemli ayarlar

Minecraft dünyasının oyun dinamikleri, zorluk derecesi, ağ portları ve sınırlandırmaları server.properties dosyasından yönetilir.

Java sürümü yapılandırması

Java sunucu dizinindeki /opt/minecraft/java/server.properties dosyasında yer alan temel parametreler şunlardır:

server-port=25565
gamemode=survival
difficulty=normal
pvp=true
max-players=20
view-distance=8
simulation-distance=6
online-mode=true
network-compression-threshold=256
  • server-port: İstemcilerin bağlanacağı TCP portudur (varsayılan 25565).
  • view-distance: Oyunculara gönderilen harita parçası mesafesidir. 7–8 aralığı kaynak kullanımını dengeler.
  • simulation-distance: Varlıkların ve ekinlerin işlendiği aktif alandır. Düşük değerler işlemci yükünü azaltabilir ancak darboğazı tek başına engellemez; uygun seviye oyuncu sayısı, dünya ve eklenti yükü gözlemlenerek belirlenmelidir.
  • online-mode: Mojang hesap doğrulaması yapar. Güvenlik için true kalmalıdır.
  • network-compression-threshold: Ağ paketlerinin sıkıştırma sınırıdır. 256 değeri işlemci ve bant genişliği dengesini korur.

Bedrock sürümü yapılandırması

Bedrock sunucu dizinindeki /opt/minecraft/bedrock/server.properties dosyası istemciye özgü parametreler barındırır:

server-port=19132
server-portv6=19133
gamemode=survival
difficulty=normal
max-players=10
view-distance=16
tick-distance=4
online-mode=true
  • server-port: Bedrock istemcilerinin bağlandığı UDP portudur (varsayılan 19132).
  • tick-distance: Java'daki simülasyon mesafesinin karşılığıdır. 4 değeri mob yükünü hafifletir.
  • view-distance: İstemcinin görebileceği arazi mesafesidir.
  • online-mode: Xbox Live kimlik doğrulamasını zorunlu kılar; true seçilmelidir.

Ayarların geçerli olması için sunucu sürecinin yeniden başlatılması gerekir.

Port açma ve arkadaşların bağlanması

Sunucu yazılımı çalışsa bile, ağ yönlendirmeleri ve güvenlik duvarı izin vermediğinde harici oyuncular sunucuya erişemez.

Ev ortamında modem port yönlendirmesi (Port Forwarding)

Sunucuyu evdeki kişisel bilgisayarınızda barındırıyorsanız, modem arayüzündeki Port Yönlendirme alanına kural girmelisiniz:

  • Java Sürümü: Bilgisayarınızın yerel IP adresi seçilip 25565 portu TCP protokolüyle yönlendirilir.
  • Bedrock Sürümü: Bilgisayarınızın yerel IP adresi seçilip 19132 portu UDP protokolüyle yönlendirilir.

Ev interneti bağlantılarında servis sağlayıcılar çoğu zaman CGNAT havuzunu kullanır. CGNAT yapısında harici IP adresiniz diğer abonelerle paylaşıldığı için dışarıdan gelen istekler doğrudan bilgisayarınıza ulaşamaz. Bu durumu aşmak için sağlayıcınızdan dinamik veya statik genel IPv4 adresi talep etmeniz ya da sanal sunucu kullanmanız gerekir.

Sunucu üzerinde işletim sistemi güvenlik duvarı yapılandırması

Veri merkezinde barındırılan sunucularda statik genel IP doğrudan sunucuya tanımlanır. Modem yönlendirmesine gerek kalmadan Linux güvenlik duvarında (UFW) ilgili portlara izin verilir (SSH farklı bir portta çalışıyorsa 22 yerine kullanılan gerçek porta izin verilmelidir):

sudo apt install ufw -y
sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp
sudo ufw enable
sudo ufw reload

Sistem portlarını korumak ve izinsiz taramaları engellemek için temel sunucu güvenliği koruma adımları rehberindeki önerileri uygulayabilirsiniz.

Java oyuncuları istemcideki Çok Oyunculu alanına sunucu IP adresini girer. Bedrock tarafında ise desteklenen Windows ve mobil istemcilerde Sunucular menüsündeki "Sunucu Ekle" kısmına IP ve 19132 portu yazılarak katılım sağlanır.

Sunucuyu 7/24 açık tutma ve yedekleme

SSH oturumu kapatıldığında işletim sistemi terminale bağlı çalışan süreçleri sonlandırır. Minecraft sunucusunun sürekli çalışması için sürecin arka planda tutulması veya sistem servisi yapılması gerekir.

Screen kullanarak arka planda çalıştırma

Screen aracı, oturum kapansa bile uçbirimi sanal bir ekranda canlı tutar. Terminal erişim izni hatasını önlemek adına sözde terminal oluşturarak minecraft kullanıcısı yetkisiyle oturum açın:

sudo -u minecraft script -q /dev/null -c "screen -S java-server /bin/bash"

Açılan pencerede başlatma komutunu girin:

cd /opt/minecraft/java
java -Xms3G -Xmx3G -jar paper.jar nogui

Uçbirimden ayrılmak için klavyeden Ctrl + A ardından D tuşuna basın. Ekrana tekrar dönmek için sudo -u minecraft script -q /dev/null -c "screen -r java-server" komutunu çalıştırın.

Systemd ile servis mimarisi kurma

Screen kullanımına alternatif olarak sistemin yeniden başlamasında sunucunun kendiliğinden ayağa kalkması için systemd servis birimi hazırlayabilirsiniz. Screen içinde açık bir oturum varsa aynı dünya dosyalarının çakışmaması için servisi başlatmadan önce sunucuyu stop komutuyla kapatmanız gerekir:

sudo nano /etc/systemd/system/minecraft-java.service

Aşağıdaki tanımlamaları dosyaya ekleyin:

[Unit]
Description=Minecraft Paper Oyun Sunucusu
After=network.target

[Service]
Type=simple
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/java
ExecStart=/usr/bin/java -Xms3G -Xmx3G -XX:+UseG1GC -jar paper.jar nogui
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-player.target

Servisi etkinleştirip çalıştırın:

sudo systemctl daemon-reload
sudo systemctl enable minecraft-java.service
sudo systemctl start minecraft-java.service

Güvenli yedekleme planı

Minecraft sunucuları dünyayı periyodik olarak kaydeder. Sunucu aktif yazma yaparken doğrudan dosya kopyalamak veri bozulmalarına yol açabilir. Paper sürümü Nether ve End boyutlarını world_nether ve world_the_end klasörlerinde saklar. Güvenli yedekleme için çalışan sunucu kullanılan yönteme (Screen veya systemd) göre durdurulmalı ve kapanışı doğrulanmadan arşivleme yapılmamalıdır. Systemd kullanılan senaryoda betiği root yönetimindeki /usr/local/sbin dizininde oluşturun:

sudo nano /usr/local/sbin/minecraft-yedekle.sh

Betiğe durdurma sonucunu denetleyen komutları ekleyin:

systemctl stop minecraft-java.service && tar -czf /opt/minecraft/yedek_$(date +%F).tar.gz /opt/minecraft/java/world*
systemctl start minecraft-java.service

Betiğe çalıştırma izni tanımlayın:

sudo chmod 700 /usr/local/sbin/minecraft-yedekle.sh

sudo crontab -e komutuyla her gece 04:00'te çalışacak bir zamanlanmış görev planlayın:

0 4 * * * /usr/local/sbin/minecraft-yedekle.sh

Daha gelişmiş veri güvenliği senaryoları için sunucu yedekleme stratejileri içeriğini inceleyebilirsiniz.

Hazır Minecraft sunucusu ile farkı

Kendi bağımsız sanal sunucunuzu kurmak ile hazır oyun paneli sunan çözümleri seçmek arasında yönetim özgürlüğü ve teknik bakım açısından farklar bulunur. Kendi sanal sunucunuzda Java sürümünü, çekirdek parametrelerini, port kurallarını ve Velocity veya BungeeCord gibi vekil sunucu ağlarını serbestçe düzenleyebilirsiniz. Bu yapı tam kontrol sağlar; ancak işletim sistemi güncellemelerini, güvenlik yapılandırmasını ve kaynak takibini bizzat yürütmeniz gerekir. Detaylı altyapı bilgisine VDS ile oyun sunucusu kurma makalesinden ulaşabilirsiniz.

Hazır yönetim panelleri ise doğrudan web arayüzü üzerinden tek tıkla eklenti kurma, otomatik yedekleme ve konsol yönetimi sağlar. Komut satırıyla işlem yapmak istemeyen kullanıcılar hazır altyapılarla hızlı başlangıç yapabilir.

Sanal makinenizi hazırlamak için VDS sunucu kurulum rehberi adımlarını izleyebilirsiniz. İhtiyacınıza uygun donanım yapılandırmasını belirleyip Minecraft sunucu kiralama seçeneklerini inceleyerek kendi dünyanızı hemen kurabilirsiniz.

Sık Sorulan Sorular

Java ve Bedrock oyuncuları aynı dünyada birlikte oynayabilir mi?

Evet, Paper tabanlı Java sunucularına GeyserMC ve Floodgate eklentileri yüklenerek Bedrock istemcilerinin aynı dünyaya katılması sağlanabilir. GeyserMC yazılımı Bedrock ağ paketlerini Java formatına dönüştürür. Böylece mobil cihaz ve bilgisayardaki Bedrock oyuncuları Java sunucusuyla birlikte oynayabilir; konsol istemcilerinde doğrudan özel sunucu ekleme desteği bulunmadığından ek DNS veya vekil bağlantı yöntemlerinin kullanılması gerekir.

Minecraft sunucusu için ne kadar RAM tahsis edilmelidir?

Az sayıda eklenti içeren küçük çaplı Java sunucularında 4 GB bellek başlangıç için yeterlidir. Oyuncu sayısı, harita büyüklüğü ve teknik eklentiler arttıkça bellek miktarı 8 GB veya 16 GB seviyesine yükseltilmelidir. Bedrock Dedicated Server için 2 GB ile 4 GB bellek aralığı başlangıç önerisi olarak değerlendirilebilir; bellek yeterliliği ve kararlılık gerçek yük altında gözlemlenerek doğrulanmalıdır.

Kendi bilgisayarımda sunucu açmak güvenli midir?

Kendi bilgisayarınızda sunucu açıp modemden port yönlendirdiğinizde ev internetinizin genel IP adresini dış dünyaya açmış olursunuz. Bu işlem tüm yerel ağı dışa açmasa da yönlendirilen port üzerinden çalışan sunucu uygulamasını harici erişime ve hedefli güvenlik açıklarına açık hale getirir. Oyunu veri merkezinde barındırmak ise evde harici oyun portu açma zorunluluğunu ortadan kaldırır.

Paper yerine Fabric veya Purpur tercih edilebilir mi?

Evet, sunucunuzda eklenti yerine mod paketleri çalıştırmak istiyorsanız mod yapısına göre Fabric, Forge veya NeoForge tercih etmelisiniz. Eklenti ekosisteminde kalarak Paper altyapısına ek performans ayarları ve oyun mekaniği düzenlemeleri katmak istediğiniz senaryolarda ise Purpur yazılımını kullanabilirsiniz.

Oyun Sunucuları İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#minecraft sunucu kurma#paper mc#bedrock server#oyun sunucusu#vds

Bu yazıyı paylaş

WhatsApp0850 302 60 70