Takip et

Ubuntu 20.04 Üzerinde Kendi Minecraft Sunucunuzu Kurma Rehberi

Ubuntu 20.04 Üzerinde Kendi Minecraft Sunucunuzu Kurma Rehberi Giriş Minecraft, dünya genelinde milyonlarca oyuncusu olan, yaratıcılığı ve k

Ubuntu 20.04 Üzerinde Kendi Minecraft Sunucunuzu Kurma Rehberi

Giriş

Minecraft, dünya genelinde milyonlarca oyuncusu olan, yaratıcılığı ve keşfi teşvik eden popüler bir sandbox oyunudur. Kendi Minecraft sunucunuzu kurmak, arkadaşlarınızla veya topluluğunuzla özel bir oyun alanı oluşturmanın en iyi yoludur. Bu sayede oyun deneyiminizi tamamen kişiselleştirebilir, kendi kurallarınızı belirleyebilir, modlar ve eklentilerle sunucunuzu zenginleştirebilirsiniz. Ubuntu 20.04 LTS (Long Term Support), kararlılığı, geniş topluluk desteği ve açık kaynak doğası sayesinde Minecraft sunucusu barındırmak için mükemmel bir işletim sistemidir. Bu kapsamlı rehberde, Ubuntu 20.04 üzerinde baştan sona bir Minecraft sunucusu kurmanın tüm adımlarını detaylı bir şekilde ele alacağız. İster Vanilla (saf) bir sunucu, ister performans odaklı bir Spigot veya Paper sunucusu kurmak isteyin, bu rehber size yol gösterecektir.

Kendi sunucunuzu kurmanın temel avantajları arasında daha iyi performans, daha düşük gecikme (ping), tam kontrol ve istediğiniz zaman sunucuyu özelleştirebilme özgürlüğü bulunur. Ayrıca, sunucunuzun verilerini ve güvenlik ayarlarını tamamen siz yönetirsiniz. Bu rehber, temel Linux komut bilgisine sahip olan herkesin kolayca takip edebileceği şekilde hazırlanmıştır.

Ön Gereksinimler ve Sistem Hazırlığı

Minecraft sunucusu kurmaya başlamadan önce, bazı temel ön gereksinimleri karşılamanız ve sisteminizi hazırlamanız gerekmektedir.

Donanım Gereksinimleri

Minecraft sunucusunun donanım gereksinimleri, sunucuda aynı anda oynayacak oyuncu sayısı, yüklü modlar/eklentiler ve dünya boyutu gibi faktörlere bağlı olarak değişir.
* CPU: Çoğu Minecraft sunucusu tek çekirdek performansına bağımlıdır, bu yüzden yüksek saat hızına sahip bir CPU tercih edilir. Küçük sunucular için 2 çekirdek yeterli olabilirken, büyük sunucular için 4+ çekirdek önerilir.
* RAM: En kritik faktörlerden biridir.
* 1-5 oyuncu: 2-4 GB RAM
* 5-10 oyuncu: 4-6 GB RAM
* 10-20 oyuncu: 6-8 GB RAM
* 20+ oyuncu veya çok sayıda mod/eklenti: 8 GB ve üzeri RAM
* Depolama: SSD (Katı Hal Sürücüsü) kullanmak, dünya yükleme sürelerini ve genel sunucu performansını önemli ölçüde artıracaktır. En az 20-40 GB boş alan önerilir.
* Ağ Bağlantısı: Yüksek hızlı ve düşük gecikmeli bir internet bağlantısı (fiber optik tercih edilir) sorunsuz bir oyun deneyimi için olmazsa olmazdır.

Yazılım Ön Gereksinimleri

* Ubuntu 20.04 LTS: Sanal özel sunucu (VPS) veya fiziksel bir makine üzerine kurulu olmalıdır.
* SSH Erişimi: Sunucuya uzaktan bağlanmak ve komutları çalıştırmak için SSH (Secure Shell) erişiminiz olmalıdır. Windows kullanıcıları için PuTTY veya WSL (Windows Subsystem for Linux), macOS ve Linux kullanıcıları için ise terminal yeterlidir.
* Yönetici Yetkileri (sudo): Sistem üzerinde değişiklik yapabilmek için sudo yetkilerine sahip bir kullanıcıyla oturum açmanız gerekmektedir.

Sistem Güncellemeleri

Sunucunuzun güncel olduğundan emin olmak, güvenlik açıklarını kapatmak ve en yeni paketlere erişmek için ilk adım sisteminizi güncellemek olmalıdır.

sudo apt update
sudo apt upgrade -y

Bu komutlar, paket listelerini günceller ve mevcut tüm paketleri en son sürümlerine yükseltir.

Java Kurulumu

Minecraft sunucusu bir Java uygulamasıdır, bu yüzden Java Runtime Environment (JRE) veya Java Development Kit (JDK) kurulu olması gerekir. Minecraft’ın güncel sürümleri (1.17 ve sonrası) genellikle Java 17 veya daha yüksek sürümleri gerektirir. OpenJDK, açık kaynak bir Java uygulamasıdır ve sunucular için tercih edilir.

sudo apt install openjdk-17-jre-headless -y

openjdk-17-jre-headless paketi, sunucusuz ortamlar için optimize edilmiş Java 17 JRE sürümünü kurar. Kurulumun başarılı olup olmadığını kontrol etmek için:

java -version

Çıktı olarak Java 17 sürümünü görmelisiniz.

Gerekli Paketlerin Kurulumu

Minecraft sunucusunu daha verimli yönetmek için bazı ek paketlere ihtiyacımız olacak:
* screen: Bir SSH oturumunu kapattıktan sonra bile sunucu uygulamasının arka planda çalışmasını sağlayan çok kullanışlı bir araçtır.
* wget: Dosyaları internetten indirmek için kullanılır.
* curl: wget‘e benzer, ancak bazı durumlarda daha esnek olabilir.
* nano veya vim: Metin dosyalarını düzenlemek için bir editör. nano yeni başlayanlar için daha kolaydır.

sudo apt install screen wget curl nano -y

Güvenlik Duvarı Yapılandırması (UFW)

Ubuntu’da varsayılan güvenlik duvarı olan UFW (Uncomplicated Firewall) ile sunucunuzu güvende tutmak önemlidir. Minecraft sunucusu varsayılan olarak 25565 numaralı TCP portunu kullanır. Bu portu açmanız gerekmektedir.

sudo ufw allow 25565/tcp
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

* sudo ufw allow 25565/tcp: Minecraft sunucusunun erişebilmesi için 25565 portunu açar.
* sudo ufw allow OpenSSH: SSH bağlantısının kesilmemesi için SSH portunu (varsayılan 22) açar.
* sudo ufw enable: Güvenlik duvarını etkinleştirir. Bu komutu çalıştırdığınızda bağlantınızın kesilebileceğine dair bir uyarı alabilirsiniz, ‘y’ tuşuna basarak onaylayın.
* sudo ufw status: Güvenlik duvarı kurallarını kontrol eder. Çıktıda 25565/tcp ve OpenSSH’nin izin verilenler listesinde olduğunu görmelisiniz.

Özel Bir Minecraft Kullanıcısı Oluşturma

Güvenlik açısından, Minecraft sunucusunu root kullanıcısı veya ana yönetici kullanıcı yerine özel, kısıtlı yetkilere sahip bir kullanıcı altında çalıştırmak en iyi uygulamadır.

sudo adduser minecraft

Bu komut, minecraft adında yeni bir kullanıcı oluşturur ve sizden bir parola belirlemenizi ve isteğe bağlı diğer bilgileri girmenizi ister. Bilgileri boş bırakıp Enter tuşuna basabilirsiniz.
Şimdi bu yeni kullanıcıya geçiş yapın:

sudo su - minecraft

Artık minecraft kullanıcısının ev dizinindesiniz (/home/minecraft). Tüm sunucu dosyalarını bu dizine kaydedeceğiz.

Minecraft Sunucu Türleri

Minecraft sunucusu kurarken karşınıza birkaç farklı tür çıkacaktır. Her birinin kendine göre avantajları ve kullanım alanları vardır:

Vanilla (Resmi Mojang Sunucusu)

* Açıklama: Mojang tarafından resmi olarak yayınlanan sunucu yazılımıdır. Oyunun “saf” halini sunar, yani hiçbir mod veya eklenti desteği yoktur.
* Avantajları: Kurulumu en kolay olanıdır, en güncel Minecraft sürümleriyle anında uyumludur.
* Dezavantajları: Performans açısından diğerlerine göre daha az optimize olabilir, eklenti veya mod desteği yoktur.
* Kimler İçin: Sadece arkadaşlarıyla temel bir Minecraft deneyimi yaşamak isteyenler için idealdir.

Spigot/Paper (Performans ve Eklenti Desteği)

* Açıklama: Spigot, Vanilla sunucusunun optimize edilmiş bir versiyonudur ve Bukkit eklentileri için bir API (Uygulama Programlama Arayüzü) sağlar. Paper ise Spigot’un daha da optimize edilmiş, performans ve kararlılık odaklı bir çatalıdır (fork). Paper, genellikle Spigot’tan daha iyi performans sunar ve daha fazla optimizasyon ayarı içerir.
* Avantajları: Çok daha iyi performans, daha az RAM kullanımı, geniş eklenti yelpazesi (binlerce eklenti mevcuttur).
* Dezavantajları: Kurulumu Vanilla’dan biraz daha karmaşık olabilir, bazen en yeni Minecraft sürümüne uyum sağlaması birkaç gün sürebilir.
* Kimler İçin: Eklentilerle sunucusunu özelleştirmek, performanslı ve kalabalık sunucular kurmak isteyenler için vazgeçilmezdir. Bu rehberde Spigot/Paper kurulumuna da kısaca değineceğiz, ancak ana odak Vanilla üzerinde olacaktır.

Forge (Mod Desteği)

* Açıklama: Minecraft’a geniş çaplı modlar eklemek için kullanılan bir platformdur. Modlu bir sunucu kurmak istiyorsanız Forge’a ihtiyacınız vardır.
* Avantajları: Binlerce farklı mod ile oyun deneyimini kökten değiştirme imkanı sunar.
* Dezavantajları: Performans gereksinimleri genellikle çok daha yüksektir, mod uyumluluk sorunları yaşanabilir, kurulumu daha karmaşıktır.
* Kimler İçin: Belirli mod paketleriyle oynamak isteyen veya kendi modlu dünyasını yaratmak isteyen ileri düzey kullanıcılar içindir. Bu rehber Forge kurulumunu kapsamayacaktır.

Bu rehberde, öncelikle Vanilla sunucusu kurulumunu adım adım anlatacak, ardından Paper sunucusunun avantajlarına ve kurulum farklarına kısaca değineceğiz.

Minecraft Vanilla Sunucusu Kurulumu

Şimdi minecraft kullanıcısı olarak sunucu dosyalarını indirme ve yapılandırma işlemine geçebiliriz. Eğer henüz minecraft kullanıcısına geçmediyseniz, sudo su - minecraft komutunu kullanarak geçiş yapın.

Sunucu Dizinini Oluşturma

Sunucu dosyalarını düzenli tutmak için bir dizin oluşturalım:

mkdir minecraft_server
cd minecraft_server

Bu komutlar, minecraft_server adında bir dizin oluşturur ve içine girer.

Minecraft Sunucu .jar Dosyasını İndirme

Minecraft sunucu yazılımını Mojang’ın resmi web sitesinden indirmemiz gerekiyor. En güncel sürümün indirme bağlantısını bulmak için Minecraft.net’teki indirme sayfasına (veya Minecraft Wiki’ye) gidebilirsiniz. Örneğin, Minecraft 1.20.4 için bağlantı şöyle olabilir:

wget https://piston-data.mojang.com/v1/objects/5f11c3a0b596fc1b16f72e4866258d4486132689/server.jar

Not: Bu bağlantı zamanla değişebilir. Her zaman en güncel ve doğru server.jar indirme bağlantısını Mojang’ın resmi web sitesinden kontrol edin. Genellikle “Minecraft Server” sayfasında “Download minecraft_server.X.Y.Z.jar” şeklinde bir bağlantı bulunur. Bağlantıyı kopyalayıp wget komutunda kullanın. server.jar olarak yeniden adlandırmak için -O server.jar parametresini kullanmak iyi bir uygulamadır.

EULA (Son Kullanıcı Lisans Anlaşması) Kabulü

Minecraft sunucusunu ilk kez çalıştırdığınızda, Mojang’ın Son Kullanıcı Lisans Anlaşması’nı (EULA) kabul etmeniz istenir. İlk çalıştırmada sunucu otomatik olarak kapanır ve eula.txt adında bir dosya oluşturur.

java -Xmx1024M -Xms1024M -jar server.jar nogui

* java: Java sanal makinesini çalıştırır.
* -Xmx1024M: Sunucuya ayrılabilecek maksimum RAM miktarını (burada 1024 MB veya 1 GB) belirtir.
* -Xms1024M: Sunucunun başlangıçta ayıracağı RAM miktarını belirtir. Bu iki değerin eşit olması, sunucunun dinamik olarak RAM tahsis etme ihtiyacını azaltarak performansı artırabilir.
* -jar server.jar: Çalıştırılacak JAR dosyasını belirtir.
* nogui: Sunucunun grafiksel kullanıcı arayüzü olmadan çalışmasını sağlar (sunucular için standarttır).

Bu komutu çalıştırdıktan sonra sunucu birkaç saniye çalışır ve ardından kapanır. eula.txt dosyasının oluşturulduğunu göreceksiniz. Şimdi bu dosyayı düzenlememiz gerekiyor:

nano eula.txt

Dosyanın içinde eula=false yazan bir satır göreceksiniz. Bunu eula=true olarak değiştirin.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/minecrafteula).
#Tue Dec 05 10:00:00 UTC 2023
eula=true

Değişikliği kaydetmek için CTRL+O, ardından Enter ve çıkmak için CTRL+X tuşlarına basın.

server.properties Dosyasını Yapılandırma

eula.txt dosyasını kabul ettikten sonra, sunucuyu tekrar çalıştırdığınızda server.properties adında bir dosya oluşacaktır. Bu dosya, sunucunuzun tüm temel ayarlarını içerir.

java -Xmx1024M -Xms1024M -jar server.jar nogui

Sunucu bu kez tam olarak başlayacak ve dünya dosyalarını oluşturmaya başlayacaktır. Birkaç dakika sonra sunucunun tamamen yüklendiğini belirten mesajları göreceksiniz. Sunucuyu durdurmak için stop yazıp Enter tuşuna basın.

Şimdi server.properties dosyasını düzenleyebiliriz:

nano server.properties

Bu dosyada değiştirebileceğiniz bazı önemli ayarlar şunlardır:
* gamemode=survival: Oyuncuların başlangıç oyun modu (survival, creative, adventure, spectator).
* difficulty=easy: Oyun zorluğu (peaceful, easy, normal, hard).
* max-players=20: Aynı anda sunucuda olabilecek maksimum oyuncu sayısı.
* motd=A Minecraft Server: Sunucunuzun çok oyunculu listesinde görünen mesaj (Message of the Day).
* server-port=25565: Sunucunun dinleyeceği port. Varsayılanı 25565’tir ve genellikle değiştirilmez.
* online-mode=true: Eğer true ise, sadece orijinal Minecraft hesabı olan oyuncular bağlanabilir. false yaparsanız korsan hesaplar da bağlanabilir (güvenlik riski taşır ve önerilmez).
* view-distance=10: Oyuncuların ne kadar uzağı görebileceğini belirler. Daha düşük değerler performansı artırır.
* level-name=world: Dünya klasörünün adı.
* enable-query=false: Sunucu sorgu protokolünü etkinleştirir/devre dışı bırakır. Genellikle kapalı kalması önerilir.
* enable-rcon=false: RCON (Remote Console) erişimini etkinleştirir/devre dışı bırakır. Uzaktan sunucu komutları göndermek için kullanılır, ancak dikkatli yapılandırılmalıdır.

Ayarları yaptıktan sonra CTRL+O, Enter ve CTRL+X ile kaydedip çıkın.

Sunucuyu screen İçinde Çalıştırma

screen komutu, SSH oturumunuzu kapattıktan sonra bile Minecraft sunucusunun çalışmaya devam etmesini sağlar.
Yeni bir screen oturumu başlatın ve ona bir isim verin (örn. minecraft-server):

screen -S minecraft-server

Şimdi screen oturumunun içindesiniz. Burada sunucuyu başlatma komutunu çalıştırın:

java -Xmx2048M -Xms1024M -jar server.jar nogui

Önemli: -Xmx ve -Xms değerlerini sunucunuzun RAM kapasitesine göre ayarlayın. Örneğin, 4 GB RAM’iniz varsa, -Xmx3072M -Xms1024M (3 GB maksimum, 1 GB başlangıç) gibi bir değer kullanabilirsiniz. Her zaman sistemin kendisine de biraz RAM bırakmayı unutmayın.

Sunucu başladıktan sonra, screen oturumundan ayrılmak için CTRL+A, ardından D tuşlarına basın. Bu, sunucunun arka planda çalışmaya devam etmesini sağlar.

Sunucu Yönetimi Komutları

* screen oturumuna geri dönmek:

screen -r minecraft-server

Eğer birden fazla screen oturumunuz varsa ve ismini hatırlamıyorsanız, screen -ls komutu ile listeyi görebilirsiniz.
* Sunucuyu durdurmak: screen oturumuna geri dönüp konsola stop yazın ve Enter tuşuna basın.
* Sunucuyu yeniden başlatmak: stop komutuyla durdurduktan sonra yukarıdaki java -Xmx... komutunu tekrar çalıştırın.
* Sunucuyu zorla kapatmak (önerilmez): screen oturumuna geri dönüp CTRL+C tuşlarına basmak, sunucuyu aniden kapatır ve dünya verilerinde bozulmaya yol açabilir. Sadece acil durumlarda kullanın.

Spigot/Paper Sunucusu Kurulumu (Alternatif/Gelişmiş)

Paper, Spigot’un daha optimize edilmiş bir versiyonu olduğu için genellikle tercih edilir. Kurulum adımları Vanilla’ya çok benzerdir, ancak server.jar dosyasını indirme şekli farklıdır.

Paper Sunucu .jar Dosyasını İndirme

minecraft kullanıcısı olarak, minecraft_server dizininde olduğunuzdan emin olun (veya yeni bir dizin oluşturun).
Paper sunucu JAR dosyasını indirmek için PaperMC’nin resmi web sitesini (papermc.io) ziyaret edin. En güncel sürümün doğrudan indirme bağlantısını bulacaksınız.

wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/514/downloads/paper-1.20.4-514.jar -O paper.jar

Not: Bu bağlantı da zamanla değişebilir. Her zaman PaperMC web sitesinden en güncel sürümün doğru indirme bağlantısını kontrol edin. İndirdiğiniz dosyayı paper.jar olarak yeniden adlandırmak için -O paper.jar kullanmak, komutlarınızı daha tutarlı hale getirir.

EULA ve İlk Çalıştırma

Vanilla sunucusunda olduğu gibi, Paper sunucusunu ilk kez çalıştırdığınızda eula.txt dosyası oluşacak ve bunu eula=true olarak değiştirmeniz gerekecektir.

java -Xmx2048M -Xms1024M -jar paper.jar nogui

İlk çalıştırmadan sonra sunucu kapanacak, eula.txt ve server.properties gibi dosyalar oluşacaktır. eula.txt dosyasını düzenleyip eula=true yapın.

server.properties ve paper.yml Yapılandırması

server.properties dosyası Vanilla ile aynı temel ayarlara sahiptir. Ek olarak, Paper sunucuları genellikle paper.yml ve spigot.yml gibi ek yapılandırma dosyaları oluşturur. Bu dosyalar, sunucunuzun performansını ve çeşitli oyun mekaniklerini daha detaylı optimize etmenizi sağlar.
Örneğin, paper.yml içinde max-tick-time, no-tick-view-distance gibi performans artırıcı ayarlar bulabilirsiniz. Bu ayarları dikkatli bir şekilde inceleyerek sunucunuzu daha iyi hale getirebilirsiniz.

Eklenti Yükleme

Paper sunucunuz varsa, binlerce Bukkit/Spigot uyumlu eklentiyi kullanabilirsiniz. Eklentileri yüklemek için, .jar uzantılı eklenti dosyalarını plugins adında bir klasör oluşturup içine atmanız yeterlidir.

mkdir plugins

Ardından indirdiğiniz eklenti .jar dosyalarını bu plugins klasörüne kopyalayın ve sunucuyu yeniden başlatın.

Sunucu Yönetimi ve Optimizasyon

Minecraft sunucunuzu kurduktan sonra, onu verimli bir şekilde yönetmek ve en iyi performansı elde etmek için bazı adımlar atmanız gerekir.

RAM Tahsisi

Yukarıda bahsettiğimiz -Xmx ve -Xms parametreleri RAM tahsisi için kritik öneme sahiptir.
* -Xmx: Maksimum RAM (örneğin, 4 GB için -Xmx4096M).
* -Xms: Başlangıç RAM (örneğin, 1 GB için -Xms1024M).
Bu değerleri sunucunuzun toplam RAM’ini ve diğer sistem süreçlerinin ihtiyaçlarını göz önünde bulundurarak ayarlayın. Aşırı RAM tahsisi, sistemin diğer kısımlarını yavaşlatabilirken, yetersiz RAM tahsisi sunucunun çökmesine veya yavaşlamasına neden olabilir. Genellikle -Xmx değerini toplam RAM’in %70-80’i civarında tutmak iyi bir başlangıç noktasıdır.

Otomatik Başlangıç Betiği (systemd Servisi)

Sunucunuzun yeniden başlatılması durumunda Minecraft sunucusunun otomatik olarak başlamasını sağlamak için bir systemd servisi oluşturmak en iyi yöntemdir.
Öncelikle minecraft kullanıcısı olarak oturumunuzdan çıkın ve root veya sudo yetkilerine sahip kullanıcınıza geri dönün (exit komutuyla).
Servis dosyasını oluşturun:

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

Aşağıdaki içeriği dosyaya yapıştırın. User, WorkingDirectory ve ExecStart yollarının doğru olduğundan emin olun. -Xmx ve -Xms değerlerini kendi sunucunuza göre ayarlayın.

[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
Nice=1
WorkingDirectory=/home/minecraft/minecraft_server
ExecStart=/usr/bin/java -Xmx2048M -Xms1024M -jar server.jar nogui
ExecStop=/usr/bin/screen -p 0 -S minecraft-server -X eval 'stuff "stop"\015'
KillMode=none
Restart=on-failure

[Install]
WantedBy=multi-user.target

* User=minecraft: Sunucunun minecraft kullanıcısı altında çalışmasını sağlar.
* WorkingDirectory: Sunucu dosyalarının bulunduğu dizini belirtir.
* ExecStart: Sunucuyu başlatan komut.
* ExecStop: Sunucuyu güvenli bir şekilde durduran komut. screen oturumuna stop komutunu gönderir.
* Restart=on-failure: Sunucu beklenmedik bir şekilde çökerse otomatik olarak yeniden başlatılmasını sağlar.

Dosyayı kaydedip çıktıktan sonra, systemd servislerini yeniden yükleyin ve Minecraft servisini etkinleştirin:

sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft

Sunucunun durumunu kontrol etmek için:

sudo systemctl status minecraft

Eğer her şey yolundaysa, sunucunuz artık sistem başlangıcında otomatik olarak başlayacak ve gerektiğinde sudo systemctl stop minecraft veya sudo systemctl restart minecraft komutlarıyla yönetilebilecektir.

Düzenli Yedeklemeler

Dünya dosyalarınızı düzenli olarak yedeklemek, olası veri kayıplarına karşı en iyi önlemdir. Basit bir cron görevi veya harici bir yedekleme çözümü kullanabilirsiniz.
Örneğin, dünya klasörünü sıkıştırmak için:

sudo su - minecraft
cd minecraft_server
tar -cvpzf backup-$(date +%Y-%m-%d-%H-%M).tar.gz world

Bu komut, geçerli dünya klasörünüzü sıkıştırır ve adında tarih ve saat bulunan bir yedek dosyası oluşturur. Bu işlemi otomatik hale getirmek için crontab kullanabilirsiniz.

Performans İpuçları

* view-distance: server.properties dosyasındaki bu ayarı düşürmek, sunucu performansını önemli ölçüde artırır. 6-8 arası değerler genellikle iyi bir denge sağlar.
* PaperMC Optimizasyonları: Eğer Paper sunucusu kullanıyorsanız, paper.yml ve spigot.yml dosyalarındaki ayarları dikkatlice inceleyin. no-tick-view-distance, mob-spawner-tick-rate, entity-tracking-range gibi ayarlar performansı büyük ölçüde etkileyebilir.
* Chunk Pre-generation: Geniş bir dünya oluşturduysanız, oyuncular keşfe çıkmadan önce chunk’ları önceden oluşturmak, oyun sırasında lag’ı azaltabilir. WorldBorder gibi eklentiler bu iş için kullanılabilir.
* Gereksiz Eklentileri Kaldırma: Kullanmadığınız veya performansı olumsuz etkilediğini düşündüğünüz eklentileri kaldırın.
* Sunucuyu Düzenli Olarak Yeniden Başlatma: Bellek sızıntılarını ve birikmiş sorunları gidermek için sunucuyu düzenli aralıklarla (örneğin her 24 saatte bir) yeniden başlatmak faydalı olabilir.

Güvenlik ve Bakım

Bir sunucuyu yönetirken güvenlik ve düzenli bakım kritik öneme sahiptir.

SSH Güvenliği

* Parola Yerine Anahtar Tabanlı Kimlik Doğrulama: SSH bağlantılarınız için parola yerine SSH anahtarları kullanmak çok daha güvenlidir. Bu, kaba kuvvet saldırılarını büyük ölçüde engeller.
* Varsayılan SSH Portunu Değiştirme: SSH portunu (varsayılan 22) bilinmeyen bir porta değiştirmek, otomatik bot saldırılarını azaltabilir. Bunu /etc/ssh/sshd_config dosyasını düzenleyerek yapabilirsiniz.
* Fail2ban Kurulumu: Fail2ban, başarısız giriş denemelerini izleyerek kötü niyetli IP adreslerini otomatik olarak engelleyen bir araçtır.

UFW ile Port Yönetimi

Daha önce 25565 portunu açmıştık. Sunucunuzda başka servisler çalıştırmıyorsanız, gereksiz tüm portları kapalı tutmak önemlidir. Sadece ihtiyaç duyduğunuz portlara izin verin.

Düzenli Sistem Güncellemeleri

İşletim sisteminizi ve tüm yüklü paketleri düzenli olarak güncellemek, güvenlik açıklarını kapatır ve sistemin kararlılığını sağlar.

sudo apt update && sudo apt upgrade -y

Minecraft Sunucu Güncellemeleri

Yeni bir Minecraft sürümü çıktığında, sunucunuzu da güncellemek isteyebilirsiniz.
1. Sunucuyu durdurun (stop komutu veya sudo systemctl stop minecraft).
2. Eski server.jar (veya paper.jar) dosyasını yedekleyin veya yeniden adlandırın.
3. Yeni sürümün .jar dosyasını Mojang veya PaperMC web sitesinden indirin.
4. Sunucuyu tekrar başlatın.
Genellikle yeni bir sürüm, dünya dosyalarıyla uyumlu olacaktır, ancak büyük sürüm değişikliklerinde (örn. 1.19’dan 1.20’ye) dünya yükseltme işlemi biraz zaman alabilir. Her zaman önemli güncellemelerden önce dünya dosyalarınızın yedeğini alın.

Sorun Giderme

Kurulum veya çalıştırma sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

Java Hataları

* “Error: Could not find or load main class”: Java’nın doğru yüklenmediğini veya .jar dosyasının adının yanlış olduğunu gösterir. java -version ile Java sürümünü kontrol edin ve ls komutuyla .jar dosyasının adını doğrulayın.
* “Not enough memory” veya “OutOfMemoryError”: Sunucuya yeterli RAM tahsis edilmediğini gösterir. java -Xmx değerini artırın.

Port Sorunları

* Oyuncular bağlanamıyor:
* UFW güvenlik duvarının 25565 portuna izin verdiğinden emin olun (sudo ufw status).
* Eğer bir ev ağındaysanız, modem/router’ınızda port yönlendirme (port forwarding) yapmanız gerekebilir. 25565 portunu sunucunuzun yerel IP adresine yönlendirin.
* Sunucunuzun genel IP adresini doğru verdiğinizden emin olun.
* “Can’t bind to address”: Başka bir uygulamanın 25565 portunu kullandığı anlamına gelir. Bu durumda ya o uygulamayı durdurun ya da Minecraft sunucusunun server.properties dosyasındaki server-port değerini değiştirin (ve UFW’de yeni portu açın).

Performans Sorunları (Lag)

* Yukarıdaki “Performans İpuçları” bölümündeki önerileri uygulayın (RAM, view-distance, PaperMC ayarları).
* Sunucunuzun CPU ve RAM kullanımını htop veya top gibi komutlarla izleyin. Eğer CPU veya RAM sürekli %100’e yakınsa, donanım yükseltmesi gerekebilir.
* Ağ bağlantınızda sorun olup olmadığını kontrol edin (ping testleri).

EULA Kabul Edilmeme Sorunu

* eula.txt dosyasını eula=true olarak kaydettiğinizden emin olun. Dosya izinlerini de kontrol edebilirsiniz, ancak genellikle varsayılan izinler yeterlidir.

Sonuç

Tebrikler! Bu rehberi takip ederek Ubuntu 20.04 üzerinde kendi Minecraft sunucunuzu başarıyla kurdunuz. Artık arkadaşlarınızla veya dünyanın dört bir yanından oyuncularla kendi özel dünyanızda maceralara atılmaya hazırsınız. Vanilla bir sunucu kurmuş olsanız da, bu temel bilgilerle Paper veya Spigot gibi daha gelişmiş sunucu türlerine geçiş yapabilir, eklentilerle sunucunuzu zenginleştirebilirsiniz.

Unutmayın, bir sunucuyu yönetmek sürekli bir öğrenme sürecidir. Güvenlik güncellemelerini takip etmek, yedeklemeler yapmak ve sunucunuzun performansını optimize etmek, sorunsuz bir deneyim için kritik öneme sahiptir. Kendi Minecraft sunucunuzu kurmanın keyfini çıkarın!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.