Dynmap: Minecraft için 3D çevrimiçi harita eklentisi incelemesi
Minecraft sunucuları için Dynmap eklentisinin detaylı incelemesi. İzometrik 3D haritaların oluşturulması, yerleşik web sunucusu…
Minecraft sunucuları için Dynmap eklentisinin detaylı incelemesi. İzometrik 3D haritaların oluşturulması, yerleşik web sunucusu yapılandırması, uyumluluk ve ...
Bağımlılıklar:
Yükleyici: Paper / Spigot / Fabric / Forge
Minecraft Sürümü: 1.20.x – 1.21.x
Çok oyunculu Minecraft oyununda, oyuncular arasındaki koordinasyon, inşaat için boş alanlar bulma ve geniş bölgelerdeki aktiviteyi izleme genellikle zorluklara neden olur. Temel araçlar sadece tüm dünyayı kapsamayan ve gerçek zamanlı olarak güncellenmeyen yerel kağıt haritalar sunar. Dynmap aracı, normal bir web tarayıcısı üzerinden erişilebilen oyun dünyasının etkileşimli bir haritasını oluşturarak bu sorunu çözer. Google Haritalar gibi coğrafi bilgi hizmetleriyle aynı prensipte çalışır ve ayrıntılı bir manzara, oyuncu konumları, özel bölge sınırları ve oyun içi sohbet mesajlarını gösterir.
İşleme motorunun çalışması ve karoların kaydedilmesi
Dynmap'in işlevselliğinin temelinde, Minecraft'ın 3D yığın (chunk) verilerini bir dizi 2D grafik dosyasına (karolar veya tile'lar) dönüştüren kendi oluşturma ardışık düzeni yatar.
Oluşturma türleri ve projeksiyonlar
Eklenti, dünyayı görüntülemek için üç ana seçeneği destekler:
Düz görünüm (Flat): Yukarıdan aşağıya görünüme sahip klasik bir 2D harita. Oluşturma sırasında en az disk alanı ve CPU kaynağı tüketir.
İzometrik 3D görünüm (Surface): Manzaranın yükseklik farklılıklarını, binaların mimarisini ve su kütlelerinin derinliğini değerlendirmenizi sağlayan açılı hacimsel bir 3D projeksiyon.
Mağara görünümü (Cave): Yüzeyin altındaki mağara yapısını göstererek yeraltı boşluklarını ve madenleri oluşturur.
Dosyaların kaydedilmesi ve disk yükü
Oluşturulan tüm harita karoları, plugins/dynmap/web/tiles/ klasörüne standart PNG veya JPG görüntüleri olarak kaydedilir. Oyuncuların bloklarda yaptığı her değişiklikte (inşa etme, yok etme, patlamalar) Dynmap, artımlı bir güncelleme işlemi başlatır - yalnızca doğrudan güncellenen yığının bölgesine düşen karolar yeniden çizilir.
Sunucunun disk alt sistemi, dünyanın ilk oluşturulması sırasında önemli bir yük (G/Ç işlemleri) yaşar. Yüksek çözünürlükte, büyük bir haritanın karolarını içeren klasör onlarca veya hatta yüzlerce gigabayta ulaşabilir, bu da hızlı SSD sürücülerin kullanılmasını ve dünya sınırlarının (WorldBorder) kısıtlanmasını gerektirir.
alt: [Tarayıcıda, başlangıç noktasının izometrik 3D görünümünü gösteren Dynmap web haritası arayüzü]
Web sunucusu altyapısı: Jetty ve Nginx karşılaştırması
Dynmap, sunucunun ölçeğine ve beklenen yüke bağlı olarak web arayüzünü dağıtmak için iki şema sunar.
Yerleşik web sunucusu Jetty
Varsayılan olarak kurulumdan sonra, eklenti otomatik olarak entegre Jetty web sunucusunu 8123 numaralı bağlantı noktasında başlatır. Bu seçenek herhangi bir ek yapılandırma gerektirmez: Yöneticinin barındırmada 8123 numaralı bağlantı noktasını açması yeterlidir, ardından harita http://Sunucu_IP:8123/ adresinde erişilebilir hale gelir.

Harici bir sunucuyla entegrasyon (Nginx veya Apache)
Eşzamanlı oyuncu sayısı yüksek olan genel sunucular için, her web kullanıcısı trafiği doğrudan oyun sunucusu üzerinden tükettiği için yerleşik Jetty, Java oyun işlemine ek bir yük oluşturur. Optimizasyon için, karoların sunumunu bağımsız bir Nginx veya Apache web sunucusu üzerinden yapılandırmanız önerilir.
Bu kurulumda, Nginx, Minecraft oyun işleminin çekirdeğini atlayarak doğrudan web/tiles/ klasörü ile çalışacak şekilde yapılandırılır. Bunun birkaç önemli avantajı vardır:
Oyun iş parçacığının korunması: Tarayıcı istekleri ayrı bir web sunucusu tarafından işlenir ve böylece oyundaki mikro donmalar (TPS düşüşleri) ortadan kalkar.
HTTPS şifrelemesi: Güvenli bir bağlantı için ücretsiz Let's Encrypt SSL sertifikalarını kolayca yapılandırma yeteneği.
Çevrimdışı kullanılabilirlik: Minecraft oyun sunucusunun yeniden başlatılması veya kapatılması sırasında bile manzaranın web haritası görüntülenmeye devam eder.
Yapılandırma ayarları ve oluşturma yönetimi
Eklentinin ana parametreleri plugins/dynmap/configuration.txt dosyasında düzenlenir.

Genel oluşturma ve kaydetme ayarları
Parametre | Varsayılan Değer | Açıklama |
|---|---|---|
|
| Varsayılan olarak oluşturma şablonlarının kalitesini belirler ( |
|
| Harita karoları için depolama seçimi. Mevcut seçenekler: |
|
| Güncelleme kuyruğundaki karoları kontrol etme ve oluşturma aralığı (saniye cinsinden). |
|
| Güncelleme kuyruğundaki, aşıldığında oluşturma aralığının hızlandırıldığı karo sayısı. |
|
| Kuyruk eşiği aştığında hızlandırılmış oluşturma aralığı (saniye cinsinden). |
|
| Aynı anda oluşturulan karo sayısı (işlemci çekirdeği sayısının yarısına ayarlanması önerilir). |
|
| Oluşturma iş parçacıklarının önceliği. |
|
| Sunucu kapatıldığında veya yeniden başlatıldığında bekleyen oluşturma görevlerinin kuyruğunun kaydedilmesi. |
|
| Değiştirilen blokları oluşturmaya başlamadan önceki gecikme (saniye cinsinden). Otomasyon (kızıltaş, pistonlar vb.) nedeniyle karoların sürekli olarak yeniden çizilmesini önler. |
|
| Karo karmasını (hashing) etkinleştirme. Oluşturulduktan sonra karo görüntüsü değişmediyse, diskteki dosyanın üzerine yazılmaz ve böylece disk kaynaklarından tasarruf edilir. |
|
| Harita oluşturulurken (oyundaki gibi) pürüzsüz ışıklandırmanın hesaplanması. |
|
| Karo görüntülerinin formatı ve kalitesi (varsayılan olarak %90 kalitede JPG). |
|
| Statik olanlar yerine (istemcinin kaynak paketiyle eşleşen) oyun tarafından oluşturulan dokuları kullanma. |
|
| Kaynak paketlerinden Bağlantılı Doku Modu (Connected Texture Mod) desteği. |
|
| Kaynak paketlerinden özel biyom ve yaprak renkleri desteği. |
|
| Karo oluşturma kuyruğunu başlatan oyun içi etkinliklerin (blok yerleştirme/kırma, ağaç büyümesi, patlamalar) listesi. |
Web Altyapısı ve Dosya Yolları
Parametre | Varsayılan Değer | Açıklama |
|---|---|---|
|
| Eklenti dizininde grafik harita dosyalarının (karoların) kaydedileceği yol. |
|
| Statik harita web dosyalarına (HTML, JS, CSS) giden yol. |
|
| Eklenti başlatıldığında statik dosyaların otomatik olarak güncellenmesi (özel web arayüzleri kullanılırken |
|
| Yerleşik Jetty web sunucusunun çalışacağı TCP bağlantı noktası. |
|
| Yerleşik web sunucusunu devre dışı bırakma (harici bir Nginx veya Apache web sunucusu üzerinden karo sunumu ayarlanırken kullanışlıdır). |
|
| Kaynak tasarrufu sağlamak için yerleşik web sunucusunda izin verilen maksimum eşzamanlı oturum sayısı. |
|
| Web sunucusunun sembolik bağlantıları (symlinks) izlemesine izin verme. |
|
| Haritayı görüntülemek veya sohbet etmek için kullanıcı yetkilendirme sistemini etkinleştirme. |
|
| Web haritasını görüntülemek için hesap girişini zorunlu kılma. |
|
|
|
Web Arayüzü Bileşen Ayarları (Web Sohbeti, İşaretleyiciler, Oyuncular)
Parametre / Sınıf | Varsayılan Değer | Açıklama |
|---|---|---|
| Bileşen sınıfı | Oyuncu durumları, sohbet ve harita güncellemeleri hakkında verilerin iletilmesinden sorumludur. Not: Harici bir web sunucusu (Nginx) kullanıldığında, bu sınıfın |
|
| Haritada oyuncuların can (sağlık) göstergelerini gösterme. |
|
| Oyuncuların haritadaki tam konumunu gösterme. |
|
| Web arayüzünden Minecraft oyun içi sohbetine mesaj göndermeye izin verme. |
|
| Web sohbetindeki mesajlar arasındaki gecikme (saniye cinsinden) (spam koruması). |
|
| Eğiliyorlarsa (sneaking) oyuncuları haritadan gizleme. |
|
| İzleyici modundalarsa (spectator mode) oyuncuları haritadan gizleme. |
|
| Görünmezlik iksirinin etkisi altındalarsa oyuncuları haritadan gizleme. |
| Bileşen sınıfı | Haritadaki işaretleyici (marker) katmanlarını yönetir. Başlangıç noktasının ( |
|
| Harita işaretçilerinde oyuncuların yüzlerini (skin'lerini) gösterme. |
|
| Haritadaki oyuncu simgesinin hemen üzerinde can çubuğunu gösterme. |
Optimizasyon ve CPU Performans Sınırları (TPS/MSPT)
Parametre | Varsayılan Değer | Açıklama |
|---|---|---|
|
| Tam oluşturma ( |
|
| Dynmap'in oyun başına tek bir tık (tick - saniyenin 1/20'si) içinde belleğe yükleyebileceği maksimum yığın (chunk) sayısı. Bu parametreyi düşürmek sunucudaki gecikmeleri (lag) azaltır. |
|
| Oluşturma iş parçacığı için tık (tick) başına hedeflenen süre sınırı (milisaniye cinsinden). |
|
| Sunucunun TPS'i bu değerin altına düşerse, Dynmap karo güncellemelerinin oluşturulmasını otomatik olarak duraklatır. |
|
| Sunucunun TPS'i bu değerin altına düşerse, Dynmap dünyanın tam oluşturulmasını ( |
|
| Uzaklaştırılmış (zoom-out) harita seviyelerinin hesaplanmasına izin verilen minimum TPS. |
|
| Manzara anlık görüntü önbelleğindeki (snapshot cache) yığın (chunk) sayısı. |
|
| Yığın (chunk) önbelleği için Yumuşak Referansların (Soft References) kullanılması. OutOfMemory hatası riski varsa JVM'nin harita önbelleğini temizlemesine izin verir. |
configuration.txt dosyasındaki Optimizasyon Parametreleri
Sunucu performansını korumak için aşağıdaki yapılandırma dosyası değişkenlerine dikkat etmeye değer:
deftemplatesuffix— oluşturma kalitesi eki.vlowres(çok düşük kalite) veyalowres(düşük) değerleri, harita üretimini önemli ölçüde hızlandırmaya ve standarthiresdeğerine kıyasla dosya boyutunu 4-8 kat azaltmaya olanak tanır.tilespath— haritanın kaydedilme yerini sunucunun başka bir sabit diskine yönlendirmenize olanak tanıyarak ana sürücünün dolmasını önler.webserver-port— haritaya bağlanmak için (varsayılan8123yerine) bağlantı noktası.
Oluşturma (Render) Yönetim Komutları
Harita üretimi, seviye 4 yetkisine sahip bir operatör tarafından sunucu konsolundan kontrol edilir:
/dynmap fullrender <dünya>— belirtilen dünyanın tam bir oluşturma işlemini başlatır. Sadece yığınların (chunks) önceden tamamen oluşturulmasından (chunk pre-generation) sonra ve çevrimiçi oyuncu sayısının düşük olduğu dönemlerde yapılması önerilir./dynmap radiusrender <yarıçap>— büyük şehirler inşa ettikten sonra kullanışlı olan, sadece oyuncunun etrafındaki belirli bir yarıçaptaki haritayı günceller./dynmap cancelrender— CPU aşırı yüklenmesi durumunda devam eden oluşturma süreçlerini durdurur./dynmap pause all— TPS'i dengelemek üzere kaynakları serbest bırakmak için tüm harita hesaplamalarını geçici olarak duraklatır.
Sonuç
Dynmap eklentisi, büyük Minecraft sunucularında dünyayı görselleştirmek ve oyuncu etkileşimini artırmak için güçlü bir araçtır. İzometrik 3D oluşturma ve web arayüzü entegrasyonuyla haritayı proje için tam teşekküllü bir bilgi portalına dönüştürür.
Dynmap, (tam 3D görüntüleme için ağır WebGL kullanan) BlueMap veya (3D modelleri olmayan sadece hızlı bir 2D harita sunan) Squaremap gibi alternatiflerle karşılaştırıldığında en uygun özellik dengesini sunar. Ancak, yüksek disk alanı gereksinimleri ve G/Ç sistemi üzerindeki sürekli yük, yöneticilerin dünya sınırlarına ve doğru çözünürlük seçimine çok dikkat etmelerini gerektirir. Eklenti, büyük hayatta kalma (survival), anarşi veya RP (rol yapma) dünyası sunucuları için mükemmel bir seçimdir.
Kurulum
Tipik bir kurulum yaklaşık 5 dakika sürer. Akış aynıdır; yalnızca loader ve uygun build değişir.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











