1 puan yazan GN⁺ 2024-12-27 | 1 yorum | WhatsApp'ta paylaş
  • CobolCraft

    • Minecraft 1.21.4 sürümünü destekleyen, COBOL ile yazılmış bir Minecraft sunucusu
  • Özellikler

    • Aşağıdaki özellikler zaten uygulanmış durumda
      • Sonsuz arazi oluşturma ve dinamik chunk yükleme
      • Dünya ve oyuncu verilerinin diske kaydedilmesi
      • Minecraft dosya biçimi desteği (mevcut dünyaları içe aktarma)
      • En fazla 10 eşzamanlı oyuncuyu destekleyen çok oyunculu mod
      • Ping/sunucu durumu (sunucu listesinde çevrimiçi görünme)
      • Blok kırma ve yerleştirme
      • Blok etkileşimleri (sağ tık, ör. kapı açma)
      • Oyuncu envanteri (yaratıcı mod ile sınırlı)
      • Sohbet
      • Komutlar (oyun içinden ve etkileşimli konsol üzerinden)
      • server.properties üzerinden yapılandırma
      • Beyaz liste (kalıcı; whitelist.json içinde saklanır)
    • Birden çok duruma, yöne ve etkileşime sahip bloklar çok fazla özel amaçlı kod gerektirir ve bu proje kapsamını aşar
      • Desteklenen bazı bloklar: meşale, slab, merdiven, döndürülmüş sütunlar, düğmeler, kapılar, trapdoor, yataklar
  • Kullanım

    • GnuCOBOL kullanılarak geliştirildi ve Linux üzerinde çalışacak şekilde tasarlandı
    • Windows gibi diğer işletim sistemleri desteği test edilmedi, ancak Docker kullanılarak platformdan bağımsız dağıtım mümkün
    • Linux üzerinde dağıtım için şu önkoşulların kurulu olması gerekir
      • cobc, make, g++, zlib, curl, güncel bir Java sürümü
    • Derlemek için make, sunucuyu 25565 portunda başlatmak için make run çalıştırın
    • Docker kullanıldığında:
      • Docker Hub'dan imaj çekilebilir veya doğrudan derlenebilir
      • Docker konteyneri çalıştırılırken dışarıdan erişilebilir olacak şekilde yapılandırılabilir
  • Neden?

    • COBOL hakkında pek çok söylenti ve kötü ün var; bu projeyle bu dil hakkında daha fazla şey öğrenmek istiyor
    • COBOL iş uygulamaları için uygundur, ancak Minecraft protokolünün gerektirdiği düşük seviyeli veri işleme için uygun değildir
    • Yine de çalışan bir prototip oluşturmadan vazgeçmedi
    • Performans, veri kodlama ve kod çözme yoluyla elde edildi
  • Program genel bakışı

    • Kaynak bileşenleri

      • Program giriş noktası main.cob dosyasıdır; kalan COBOL kaynakları src/ dizininde bulunur
      • TCP soketleri CBL_GC_SOCKET soket kütüphanesi ile yönetilir
    • Paket blob'ları

      • Wireshark ile yakalanan ağ verileri kullanılır ve blobs/ dizininde bulunur
    • Veri çıkarma

      • Resmî Minecraft sunucusu ve istemci uygulamalarından çok sayıda veri çıkarılabilir
      • CobolCraft Makefile dosyası, .jar dosyalarını indirip JSON verilerini çıkaran hedefler içerir
  • Yasal bildirim

    • Bu proje MIT lisansı altındadır ve üçüncü taraf CBL_GC_SOCKET kütüphanesi LGPL v3 lisansı altındadır
    • "Minecraft", Mojang Synergies AB'nin ticari markasıdır; CobolCraft, Mojang ile ilişkili değildir ve onun tarafından onaylanmamıştır

1 yorum

 
GN⁺ 2024-12-27
Hacker News yorumları
  • COBOL hakkında çok fazla söylenti ve kötü şöhret var. Bunu anlamak için bir proje aracılığıyla COBOL deneyimi yaşamak istiyorum. COBOL'u yeni kullanmaya başlayan birinin edindiği içgörüleri merak ediyorum

    • Lise bitirme projesi olarak futbol bahis oranlarını otomatikleştiren bir COBOL sistemi yazmıştım. Modası geçmişti ama eğlenceliydi
    • COBOL'da delikli kart dönemini hatırlatan bir çekicilik var
  • Basit bir dille yazılmış küçük bir proje etkileyici. Buna karşılık Rust gibi modern dillerle yazılmış projeler verimsiz

    • Basit diller fikirleri hayata geçirmeyi kolaylaştırıyor, ama modern diller sürdürülebilir kod yazmaya zorluyor
  • 1978'den sonra COBOL kullanmayı bıraktım. Bu kodu bir daha asla görmek istemiyorum

  • COBOL kodu, prosedürel dil geçmişi olan biri için anlaşılması kolay. Bana 20 yıl önce VB ile yazılmış bir oyun sunucusunu hatırlatıyor

  • COBOL kodu çok okunabilir. Modern dillerle karşılaştırıldığında anlaması daha kolay

  • Pakistan'da küçük bir kasabada lise yıllarımda COBOL öğrendim. Finansal raporları simüle eden bir proje yapmıştım. COBOL'un neden kötü bir şöhrete sahip olduğunu anlayamıyorum

  • COBOL harika bir dil gibi görünüyor. Kod iyi düzenlenmiş

  • 40 yıl sonra dünyanın dört bir yanındaki yöneticiler, "COBOL Minecraft sunucusu ortadan kayboldu" diyecek

  • COBOL Minecraft sunucusunun redstone desteği olup olmadığını anlayamıyorum. README'de bundan bahsedilmiyor ve kodda yalnızca redstone torch geçiyor