Bu içeriğe 6 Mart 2024 tarihinde fotoğraf güncellemesi yapıldı.

Herkese merhaba! Bugün zevkli ve değişik bir projeyle karşınızdayım. Raspberry Pi ile birlikte Minecraft sunucusu yapacağız! Blogda sırasıyla şunlar olacak;

  1. Giriş
  2. Gereksinimler Listesi
  3. Yapım Aşamaları
  4. Son Dokunuşlar

1. Giriş

Boş zamanlarda ve arkadaşlarımla birlikte Minecraft oynamak için bu projeyi yapıyorum. Ücretsiz ve kendi dokunuşlarımın olduğu bir proje olması da ayrı bir zevk tabii 🙂

2. Gereksinimler Listesi

  • Raspberry Pi 4 – 4 GB: En az Raspberry Pi 4 ve 4 GB versiyon olmasını öneririm. RAM’dan ve versiyondan kıstıkça hata, yavaşlık ve donma sorunları, hatta hiç açılmama gibi bir durumu bile yaşayabilirsiniz.
  • Raspberry Pi 4 Soğutucu: Kart sürekli çalışacak ve bazı durumlarda mikroişlemci sıcaklığı yükseleceği için kartın sıcaklığı artacaktır. Buz etkisi yaratmak için soğutucu veya fan şart olacak.
  • SD Kart: Kaliteli bir SD kart almanızı öneririm. Veri yazma ve okuma işletim sistemi için oldukça önemli bir kriterdir. SanDisk Ultra serisi bir SD kart önerebilirim.
  • Adaptör: Orijinal Raspberry Pi 4 adaptörü (5V – 3A değerlere sahip DC adaptör) işinizi rahatlıkça görecektir.

3. Yapım Aşamaları

Madde işaretlerini sırayla ve dikkatlice takip ederek ve uygulayarak bu projeyi sizler de yapabilirsiniz;

  • balenaCloud sitesine kayıt olmak, yeni bir uygulama oluşturmak, cihaz eklemek ve imaj dosyası indirmek!

Gerekli bilgileri girerek sisteme kayıt oluyoruz. Daha sonra ise aşağıdaki butona tıklayarak, kayıt olduğumuz ve oturum açtığımız siteye, otomatik olarak yönleniyoruz. O buton sayesinde, hem işletim sistemi dosyaları hem de Minecraft sunucusunu otomatik olarak kurmuş ve bağlanmış oluyor. Bunu manuel bir şekilde yapmak gibi bir seçenek de var fakat pek tavsiye etmiyorum 🙂

  • 1.Adım:Deploy with balena” butonuna tıkladıktan sonra bu ekran gelecektir. Bu ekrana uygulama ismini ve kullanacağımız kartı seçtikten sonra “Create and deploy” butonuna tıklıyoruz.
  • 2.Adım: Uygulama oluşturuluyor ve Minecraft sunucusu da uygulamamıza kuruluyor.
  • 3.Adım:Add device” butonuna tıklayarak aygıt ekleme sayfasına yönleniyoruz.
  • 4.Adım: Kullanacağımız aygıtın ismini, işletim sistemini, versiyonunu, Wi-Fi ve Ethernet portu ayarlarını giriyoruz ve “Download balenaOS” butonuna tıklıyoruz.
  • 5.Adım: Butona tıkladıktan sonra gerekli işletim sistemi dosyası, Minecraft sunucusu ile birlikte inmiş oluyor.
  • balenaEtcher programı ile disk imajını SD karta yazdırmak ve Raspberry Pi’ye takmak!

Şuradan indirdiğimiz ve kurduğumuz balenaEtcher programı ile SD karta imaj dosyasını yazdırıyoruz. Yazma işlemi bittikten sonra SD kartı Raspberry Pi’ye takıyoruz.

SD kartı Raspberry Pi’ye taktıktan sonra bir kaç dakika içerisinde sistem kurulmuş ve hazır bir biçimde sizi bekliyor olacak. Status (Durum) kısmından Online (Çevrimiçi) olduğunu da görebilirsiniz.

  • Sunucuyu çalıştırmak ve bazı konfigürasyon ayarlarını yapmak!

Sunucu 5-10 dk içerisinde hazır olacak ve Logs kısmında “Done!” tarzında bir ifadeyi göreceksiniz.

TLauncher kullanarak “balenaminecraftserver.local” veya IP adresine bağlanmaya çalıştığınızda hata almanız oldukça yüksek, bu hatayı çözmek için şunları yapıyoruz;

  • balenaCloud sitesinden uygulamamızın olduğu sayfaya geliyoruz ve “Terminal” adlı kısmı buluyoruz.
  • Terminalin sağ üst köşesinde bulunan “Expand (Genişlet)” butonuna tıklıyoruz ve terminali büyütüyoruz.
  • İlk başta “Select a target (Bir hedef seç)” butonuna daha sonra “mc-server” butonuna, en sonunda ise “Start terminal session (Terminal oturumunu başlat)” butonuna tıklıyoruz. İşlemler bittikten sonra sizleri alttaki gibi bir ekran karşılayacaktır;

Ekrana başarıyla ulaştıktan sonra alttaki komutu yazıyoruz ve “online-mode=true” olan yeri “online-mode=false” yapıyoruz.

cd usr/src/serverfiles/ ; nano server.properties

Son olarak oyunda kendinizi operator (moderatör) yaparak tüm ayarlara (hava durumunu, saati, oyun türünü değiştirme vs.) erişmiş oluyorsunuz. Bunu yapmak için alttaki talimatları yapmamız gerekiyor;

  • Terminal üzerinden balena-rcon‘a bağlanıyoruz.
  • Çıkan ekrana op kullanıcıİsmi yazarak, o kullanıcıyı operator (moderatör) yapmış oluyoruz.

Artık bu ayardan sonra oyuna başarıyla girebilir, ayarları değiştirebilir ve tadını çıkarabilirsiniz. Şimdi daha fazla özelleştirmeye geçelim! 🙂

4. Son Dokunuşlar

Bir kaç tane ayarı değiştirmeyi ve bir kaç tane eklentiyi sizlere tanıtarak blogu bitirmeyi düşünüyorum. İlk başta düzelteceğimiz ayarlardan bahsedeceğim.

Neredeyse tüm ayarların olduğu bir dosya var, o dosyaya girdikten sonra bir kaç adımı otomatik olarak ve hızlıca bitirmiş olacağız. Önceki adımlarda zaten anlatmıştım fakat şu an yine bahsetmem gerekirse, o dosyaya ulaşmak için şunları yapıyoruz;

  1. balenaCloud sitesinden uygulamamızın olduğu sayfaya geliyoruz ve “Terminal” adlı kısmı buluyoruz.
  2. Terminalin sağ üst köşesinde bulunan “Expand (Genişlet)” butonuna tıklıyoruz ve terminali büyütüyoruz.
  3. İlk başta “Select a target (Bir hedef seç)” butonuna daha sonra “mc-server” butonuna, en sonunda ise “Start terminal session (Terminal oturumunu başlat)” butonuna tıklıyoruz.
  4. Son olarak alttaki komutu yazıyoruz ve ayarları değiştireceğimiz dosyaya ulaşmış oluyoruz.
cd usr/src/serverfiles/ ; nano server.properties
  • Sunucunun başlığını ve açıklamasını nasıl değiştiriyoruz?

Üstteki fotoğrafta bulunan mozaiksiz yerlerin değişimi için şu satırları bulmamız gerekiyor;

Resul’s Server yazısını “Add Server (Sunucu Ekle)” dedikten sonra ekleyebilir veya “Edit (Düzenle)” dedikten sonra tekrardan düzenleyebilirsiniz.

“Resul’s Lab Minecraft Servers Paper 1.16.5” yazısını ise “motd=\u00A7b\u00A7lResul’s Lab Minecraft Servers\u00A7r\n\u00A7cPaper 1.16.5\u00A7n\n” kısmından değiştireceğiz. MOTD için kodları bilmeniz gerek yok, şu siteyi kullanarak otomatik yazı oluşturup dönüşen kodu eşittir (=) ifadesinden sonraki ifadeyle değiştirebilirsiniz.

  • Sunucuya girecek maksimum kişi sayısını nasıl değiştiriyoruz?

Maksimum kişi sayısını “max-players=20” kısmından değiştiriyoruz.

  • Sunucunun oyun modunu nasıl değiştiriyoruz?

Oyun modunu ister oyundan istersek, “gamemode=survival” kısmından değiştirebiliriz. Survival (Hayatta kalma), creative (Yaratıcılık) ve adventure (Zorlayıcı) olarak üç mod mevcuttur.

  • Sunucunun zorluk ayarını nasıl değiştiriyoruz?

Eğer survival modunda oynayacaksanız “difficulty=easy” kısmından değiştirebilirsiniz. Easy (kolay), normal ve hard (zor) olarak dört mod mevcuttur.

  • Sunucunun simgesini nasıl değiştiriyoruz?

Bunun için Filezilla programını indirmemiz gerekiyor. İndirdikten ve kurduktan sonra alttaki bilgiler ile bağlanabiliriz;

Sunucu: IP adresiniz
Kullanıcı Adı: root
Şifre: balena
Kapı: 22
Bağlantı Türü: SFTP

  1. Bağlantıyı kurduktan sonra sağ tarafta bulunan dizindeki üç noktaya tıklayarak ana dizine dönüyoruz.
  2. “serverfiles” klasörünün içerisine giriyoruz.
  3. “server-icon.png” dosyasını değiştirmek istediğimiz simge ile değiştiriyoruz. Fotoğrafın uzantısı “.png” ve boyutu ise “64×64 px” olacaktır.

Sunucu simgesini ben de değiştirdim ve alttaki gibi oldu;

Tavsiye edilen eklentiler nelerdir?

Bu kısmı sevgili Batuhan Ergün adlı öğrencim hazırladı, kendisi ile gurur duyuyorum. Onu daha iyi tanımanız için şuraya web sitesini bırakıyorum. Kendisi ile iletişim kurabilirsiniz. Bir çok platformda, yarışmada ve anda bana tanıklık eden nâdir öğrencimdir. Yine burada da bana gerekli yardımı fazlasıyla gösterdi ve bu harika yazıyı onun da katkılarıyla beraber çıkarmış olduk. Çok teşekkürler Batuhan! ❤

  • AuthMe Reloaded

Çevrimdışı oyunlarda giriş yapmamızı sağlayan eklentidir. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şunlardır;

"/register {Yeni Şifre} { Yeni Şifre}" // Sunucuya ilk defa bağlanıldığında kayıt olmak için kullanılıyor.
"/login {Şifre}" // Önceden oluşturulan şifre ile sunucuya bağlanmanızı sağlıyor.
  • ClearLagg

Yerdeki eşyaları silerek ve farklı görevleri de beraberinde yaparak, belleği en verimli şekilde kullanmayı sağlıyor. Eklentiye şuradan ulaşabilirsiniz.

  • Essentials

Sunucudaki moderatörlere bazı komutlara sahip olmasını sağlıyor. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şunlardır;

"/help Essentials" // Bu eklentiye ait tüm komutları listelemeye yarıyor.
"/balance" // Bakiyenizi gösteriyor.
"/pay {Oyuncu İsmi} {Miktar}" // Para transferi için kullanılıyor.
"/sell" // Oyuncunun elindeki eşyayı worth.yml dosyasında belirlenen ücrete satmasını sağlıyor.
  • ImageOnMap

Herhangi bir “.png” uzantılı dosyayı oyun içinde harita formatına çevirmeyi sağlıyor. Haritalar, eşya çerçevelerine asılarak da sergilenebiliyor. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şudur;

"/tomap {URL}" // Yazılan URL'deki ".png" uzantılı dosyayı indirip haritaya çeviriyor. Kaç tile olması gerektiğini haritayı elinize aldığınızda gösteriyor. Oradaki sayı kadar eşya çerçevesi koyup, harita ile sağ tıkladığınızda fotoğrafı oraya aktarıyor.
  • PixelPrinter

Herhangi bir “.png” uzantılı fotoğrafı bloklara dökmek için kullanılıyor. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şunlardır;

"/pp downloadimage {Dosya Adı} {URL}" // Yazılan URL'deki ".png" uzantılı dosyayı indiriyor.
"/pp create {Yön} {Dosya Adı} {Yükseklik}" // İndirilen dosyanın yön ve yüksekliği belirtildiği takdirde, bloklara dönüşmesini sağlıyor.
  • PowerRanks

Özelleştirilmiş skor tablosu oluşturup yetki dağılımlarını sağlıyor. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komut şudur;

"/pr gui" // Eklentinin tüm ayarlarını grafik arayüzü ile birlikte yapmanızı sağlıyor.
  • Vault

Yaygın olarak kullanılan yetki ve ekonomi API’dır. Kendi ekonomi komutları ile oyunda para transferini mümkün kılıyor ve birçok eklenti için API görevi görüyor. Eklentiye şuradan ulaşabilirsiniz.

  • LandClaiming

Oyunda belirli bir alanı satın alma veya bloğu kilitleme gibi özellikler ekliyor. Başlıca kullanım amacı, hayatta kalma sunucular için yapıları kilitlemektir. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şunlardır;

"/lock" // Bloğu kilitlemek için kullanılıyor.
"/lock <add/remove> {Oyuncu Adı}" // Belirtilen kişilerin bu blokları rahatlıkla kullanabilmeleri için kullanılıyor.
"/unlock" // Bloğun kilidini kaldırmak için kullanılıyor.
"/claim {Arsa Adı}" // Arsa (Alan) satın almak için kullanılıyor.
  • ScoreboardStats

Çeşitli eklentiler ile birlikte ayarlanarak, ekranın sağ tarafında çıkan skor tabelasını yönetmenizi sağlıyor. Eklentinin nasıl ayarlanacağını görmek için şu videoyu seyretmelisiniz. Eklentiye şuradan ulaşabilirsiniz.

  • AutoMessage

Ayarlanılan zamanlarda, sohbette otomatik mesaj yayınlamanızı sağlıyor. Köprü şeklinde tıklanabilen adreslerde ekleyebiliyoruz. Eklentiye şuradan ulaşabilirsiniz. Eklentideki kullanılan komutlar şunlardır;

"/automessage add {Mesaj Listesi} {Mesaj}" // Mesaj listesi ve mesaj oluşturma için kullanılıyor.
"/automessage interval {Mesaj Listesi} {Zaman Aralığı}" // Mesaj listesinin yayınlanma sıklığını belirlemek için kullanılıyor.
"/automessage broadcast {Mesaj Listesi}" // Mesaj listesini o an yayınlamak için kullanılıyor.
"/automessage reload" // Ayarları config dosyasından yüklemek için kullanılıyor.

Paylaşmayı ve merak ettiğiniz yerleri sormayı unutmayın. Bir sonraki blogda görüşmek üzere! 🙂