Rehber Raspberry Pi ile güvenli Minecraft sunucusu kurma yöntemi (PaperMC & Tailscale)

Merhaba,

Recep Bey'in GNU/Linux deneyimlerini keyifle izledikten ve Linux topluluğuna yaptığı katkılardan ilham aldıktan sonra, ben de bu güzel forumun kütüphanesine ufak bir katkıda bulunmak istedim. Yakın zamanda bizzat deneyimleyip kurulumunu gerçekleştirdiğim Raspberry Pi üzerinde Minecraft Sunucusu Kurulumu rehberime hoş geldiniz!
Bu rehberde, evinizdeki Raspberry Pi'ı port açma derdi olmadan, tamamen güvenli ve performanslı bir Minecraft sunucusuna nasıl dönüştüreceğinizi adım adım anlatacağım.


Eğer kurulum adımlarına alternatif olarak doküman veya slayt görselleri üzerinden de ulaşmak isterseniz, aşağıdaki bağlantıları kullanabilirsiniz:

1. Donanım Gereksinimleri ve Ön Şema

Minecraft sunucunuzdan alacağınız performans, seçeceğiniz Raspberry Pi modeline ve oyuncu sayınıza doğrudan bağlıdır. İhtiyacınıza en uygun donanımı seçmek için aşağıdaki tabloyu inceleyebilirsiniz:

Model ve Kapasite Tablosu


Cihaz ModeliÖnerilen Oyuncu Sayısı / SenaryoDonanım Detayı
Raspberry Pi 4 (2 GB)1 - 2 Oyuncu (Vanilla / Asgari)Temel vanilla deneyimi için sınır değer.
Raspberry Pi 4 (4 GB)2 - 3 Oyuncu (Hafif Eklentili)Daha rahat ve akıcı bir oyun deneyimi.
Raspberry Pi 4 (8 GB)3+ Oyuncu (Modlu / Çoklu Eklenti)Hafif mod paketleri ve daha fazla oyuncu.
Raspberry Pi 5 (8 GB)3 - 5 Oyuncu (Ağır Modlu)Yüksek hesaplama gücü gerektiren teknik modlar.
Raspberry Pi 5 (16 GB)6+ Oyuncu (Yoğun Modlu)Kalabalık arkadaş grupları ve ağır mod paketleri.

Depolama Seçimi: MicroSD vs. SSD

Sunucunuz için en az 32 GB boyutunda bir depolama birimine ihtiyacınız var. Burada önünüzde iki seçenek bulunuyor:
  • MicroSD Kart: Kurulumu kolay ve maliyetsizdir. Ancak sunucuda dünya (map) genişledikçe ve oyuncu sayısı arttıkça okuma/yazma hızından ötürü darboğaz (lag) yaşatabilir.
    • Raspberry Pi 4B Kullanıcıları İçin: Pi 4B modeline doğrudan SSD takamaz veya entegre edemezsiniz. USB 3.0 to SATA dönüştürücü aparat kullanmanız gerekir. Bu aparat ek maliyet getirse de teorik olarak 625 MB/s (pratikte 450-500 MB/s) gibi bir aktarım hızı sunar ve sunucu performansı için harika sonuç verir.
    • Raspberry Pi 5 Kullanıcıları İçin: Pi 5 üzerindeki PCI-e hattını kullanarak bir M.2 NVMe genişletme kartı (HAT) satın alabilir ve doğrudan yüksek hızlı SSD kullanabilirsiniz.

2. Raspberry Pi Imager Kurulumu​

Raspberry Pi'ımıza işletim sistemi yazmak için resmi yazılım olan Raspberry Pi Imager'ı bilgisayarımıza kuruyoruz.

Windows Kullanıcıları İçin:​

  1. Resmi web sitesini ziyaret edin: Raspberry Pi Software
  2. "Download for Windows" seçeneğine tıklayarak kurulum dosyasını indirin ve kurun.

Linux Kullanıcıları İçin:​

Kullandığınız dağıtımın paket yöneticisini kullanarak terminal üzerinden saniyeler içinde kurulumu tamamlayabilirsiniz:

Arch Linux:

Bash:
sudo pacman -S rpi-imager

Debian / Ubuntu / Linux Mint:

Bash:
sudo apt install rpi-imager

Fedora:

Bash:
sudo dnf install rpi-imager



Kuruluma gelelim;

Adım 1: Cihaz Modelini Seçme (Pi Device)​

Uygulama arayüzündeki ilk seçenek olan "CHOOSE DEVICE" (Cihaz Seçin) butonuna tıklayın. Burada elinizde bulunan Raspberry Pi modelini (örneğin Raspberry Pi 4 veya Raspberry Pi 5) listeden seçmeniz gerekiyor. Doğru modeli seçmek, yazılımın cihazınıza en uygun yapılandırma dosyalarını indirmesini sağlayacaktır.



Adım 2: İşletim Sistemi Seçimi (OS)​

Cihazımızı belirledikten sonra "CHOOSE OS" (İşletim Sistemi Seçin) butonuna tıklıyoruz. Burada karşımıza iki temel seçenek çıkacaktır:

  1. Masaüstü Ortamı (GUI): Raspberry Pi'ınızı bir monitöre, klavyeye ve fareye bağlayarak normal bir bilgisayar gibi kullanmak istiyorsanız masaüstü arayüzü olan standart sürümü seçebilirsiniz.
  2. Terminal Sürümü (Lite / Önerilen): Sunucumuzu SSH üzerinden, yani sadece terminal kullanarak uzaktan yöneteceğimiz için "Raspberry Pi OS (Other)" kategorisi altından "Raspberry Pi OS Lite" (64-bit) sürümünü seçmenizi öneriyorum.
Neden Lite (Terminal) sürümü?Masaüstü arayüzü (GUI) arka planda çalışırken Raspberry Pi'ın değerli RAM ve işlemci (CPU) kaynaklarını tüketir. Sunucu kurarken temel amaç her zaman maksimum donanım tasarrufu sağlamaktır. "Lite" sürümü tercih ederek masaüstü yükünü tamamen sıfırlıyor, tüm donanım gücünü doğrudan Minecraft sunucumuza tahsis ediyoruz.



Önerdiğim OS:



Adım 3: Depolama Birimi Seçimi (Storage)​

İşletim sistemini belirledikten sonra "CHOOSE Storage" butonuna tıklayarak kurulum yapacağımız depolama birimini seçiyoruz.
Seçenekleriniz arasında taşınabilir diskler veya SSD'ler listelenebilir. Ancak sistem kararlılığı açısından Raspberry Pi'ın ana işletim sistemini ilk aşamada MicroSD karta kurmanızda fayda vardır. Eğer yüksek hızlı bir SSD kullanacaksanız, işletim sistemini SD karta kurup sistemi açtıktan sonra SSD'yi ayrıca sisteme bağlayıp (Mount edip) sadece sunucu dosyalarını orada barındıracak şekilde yapılandırabilirsiniz.



Adım 4: Yerel Ağ Adı (Hostname) Belirleme​

Gerekli seçimleri yaptıktan sonra yazma işlemine geçmeden önce karşımıza çıkan "OS Customisation" (İşletim Sistemi Özelleştirme) ayarlarına giriyoruz.
"General" sekmesi altında yer alan "Set hostname" seçeneğini aktif edin ve bu kısmı "raspberrypi" olarak belirleyin. Bu ayar, cihazınızın yerel ağda hangi isimle görüneceğini belirler. Böylece ağ üzerindeki diğer bilgisayarlardan Raspberry Pi'ye erişmek istediğimizde, karmaşık IP adreslerini ezberlemek zorunda kalmadan doğrudan bu ismi kullanabiliriz.



Adım 5: Bölge, Klavye ve Saat Düzeni Ayarları​

Yine özelleştirme ekranında yer alan bölge ayarlarından yaşadığınız ülkeyi, kullanmakta olduğunuz klavye düzenini ve zaman dilimini belirleyin.
Masaüstü ortamı (GUI) kurmadığımız için ilk aşamada bu ayarlar çok kritik görünmeyebilir; fakat bilgileri en baştan doğru girmekte fayda vardır. İlerleyen süreçte sisteme CasaOS, Docker gibi servisler veya farklı log (günlük) takip araçları kurmak isterseniz, saat ve bölge ayarlarının doğru yapılandırılmış olması olası senaryo hatalarının önüne geçecektir.



Adım 6: Kullanıcı Adı ve Parola Tanımlama​

Bu kısım kurulumun en önemli adımlarından biridir. Cihazı monitör olmadan, uzaktan terminal (SSH) üzerinden yöneteceğimiz için burada belirleyeceğimiz kullanıcı adı ve parola bilgilerine sürekli ihtiyaç duyacağız.
Güvenlik standartlarını elden bırakmadan, terminalden her giriş yapışınızda sizi zorlamayacak ve yazımı pratik olan bir kullanıcı adı ile parola kombinasyonu belirlemeniz kolaylık sağlayacaktır. Çok karmaşık veya aşırı uzun şifreler, terminal üzerinden el ile giriş yaparken hata yapma olasılığınızı artıracaktır.



Adım 7: Kablosuz Ağ (Wi-Fi) Ayarları​

İşletim sistemi özelleştirme ekranında normal şartlarda Wi-Fi bilgilerinizi girebileceğiniz bir alan mevcuttur. Ancak Minecraft sunucusu gibi anlık gecikmelerin (ping ve paket kayıpları) oyun deneyimini doğrudan etkilediği bir senaryoda kablosuz bağlantı kullanmanızı kesinlikle önermiyorum.
Raspberry Pi'ın dahili Wi-Fi donanımı, çoklu oyuncu trafiğini ve anlık veri paketlerini kayıpsız aktarma konusunda yetersiz kalacaktır. Bu durum oyunda ciddi gecikmelere (lag) ve bağlantı kopmalarına yol açarak tatmin edici bir deneyim sunmanızı engeller. Bu nedenle, kararlı ve akıcı bir oyun deneyimi için cihazı doğrudan Ethernet kablosu ile modeminize bağladığınızı varsayıyor ve bu bölümü boş bırakmanızı tavsiye ediyorum.



Adım 8: Uzaktan Bağlantı (SSH) Ayarları​

Bu adımda "Services" (Servisler) sekmesine geçiş yapıyoruz. Terminal üzerinden Raspberry Pi'ye uzaktan bağlanabilmemiz için "Enable SSH" seçeneğini kesinlikle aktif hale getirmemiz gerekiyor. Bu seçeneği etkinleştirmezseniz cihazınıza ağ üzerinden erişim sağlayamazsınız.
Bağlantı doğrulama yöntemi olan "Authentication" kısmını ise "Use password authentication" (Parola kullan) olarak seçin. Bu sayede 6. adımda belirlediğiniz kullanıcı adı ve şifre ile sisteme kolayca giriş yapabilirsiniz.



Adım 9: Raspberry Pi Connect Ayarı​

Bu adımda karşınıza çıkabilecek olan "Raspberry Pi Connect" seçeneği, cihazınızı internet üzerinden tarayıcı vasıtasıyla uzaktan yönetmenizi sağlayan resmi bir bulut servisidir.
Sunucumuzu yerel ağ üzerinden doğrudan SSH ile yöneteceğimiz ve üçüncü parti servislere ihtiyaç duymadığımız için bu seçenek tamamen opsiyoneldir. Sunucu performansını etkilememesi adına bu seçeneği devre dışı bırakabilir veya boş geçebilirsiniz.



Adım 10: Yapılandırma Özeti (Summary)​

Tüm ayarları tamamladıktan sonra karşınıza yaptığınız değişikliklerin toplu bir özetini gösteren bir ekran gelecektir.
Bu kısımda belirlediğiniz kullanıcı adı, hostname ve SSH gibi ayarların doğruluğunu son kez kontrol edebilirsiniz. Önceki adımlarda Wi-Fi veya bazı opsiyonel özellikleri boş bıraktıysanız, bu ekranda daha az satır görünebilir. Bu durum tamamen normaldir ve kuruluma engel teşkil etmemektedir.



Adım 11: Disk Yazma ve Güvenlik Uyarısı​

Tüm ayarları onaylayıp "WRITE" (Yaz) butonuna bastığınızda, seçtiğiniz depolama birimindeki tüm verilerin kalıcı ve geri döndürülemez bir şekilde silineceğine dair bir uyarı ekranı gelecektir.

Kurulumu başlatmadan önce seçtiğiniz sürücünün doğru olduğundan ve içerisinde önemli bir verinizin bulunmadığından emin olmak için hedef diski (SD kart veya SSD) son kez kontrol edin. Onay verdikten sonra yazma işlemi başlayacaktır.

Adım 12: Kurulumun Tamamlanması ve Cihazı Başlatma​

Yazma ve doğrulama işlemleri tamamlandığı zaman diskinizi bilgisayarınızdan güvenle çıkarabilirsiniz. Hazırladığınız MicroSD kartı Raspberry Pi üzerindeki yuvasına takın, Ethernet kablosunu bağlayın ve ardından güç kablosunu takarak cihazı çalıştırın.

4. İlk Bağlantı Öncesi Önemli Ayar: IP adresi Sabitleme (IP Reservation)​

Raspberry Pi'ye SSH üzerinden bağlanıp sunucu kurulumuna geçmeden önce yapılması gereken çok kritik bir ayar mevcuttur.
Modeminiz (Router), ağa bağlanan cihazlara otomatik olarak geçici IP adresleri dağıtır. Eğer Raspberry Pi'nin IP adresini sabitlemezseniz; elektrik kesintilerinde, cihazı yeniden başlattığınızda veya modeme her reset atıldığında Pi'nin IP adresi değişebilir. Bu durum hem terminal bağlantınızın kopmasına hem de arkadaşlarınızın sunucuya bağlanamamasına yol açar.
Bu sorunun önüne geçmek için Raspberry Pi'nin yerel ağ IP'sini statik hale getirmemiz (rezervasyon yapmamız) gerekir.
Örnek olarak benim kullandığım router üzerinde bu işlem şu şekilde gerçekleştirilmektedir:



Sağdaki Reserved IP kutucuğuna basarak IP'yi sabitliyorum. Ayrıca sabitlediğimiz IP'yi de alıyorum.

Sizin router'ınızda farklı olabilir, onu internetten araştırmanızda fayda var. Modeminizin altından Router'ın markasını ve modelini internete girerek öğrenebilirsiniz. "How to reserve my device's IP address on my router" şeklinde bir arama ile bulabilirsiniz.

Bundan sonrası tamamen terminal komutları ile işleyecek. Yine de kolay olması açısından ekran görüntüleri ile gideceğim, bundan kaynaklı olarak zorlanmayacaksınız.

  1. SSH komutunu yazıp, Pi'ye kullandığınız kullanıcı adınızı ve Pi'nin IP'sini yazıp Enter'a tıklıyorsunuz.
  2. Pi'ye ilk defa giriş yaptığınız zaman aşağıdaki gibi bir uyarı çıkıyor, buna yes yazıp Enter'a tıklıyoruz.

5. Sistem Güncelleme ve Temel Bileşenlerin Kurulumu​




3. Pi'ye koyduğumuz şifreyi giriyoruz. (Şifreyi yazarken ekranda karakterler güvenlik nedeniyle görünmeyecektir.)



4. Pi'ye bağlandığınızda böyle bir ekran sizi karşılamalı.



Şimdi Pi'ye yazmanızı istediğim komutları sırasıyla sizlerle paylaşıyorum.

Bash:
sudo apt update && sudo apt upgrade -y

Bu komutları yazdıktan sonra güncelleme bitene kadar hiçbir şey yapmayın; Pi'ye kurduğumuz işletim sisteminin paketlerini güncelliyoruz. Yine de tam emin olmak isteyen arkadaşlar için işlem sırasındaki bir ekran görüntüsünü paylaşayım:
Ekrandaki "Progress" işleminin tamamen bitmesini bekleyin.



Sistemi güncelledikten sonra

Bash:
sudo reboot

Komutuyla sistemi yeniden başlatın.
Birkaç dakika bekleyin ve ilk adımdaki gibi terminal ile Pi'ye yeniden bağlanın.
Şimdi sunucu kurulumu için adımları izleyebiliriz:
Sunucuyu çalıştırmadan ve dosya dizinini belirlemeden önce Java kurulumu yapmalıyız. Kuracağınız Java sürümünü, çalıştırmak istediğiniz Minecraft sürümüne göre belirlemeniz gerekiyor. Ben Minecraft'ın 26.1.2 sürümünü kuracağım için Java 25'i yükleyeceğim.
Terminale şu komutu giriyorum:

Kod:
sudo apt install openjdk-25-jdk -y

Yüklenmesini bekleyin.

6. Minecraft Sunucu Dizini ve İlk Çalıştırma​



Yüklenmesini bekleyin.
Şimdi sunucunun kurulacağı dosya dizinini belirlememiz lazım.
Terminale sırasıyla şu komutları yazalım:

Kod:
sudo mkdir minecraft-server && cd minecraft-server

Bu komutları girdiğiniz zaman, şu şekilde bir dosya dizininin içerisinde olmanız gerekiyor;



Sunucuyu başlatmadan önce dosya dizini içerisinde tam yetkiye sahip olmanız için

Bash:
sudo su

Komutunu girmeniz gerekiyor.



Yazılar şu şekilde değişecektir, bundan sonra sudo komutunu girmek zorunda değilsiniz. Şu anda sistemde yaptığınız her şey kanun hükmünde kararname gibi bir şey oluyor;

Şimdi kurmak istediğimiz sürümün JAR dosyasını çekmemiz gerekiyor. Ben JAR dosyasını daha optimize ve performanslı çalıştığı için PaperMC adlı siteden alacağım, bundan kaynaklı olarak rehber bu şekilde devam edecek:

Google > PaperMC > Paper > İndireceğim sürümün üzerinde sağ tıklayıp "copy link" kısmına basıyorum.



Ardından terminale gelip "wget " şeklinde yapıştırıyorum. Benim durumumda bu şu şekilde;

Bash:
wget https://fill-data.papermc.io/v1/objects/1d70b1dab9cf4a6de615209a536f3a45a2186240253c428213ce2188ab95e5f7/paper-26.1.2-74.jar



Şu şekilde dosya indi, şimdi sunucumuzu başlatmak için

Bash:
java -Xms1G -Xmx3G -jar paper-26.1.2-74.jar nogui

Komutunu gireceğiz. Burada kısım özelleştirebilir. Eğer ki kullandığınız Pi benimki gibi 8 GB RAM'e sahipse ve iyi bir oyun deneyimi istiyorsanız,

Kod:
java -Xms1G -Xmx6G -jar paper-26.1.2-74.jar nogui

Şeklinde komut girebilirsiniz, bu şekilde daha fazla RAM kullanmasına izin vermiş olursunuz.
Sunucumuzu bu komutla başlatalım.
Sunucuyu bu komutla başlattığınız zaman hata alacaksınız, sakın korkmayın. Bu hata Minecraft'ın EULA şartlarını kabul etmediğimiz için olan bir hata.



Çözüm oldukça basit, aşağıdaki komutu yazarak nano derleyicisi ile eula.txt dosyasına girin.

Kod:
nano eula.txt

Açılan sayfada EULA = false yazısını EULA = true şeklinde değiştirin. Ardından CTRL + X > Y > Enter şeklinde dosyayı kaydedin.
Şimdi sunucumuzu tekrardan başlatalım.

Kod:
java -Xms1G -Xmx6G -jar paper-26.1.2-74.jar nogui

Tüm bu işlemlerden sonra sunucu ilk kurulum için açılacaktır, biraz beklemenizde fayda var; sunucunuzun tamamen başladığına "done" şeklinde bir yazı gördüğünüzde emin olabilirsiniz.
Örnek olarak şu şekilde;



Yine de tam süreci görmeniz için opsiyonel olarak tüm çıktıyı paylaşıyorum, içiniz rahat olsun. (Bu kısım tamamen bilgilendirme amaçlı)

Bash:
root@Cem:/home/cem/minecraft-server# java -Xms1G -Xmx3G -jar paper-26.1.2-74.jar nogui
Downloading mojang_26.1.2.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
[11:55:21 INFO]: [bootstrap] Running Java 25 (OpenJDK 64-Bit Server VM 25.0.3+9-2-deb13u1-Debian; Debian null) on Linux 6.18.34+rpt-rpi-v8 (aarch64)
[11:55:21 INFO]: [bootstrap] Loading Paper 26.1.2-74-ver/26.1.2@e4e17fc (2026-07-06T16:51:09Z) for Minecraft 26.1.2
[11:55:22 INFO]: [PluginInitializerManager] Initializing plugins...
[11:55:22 INFO]: [PluginInitializerManager] Initialized 0 plugins
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.joml.MemUtil$MemUtilUnsafe (file:/home/cem/minecraft-server/libraries/org/joml/joml/1.10.8/joml-1.10.8.jar)
WARNING: Please consider reporting this to the maintainers of class org.joml.MemUtil$MemUtilUnsafe
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
[11:55:42 WARN]: Failed to load eula.txt
[11:55:42 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
root@Cem:/home/cem/minecraft-server# nano eula.txt
root@Cem:/home/cem/minecraft-server# java -Xms1G -Xmx6G -jar paper-26.1.2-74.jar nogui
Starting org.bukkit.craftbukkit.Main
[11:58:39 INFO]: [bootstrap] Running Java 25 (OpenJDK 64-Bit Server VM 25.0.3+9-2-deb13u1-Debian; Debian null) on Linux 6.18.34+rpt-rpi-v8 (aarch64)
[11:58:39 INFO]: [bootstrap] Loading Paper 26.1.2-74-ver/26.1.2@e4e17fc (2026-07-06T16:51:09Z) for Minecraft 26.1.2
[11:58:40 INFO]: [PluginInitializerManager] Initializing plugins...
[11:58:41 INFO]: [PluginInitializerManager] Initialized 0 plugins
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.joml.MemUtil$MemUtilUnsafe (file:/home/cem/minecraft-server/libraries/org/joml/joml/1.10.8/joml-1.10.8.jar)
WARNING: Please consider reporting this to the maintainers of class org.joml.MemUtil$MemUtilUnsafe
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
[11:59:01 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, profilesHost=https://api.mojang.com, name=PROD]
[11:59:02 INFO]: Found new data pack file/bukkit, loading it automatically
[11:59:02 INFO]: Found new data pack paper, loading it automatically
[11:59:06 INFO]: No existing world data, creating new world
[11:59:11 INFO]: Loaded 1515 recipes
[11:59:11 INFO]: Loaded 1617 advancements
[11:59:11 INFO]: [ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry] Initialising converters for DataConverter...
[11:59:13 INFO]: [ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry] Finished initialising converters for DataConverter in 1,678.8ms
[11:59:13 INFO]: Starting minecraft server version 26.1.2
[11:59:13 WARN]: ****************************
[11:59:13 WARN]: YOU ARE RUNNING THIS SERVER AS AN ADMINISTRATIVE OR ROOT USER. THIS IS NOT ADVISED.
[11:59:13 WARN]: YOU ARE OPENING YOURSELF UP TO POTENTIAL RISKS WHEN DOING THIS.
[11:59:13 WARN]: FOR MORE INFORMATION, SEE https://madelinemiller.dev/blog/root-minecraft-server/
[11:59:13 WARN]: ****************************
[11:59:13 INFO]: Loading properties
[11:59:14 INFO]: This server is running Paper version 26.1.2-74-ver/26.1.2@e4e17fc (2026-07-06T16:51:09Z) (Implementing API version 26.1.2.build.74-stable)
[11:59:14 INFO]: [spark] This server bundles the spark profiler. For more information please visit https://docs.papermc.io/paper/profiling
[11:59:14 INFO]: Server Ping Player Sample Count: 12
[11:59:14 INFO]: Using 4 threads for Netty based IO
[11:59:15 INFO]: [MoonriseCommon] Paper is using 1 worker threads, 1 I/O threads
[11:59:16 INFO]: Default game type: SURVIVAL
[11:59:16 INFO]: Generating keypair
[11:59:16 INFO]: Starting Minecraft server on *:25565
[11:59:17 INFO]: Paper: Using libdeflate (Linux aarch64) compression from Velocity.
[11:59:17 INFO]: Paper: Using OpenSSL 3.x.x (Linux aarch64) cipher from Velocity.
[11:59:17 INFO]: Preparing level "world"
[11:59:18 INFO]: Selecting spawn point for level 'minecraft:overworld'...
[11:59:46 INFO]: Selecting spawn point for level 'minecraft:the_nether'...
[11:59:50 INFO]: Selecting spawn point for level 'minecraft:the_end'...
[11:59:51 INFO]: Loading 0 persistent chunks for level 'minecraft:overworld'...
[11:59:51 INFO]: Preparing spawn area: 100%
[11:59:51 INFO]: Prepared spawn area in 32980 ms
[11:59:51 INFO]: Loading 0 persistent chunks for level 'minecraft:the_nether'...
[11:59:51 INFO]: Preparing spawn area: 100%
[11:59:51 INFO]: Prepared spawn area in 4992 ms
[11:59:51 INFO]: Loading 0 persistent chunks for level 'minecraft:the_end'...
[11:59:51 INFO]: Preparing spawn area: 100%
[11:59:51 INFO]: Prepared spawn area in 1357 ms
[11:59:51 INFO]: Done preparing level "world" (34.346s)
[11:59:52 INFO]: [spark] Starting background profiler...
[11:59:52 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[11:59:53 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
[11:59:53 INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
[11:59:53 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[11:59:53 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[11:59:53 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[11:59:53 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[11:59:53 INFO]: Running delayed init tasks
[11:59:53 INFO]: Done (77.543s)! For help, type "help"
[11:59:53 INFO]: *************************************************************************************
[11:59:53 INFO]: This is the first time you're starting this server.
[11:59:53 INFO]: It's recommended you read our 'Getting Started' documentation for guidance.
[11:59:53 INFO]: View this and more helpful information here: https://docs.papermc.io/paper/next-steps
[11:59:53 INFO]: *************************************************************************************
>

Şimdi sunucunun açılıp açılmadığını test edelim; benim durumumda bu 26.1.2 sürümüne girip Pi'nin IP adresini yazmam gerekiyor.

7. Ağ Bağlantısı ve Güvenlik Ayarları (Tailscale)​



Artık sunucu oynanmak için hazır; şimdi arkadaşlarınızın oynayabilmesi için son bir kurulum kaldı, bu da Tailscale.
Görsel sınırına takıldığım için bundan sonrasını yazıyla anlatacağım; bundan kaynaklı olarak daha akıcı ve dikkatli olacağımdan emin olabilirsiniz.
Sunucuyu "terminal" ekranına gelip, "CTRL + C" butonuna tıklayarak kapatın.

Kod:
root@Cem:/home/cem/minecraft-server#

Sunucu kapandığında bu dizine geri dönmüş olmanız lazım; ardından

Kod:
cd

Komutu ile genel dizine geri dönün.

Kod:
root@Cem:~#

Şeklinde bir dizin görmeniz gerekiyor. Şimdi Pi'ye Tailscale kurmamız gerekiyor.

Bunun için Google > Tailscale > Tailscale adresine girin ve direkt aşağıdaki "generate install script" butonuna basın.
Size şu şekilde bir;

Kod:
curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up --auth-key=

Şeklinde bir kod verecek, bunu Raspberry Pi'ye yapıştırın.

Not: "auth-key=" şeklindeki kısımda eşittirden sonra rastgele bir auth-key gelecek; bunu ben ekranda gizledim çünkü kod bana özel. Sizin konunuzda böyle ekstra bir şey görürseniz şaşırmayın.
Kurulum bitince Pi'nin terminaline, aşağıdaki komutu yazın.

Kod:
sudo tailscale up

Ardından Tailscale'ın internet sayfasına geldiğiniz zaman Raspberry Pi'nin aktif olarak kullandığını göreceksiniz.

Şimdi arkadaşlarınız sunucuya katılmak istiyorsa, Tailscale'ı indirmeli ve giriş yapmalı. O kısım onları ilgilendiriyor; şimdi bizim yapacağımız şey Tailscale kısmından cihazımızın gözüktüğü yerin hemen sağ kısmında "..." şeklinde 3 adet nokta var; oraya basıyoruz ve "share" butonuna tıklıyoruz. Bu kısımda isterseniz link olarak, isterseniz de mail olarak gönderebilirsiniz; ben link olarak göndermenizi tavsiye ederim. "Copy share link" butonuna bastıktan sonra gelen linki arkadaşınıza atın ve Tailscale ağınıza dahil edin.

Bu adımdan sonra yapmanız gereken tek bir şey kaldı; o da Tailscale ağınızın yetkilerini sınırlandırmak. Arkadaşlarınızın sadece Minecraft sunucusuna erişebilmesi, diğer sunucu kısımlarına erişmemesi için bir dosya hazırlamamız gerekiyor. Ben bu dosyayı hazırladım, kendi dosyamı sizlerle paylaşıyorum. Bunu kendinize göre doldurmanız gerekiyor.

Tailscale adresine girin. JSON editör kısmında olduğunuzdan emin olun ve tüm yazılı kısmı silin.
Ardından aşağıdaki paylaştığım dosyayı kendinize göre uyarlayın;

Bash:
{
 // Sadece SENİ (yonetici@eposta.com) yönetici yapıyoruz.
 // Böylece tag:server etiketli cihazları sadece sen yönetebilirsin.
 "tagOwners": {
 "tag:server": ["yonetici@eposta.com"],
 },

 "grants": [
 // 1. Kural: Senin (yonetici@eposta.com) ağdaki HER ŞEYE tam erişimin olsun.
 {
 "src": ["yonetici@eposta.com"],
 "dst": ["*"],
 "ip": ["*"],
 },

 // 2. Kural: Sadece bu e-postalara sahip "Share" davetlileri
 // sunucunun sadece Minecraft portuna (25565) erişebilir.
 // (Birden fazla kişi için aralarına virgül koyarak bu şekilde alt alta ekleyebilirsin)
 {
 "src": [
 "sharing:arkadasinin_epostasi@gmail.com",
 "sharing:diger_arkadasinin_epostasi@gmail.com"
 ],
 "dst": ["tag:server"],
 "ip": ["tcp:25565"],
 },
 ],

 "ssh": [
 // Sadece senin kendi cihazlarına Tailscale SSH ile bağlanabilmene izin verir.
 {
 "action": "check",
 "src": ["yonetici@eposta.com"],
 "dst": ["autogroup:self"],
 "users": ["autogroup:nonroot", "root"],
 },
 ],
}

Ayarlamanız gereken kısımlar:

  • "yonetici@eposta.com" kısmında kendi e-posta adresinizi yazmanız. (Bu Tailscale'e kayıt olduğunuz e-posta olmalı)
  • "Sharing:arkadasinin_epostasi@gmail.com" kısmı ise katılan arkadaşınızın Tailscale'e kayıt olduğu e-posta adresi yazmalı.
  • Kodda belirtildiği üzere birden fazla kişi için aralarına virgül koyarak alt alta ekleyebilirsiniz.
  • "Src": ["yonetici@eposta.com"], kısmında kendi e-posta adresinizi yazmanız. (Bu Tailscale'e kayıt olduğunuz e-posta olmalı)
Hepsi bu kadar, illaki hazırda bir kod istiyorsanız ve ben minimum değişiklik istiyorum diyorsanız, kendi kullandığım kısmı atıyorum. Bu kısımlardan söylediğim yerleri kendinizinki ile değiştirin ve yapıştırın.

Kod:
{
 // Sadece SENİ (ckrgzc@protonmail.com) yönetici yapıyoruz.
 // Böylece tag:server etiketli cihazları sadece sen yönetebilirsin.
 "tagOwners": {
 "tag:server": ["ckrgzc@protonmail.com"],
 },

 "grants": [
 // 1. Kural: Senin (ckrgzc@protonmail.com) ağdaki HER ŞEYE tam erişimin olsun.
 {
 "src": ["ckrgzc@protonmail.com"],
 "dst": ["*"],
 "ip": ["*"],
 },

 // 2. Kural: Sadece bu e-postaya sahip "Share" davetlisi
 // sunucunun sadece Minecraft portuna (25565) erişebilir.
 {
 "src": ["sharing:arkadasinin_epostasi@gmail.com"],
 "dst": ["tag:server"],
 "ip": ["tcp:25565"],
 },
 ],

 "ssh": [
 // Sadece senin kendi cihazlarına Tailscale SSH ile bağlanabilmene izin verir.
 {
 "action": "check",
 "src": ["ckrgzc@protonmail.com"],
 "dst": ["autogroup:self"],
 "users": ["autogroup:nonroot", "root"],
 },
 ],
}

Bunların hepsini yaptıktan sonra artık her şey bitti diyebiliriz, artık arkadaşınızın tek yapması gereken şey; aşağıdaki sansürlediğim size özel olan Addresses kısmındaki IP adresini alıp, (100.X. İle başlayan bir IP adresidir bu) sunucu Minecraft sunucularına eklemesi olacaktır.



8. Sunucuyu Kısayol Scripti ile Başlatma​

Bu arada sunucuyu kapatmıştık, onu tekrardan başlatalım.
Pi'ye girin ve aşağıdaki komutları izleyin

Bash:
cd /home/kullanıcıadınız/minecraft-server

Şeklinde dosya dizininize girin ve tekrardan

Kod:
java -Xms1G -Xmx6G -jar paper-26.1.2-74.jar nogui

Komutunu yazıp sunucunuzu başlatabilirsiniz.
Hemen üstte belirttiğim kısım tam olarak sunucuyu her yeniden başlatmak istediğiniz zaman yapmanız gereken kısım ama bunu da ufak bir script yazarak bunu da kısaltabiliriz.
Sunucunun kurulu olduğu dosya dizini içerisindeyken, yani;

Bash:
root@Cem:~# /home/cem/minecraft-server/

Aşağıdaki kodları sırasıyla giriniz;

Bash:
nano start.sh

Açılan boş dosya kısmına

Bash:
#!/bin/bash
# Sunucu dizinine geçiş yapıyoruz (kullanıcıadınız kısmını kendi kullanıcınıza göre düzenleyin)
cd /home/kullanıcıadınız/minecraft-server

# Sunucuyu başlatıyoruz
java -Xms1G -Xmx6G -jar paper-26.1.2-74.jar nogui

Komutunu ekleyin. Ancak komutta belirtildiği gibi "kullanıcıadınız" kısmını kendi kullanıcı adınıza göre düzenlemeniz gerekiyor, burayı kendinize göre değiştirmeyi unutmayın.

Ardından CTRL + X > Y > ENTER tuş kombinasyonunu kullanarak dosyayı kaydedip çıkın.
Ardından Script'i çalıştırma yetkisi vermek için aşağıdaki kodu girin.

Bash:
chmod +x start.sh

Her şey bittiğinde sunucuyu başlatmak için girmeniz gereken tek komut;

Kod:
./start.sh

Olacaktır.
Sunucuyu her başlatmak istediğinizde; aşağıdaki dosya dizinine giderek,

Bash:
cd /home/kullanıcıadınız/minecraft-server/

Dosya dizini içerisinde aşağıdaki kodu yapıştırarak sunucuyu otomatik açabilirsiniz.

Kod:
./start.sh

Bundan sonra arkadaşınızın tek yapması gereken şey; sunucuyu açtığınız zaman Tailscale'dan aldığı IP adresi ile oyuna katılmak olacak.
 

Dosya Ekleri

  • 1784275882142.webp
    71,7 KB · Görüntüleme: 1
  • 1784276716877.webp
    8,9 KB · Görüntüleme: 2
  • 1784277231778.webp
    6 KB · Görüntüleme: 1
  • 1784278616764.webp
    1,4 KB · Görüntüleme: 2
Son düzenleyen: Moderatör:
SMP için Paper kullanmayı asla önermiyorum optimizasyon uğruna vanilla mekaniklerinin içinden geçiyor.
 
SMP için Paper kullanmayı asla önermiyorum optimizasyon uğruna vanilla mekaniklerinin içinden geçiyor.
Merhaba, çeşitli JAR sunucularını deneyebilirsiniz. Kullandığınız cihaza göre Vanilla JAR dosyasını da seçebilirsiniz. Teşekkürler.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…