Minecraft Sunucu Başlatma Dosyası | Türkçe Karakter Destekli, Optimizeli!

Bedava Minecraft Sunucu Başlatma Dosyası | Türkçe Karakter Destekli, Optimizeli! 2.5.1

İndirmek için giriş yapın
Sürüm 2.5.1

Uzun aradan sonra yeni bir sürüm ile karşınızdayım, ancak bu sürüm daha çok bir süredir biriken değişikliklerden güncelleme yapmaya değebilecek olanları seçerek yayınladığım bir sürüm, henüz bitmeyen büyük bir 2.6.0 sürümü var geliştirmekte olduğum ancak birçok teknik limitasyon yüzünden kısa sürede yayınlanacak gibi durmuyor. Argümanlar çok uzadığından Windows'un limitlerine ulaştık desem herhalde nasıl bir teknik limitasyondan bahsettiğimi anlarsınız. :D

Önemli Değişiklikler:
  • Log4J2 güvenlik açığı düzeltildi (v2.3.0+, uzak güncelleme).

    Normal şartlarda v2.3.0 ve üstü herhangi bir sürümü kullanıyorsanız bu düzeltmeyi otomatik olarak almış olmanız gerek, ancak bu sürümde yine de aldığınızdan emin olan kontroller eklendi.

    Bu konuda daha fazla bilgi için Log4J Açığı Hakkında Bilmeniz Gerekenler (CVE-2021-44228) adlı konumu inceleyebilirsiniz.

  • 1.17.1 ve 1.18.1 desteği resmi olarak eklendi (zaten çalışıyordu ancak onaylanmamıştı).

    Evet, biliyorum artık başlatma kodu öyle bir seviyeye erişti ki hiçbir şey için güncelleme yapmama gerek kalmıyor, ya da sizin güncelleme yapmanıza. Her şey çalışıyor zaten. :D Ancak bu sürümde yine de resmi olarak 1.17.1 ve 1.18.1 desteği eklendi. Bundan kast ettiğim şey ise game_version ayarını açıklayan yorum satırında ki kabul edilebilecek değerler bilgi kısmına 1.17.1 ve 1.18.1'in eklenmesi ve kişisel testlerime göre çalıştığının onaylanıp otomatik Java indirici gibi fonksiyonlarla da uyumlu çalışması, yoksa 2.5.0'da da Java 17 kurduktan sonra 1.18.1 kullanabilirsiniz.

  • Otomatik Java indiricideki Java sürümleri güncellendi ve Java 17 desteği eklendi.

    Minecraft 1.17 desteği, bazı güvenlik ve performans iyileştirmeleri için otomatik Java indiricinin indirdiği Java sürümleri güncellendi.

    Not: Bu otomatik indirici eğer sistemde Java yoksa çalışıyor sadece, var ise var olan Java'yı kullanıyor. Yani yukarıda da belirttiğim gibi v2.5.0'da da Java 17'yi önceden kurarak 1.18.1 çalıştırabilirsiniz.

    Not 2: birçok diğer özelliğin aksine otomatik Java indiricinin indirdiği Java sürümleri sabit, yani uzak bir sunucudan güncellenemiyor (henüz). v2.6.0 ile birlikte bu özellikte uzak kontrole alınacak ve başlatma kodunu güncellemenize gerek kalmadan son sürüm Java sürümü indirilecek (buna henüz 11->17 gibi güncellemeler dahil değil ancak v2.7.0'da olabilir, tabii ki Minecraft sürümlerine bağlı 1.8 sunucuda Java 8'den Java 17'ye güncellemez, sadece 1.17 ve üstünde.).

  • Minecraft 1.17 üstü sürüm tespitinde, otomatik Java indirici artık Java 17 indirecek.

    Mojang'ın Java 17'yi Minecraft 1.17 ve üstünde zorunlu kılması üzerine otomatik Java indiriciye Java 17 desteği eklenmesine ek olarak, artık Minecraft 1.17 üstü sürümlerde otomatik olarak Java 17 seçilecek.
Diğer Değişiklikler:
  • "KOS KISMI" yazım hatası "KOD KISMI" olarak düzeltildi. :D

  • Önizleme veya OpenJ9 Java sürümlerinde oluşabilecek olan "8" was not expected here gibi hatalar düzeltildi.

  • OpenJ9: CompactStrings argümanı hataya neden olduğundan kaldırıldı.

  • OpenJ9: max_gc_pause_millis ayarı artık OpenJ9'da da çalışacak.

  • Netty: Paper'ın yeni sürümlerde çözdüğü ByteBuffer RAM kullanımının sunucu RAM'ine kadar artması ve performansı düşürmesi sorununun çözümü tüm sürümler için aktif edildi. (-Djdk.nio.maxCachedBufferSize=262144)

    Not: v2.5.0 yayınlandıktan çok kısa bir süre sonra düzenlenerek zaten eklenmişti.

  • OpenJ9: Gecikmeyi düşürmek amacıyla dnssExpectedTimeRatioMaximum=3'den 1'e düşürüldü.

  • Java 11 ve üstünde ki substring kopyalama politikası tüm Java sürümleri için aktif edildi, bu değişiklik RAM kullanımına pozitif etki edecektir.

    Not: v2.5.0 yayınlandıktan çok kısa bir süre sonra düzenlenerek zaten eklenmişti.

  • Regresyon: Orijinal v2.5.0'da bulunmayıp, kısa süre sonra düzenlenen sürümde bulunan ve sadece Java 11 ve üstünde tetiklenen "Picked up JAVA_TOOL_OPTIONS" hatası (tam olarak bir hata değil ancak gereksiz bir bilgi metni) v2.5.1'de düzeltildi.

  • YamlExactSetCli: "Not Found" hatası giderildi.

    Not: v2.5.0 yayınlandıktan çok kısa bir süre sonra düzenlenerek zaten düzeltilmişti.
Sürüm 2.5.0

Bu sürüm birçok optimizasyon ve hata düzeltmesi içermekte. Bunlardan bazıları, her ne kadar birçok test yürütmüş olsak da, bir şeyleri bozabilir. Bu durumda lütfen bunları bildirin.

Önemli Değişiklikler:
  • Restartlarda koddaki geçici değişkenlerin sıfırlanmaması ve bu nedenle Java argümanlarının
    tekrarlanabilmesi sorunu çözüldü. Bu durumu kontrol eden bir if ve uyarı da eklendi.


    Bu sorun eğer sunucunuzu otomatik yeniden başlatmayı kullanarak uzun süre açık tuttuysanız sizi etkiliyor olabilir. En son iyileştirmeler ve düzeltmelerden yararlanmak için son sürümü kullandığınızdan emin olun.

  • YamlExactSetCli: SealedException hatası düzeltildi.

    Bu hata her zaman oluşmamakla birlikte, hatalı bir MANIFEST.MF Sealed: true kısmı yüzünden oluşmaktaydı. Bu sürüme güncellediğinizde, cache/YamlExactSetCli.jar silinip güncellenecektir. Dosya yok ise, son sürüm indirilecektir.

  • -XX:+UnlockCommercialFeatures support was removed in Java 10 uyarısı çözüldü.

    Sadece Java 10'da çıkan bu uyarı çözüldü.

  • Java 16 uyumluluğu test edildi ve onaylandı.

    Java 16'nın çıkışı üzerine, test edildi ve uyumluluğu onaylandı. Java 8 backported defaults Java 16 için güncellendi.

  • JVM: instr_opt0 ile birlikte birçok yeni Java optimizesi eklendi. Bu ayarlar büyük optimizelere neden olabiliyor.

    Eski sürümleri kullanıyorsanız bu sürüme güncellemenizi öneriyoruz. Tüm diğer düzeltmelerle beraber bu optimizeler yeni işlemcilerde Java'nın (desteklenmesi durumunda) işlemciye özel instruction set (yönerge) kullanmasını sağlıyor. Bunlar normal Java/JIT kodu yerine, optimize edilmiş sistem/kernel/işlemci kodlarının kullanılmasına neden olur. Örneğin Vector işlemleri, Math.sin/cos gibi işlemler bu optimize ile beraber %100'e kadar hızlanabilecek işlemler arasında.
Diğer Değişiklikler:
  • -XX:+DontYieldALot eklendi. Debug Pie'da (Shift+F3) yield kısmının uzun sürmesi sorunu bunun ile birlikte çözüldü.

    Client'de FPS'i arttırdığı gözlemlendi. Sunucu taraflı etkisi Paper'da ki optimizeler nedeniyle daha az, fakat etkisiz değil.

  • -XX:+AllowParallelDefineClass eklendi. PluginClassLoader parallel-capable olduğundan, bu açılışı hızlandıracaktır.

  • -XX:MaxGCMinorPauseMillis=%max_gc_pause_millis% eklendi.

  • CDS Shared Cache Soft Limit, %max_ram% ile aynı olacak şekilde ayarlandı.

  • Bazı kullanıcıların Java kontrol ediliyor kısmında gecikme olmasını raporlaması üzerine RAM ayarlanıyor mesajı tekrar aktif edildi.
    Java kontrol ediliyor kısmında aslında birçok şey yapılıyor çünkü orası açılmadan önceki son kısım.

  • always_omit_stacktrace: -XX:-JavaMonitorsInStackTrace eklendi.

  • always_omit_stacktrace ayarının çalışmaması sorunu çözüldü.

  • always_omit_stacktrace true ise ve omit_stacktrace false ise, omit_stacktrace artık true yapılacak.

  • -XX:+DisableExplicitGC varsayılan olarak tekrar aktif edildi. NOT: /gc gibi komutlar girmeyin.

  • java.vm.compressedOopsMode=64-bit sistem değişkeni kaldırıldı. CompressedOopsMode çalışma algoritmasına göre
    bu değişkenin sadece 32GB üstünde 64-bit yapılması gerekiyordu, yanlış bir şekilde 64-bit yapılmış.

  • Cache klasörünün oluşumu daha erkene alınarak, son güncellemede oluşabilecek "Sistem belirtilen yolu bulamıyor"
    hatası giderildi.

  • class_caching varsayılan olarak aktif edildi.

  • gc_pause_interval_millis varsayılanı 50->201 yapıldı.

  • max_gc_pause_millis varsayılanı 49'dan 1'e düşürüldü.
    (Bu değişiklik MSPT'nizi düşürecek, TPS'inizi arttıracak ve oyunu stabilize edecek.)

  • max_new_size_percent varsayılanı 50->60 ve 12GB üstü için varsayılan 60->70 yapıldı.

  • new_size_percent varsayılanı 30->40 ve 12GB üstü için varsayılan 40->50 yapıldı.

  • enable_preview ayarı eklendi.
Sürüm 2.4.3

Bu sürüm daha çok bir hotfix sürümü. Bir uyarı ve bir hata düzeltildi. Koddaki bir kaç diğer değişiklik ve bu bahsettiğim düzeltmeler dışında 2.4.2 ile aynı diyebiliriz. Aslında 2.4.2.1 olarak yayınlayacaktım fakat versiyon numarasının o kadar uzamasını istemedim, üç sayı yeterli.

Önemli Değişiklikler:
  • Yok
Diğer Değişiklikler:
  • max_gc_pause_millis ayarı değiştirildiğinde oluşan "MaxGCPauseIntervalMillis must be lower than or equal to MaxGCPauseMillis" hatası düzeltildi. (relaxgc hazır ayarında da oluşmaktaydı, tüm Java sürümleri için geçerli.)

  • Java 9 ve üstünde oluşan "WARNING: package sun.reflect not in java.base" uyarısı düzeltildi.
  • Beğen
Reactions: Erkutay_
Sürüm 2.4.2

Bu sürüm genellikle hata düzeltmeleri içeriyor. Önemli değişiklikler kısmında, önemli hata düzeltmeleri veya bazı hata düzeltme olarak görülebilecek, olması gereken ama olmayıp, eklenen özellikler listelenmekte, bu nedenle sürüm numarası 2.4.2 olarak seçildi.

Önemli Değişiklikler:
  • Yeni hazır ayarlar eklendi: "gui", "relaxgc", "hungryos"

    gui : Eğer Windows penceresi gerektiren bir uygulama/eklenti çalıştırıyorsanız açtığınızda head_less kapatılır.

    relaxgc : New size gibi parametreleri kısar. MC dışı uygulamalarda açmak GC'yi rahatlatabilir, fakat MC'de performans için bu ayarı kullanmayın.

    hungryos : İşletim sistemine varsayılan olan 1GB bırakmak yerine 2GB bırakır. Arka planda ftp, mysql, site vb. yürütüyorsanız açabilirsiniz.

  • Kod önbelleği ile alakalı ayarlar kaldırıldı.

    Kod önbelleğinin varsayılan değeri Java'da 240 MB. Biz düz olsun diye 256 MB kullanıyorduk fakat bu biraz gereksizdi. Ek olarak bu ayarı yükseltmenin performansı arttırdığı sanılabilir, fakat sadece açılışı hızlandırır.

  • always_omit_stacktrace ayarı eklendi.

    Bu ayar hatalardaki stacktrace yani detay, hatanın nerede neden oluştuğunu gösteren kısımlarını siler, hatalar sadece boş hatalar olur.
    Bu, görmezden gelinen hatalarda Java'yı çok hızlandırabilir, ama normal oluşan hatalarda detayı göremezsiniz. Bu nedenle açmanız önerilmez, varsayılan olarak da kapalıdır, fakat açmak performansı arttırır.

  • İlk açılışta gelen uyarılar eklendi.

    Başlatma kodunu ilk kez açtığınızda, bunun uzun sürebileceğini bildiren bir uyarı eklendi.
    Başlatma kodunu kullanarak bir sunucuyu ilk kez açtığınızda, aynı şekilde otomatik ayarların aktif edilmesi için yeniden başlatmanızı öneren bir uyarı eklendi.

  • IPv6 uyumluluğu eklendi. Artık eğer makineniz IPv6 destekliyor ise sunucunuz her zaman IPv6 kullanacak.

    Java, varsayılan olarak IPv4 için kodlanan programları bozmamak amaçlı sistem IPv6 desteklese bile IPv4 kullanıyor. Netty, Minecraft ve Spigot IPv6 desteklediğinden ve IPv6 çok daha performanslı olduğundan bu ayarı aktif ettik.

  • Maximum HTTP bağlantısı limiti varsayılan 5'ten (Java varsayılanı) 100'e çıkartıldı.

    Bu eğer açılışta güncelleme kontrolü yapan birçok eklentiniz var ise açılışı hızlandıracak ve bazı SocketTimeoutException sorunlarını çözecektir.

  • Java 9 ve üstünde allow_module_access true iken --add-opens java.base/sun.reflect direktifleri eklendi.

    Bu değişiklik Reflection.getCallerClass not supported gibi uyarıları çözecektir.

  • Otomatik Java indirici artık Java'yı java.zip olarak indirdikten ve çıkardıktan sonra java.zip dosyasını otomatik silecek.

    Bu zip dosyası bir kere indirilip çıkardıktan sonra bir daha kullanılmamakta, bu nedenle silinmesi gerekiyordu.
Diğer Değişiklikler:
  • Daha fazla JAR adı için varsayılan algılama eklendi.

  • Başlatma kodunun, online_mode ayarını ilk açılışta uygulamaması sorunu çözüldü.

  • Sadece ilk açılışta oluşan "Unable to load server.properties" hatası düzeltildi.

  • Otomatik ayarlardaki optimizeler arttırıldı.

  • Bazı otomatik optimizasyonların sadece enable_query false iken yapılması sorunu çözüldü.

  • Java 16 ve 17 Early Access (Erken Erişim) sürümlerinde ki "0 not expected" hatası düzeltildi.

  • Java 16'da oluşan LoopStringMininIter argümanı ile alakalı gelen uyarı çözüldü.

  • Client için kod oluşturmaya fml.readTimeout ve cofh.rf.crashOnOldAPI=false eklendi.

  • Kod oluşturmanın enter'a bastıktan sonra çıkmaması sorunu çözüldü.

  • Bununla birlikte artık ilk açılışta da dünya ayarları yazdırılmayacak.

  • Geçici dosya silici artık daha fazla geçici dosya siliyor.
Sürüm 2.4.1

Bu sürüm genellikle hata düzeltmeleri içeriyor. Önemli değişiklikler kısmında, önemli hata düzeltmeleri veya bazı hata düzeltme olarak görülebilecek, olması gereken ama olmayıp, eklenen özellikler listelenmekte, bu nedenle sürüm numarası 2.4.1 olarak seçildi.

Önemli Değişiklikler:
  • Başlatma kodu artık eğer sunucu sürümü 1.16.4 veya üstü ise ve Java kurulu değil ise, varsayılan olarak Java 8 yerine Java 11 indirecek.

    Bu değişiklik Paper 1.16.4+ sunucuların Java 8 de uyarı vermesi ve gelecekte (Paper 1.17) Java 8'in desteklenmeyecek olması (başlatma kodu değil, Paper desteği kesecek) nedeniyle yapıldı. bStats'a göre Paper, Spigot'u analiz verilerine göre geçmeye çok yakın. Java 17 LTS çıkacak iken de, topluluğu Java sürümü olarak ileriye almak için yapılan iyi bir adımdı. Başlatma kodunda da bu değişikliğe destek verecek gerekli değişiklikleri uyguladık.

  • Başlatma kodu artık daha fazla JAR adı desteklemekte.

    Pek önemli bir değişiklik değil aslında, fakat başlatma kodu artık daha fazla JAR adı destekliyor. GetBukkit gibi sitelerden indirilmiş olabilecek varsayılan JAR adlarını kontrol etmekte. Eğer jar_name (varsayılan: craftbukkit) dosyası yok ise, bu JAR'ları kontrol edip jar_name değişkenini otomatik ayarlıyor.

  • Verbose Timings config hatası düzeltildi.

    Başlatma kodunun, yanlışlıkla açılıştaki ayarları yazdıran verbose: true ları config dosyalarında verbose: false 'ye dönüştürür iken Timings raporlarına ekstra detaylar eklemeye yarayan timings.verbose ayarını da kapatması düzeltildi.

  • Önceki güncellemede eklenen Client/Linux/MacOS için kod oluşturma da ki kapanma sorunu düzeltildi.

    Bir önceki güncellemede ki direktifleri gerçekleştirince konsol penceresinin direk kapanması sorunu çözüldü. Bunun nedeni pause yerine exit kullanılmış olmasıydı. Sadece Git bash üzerinde test etmiştim, cmd üzerinde deneyince fark ettim. Bu tür sorunlar artık yaşanmayacak.

  • Java 11 desteği arttırıldı ve uyarılar çözüldü.

    İlk önemli değişiklikte de belirtildiği üzere, Minecraft sunucu topluluğunu yeni Java sürümlerine adopte etmek ve ekosistemi Java 8 yerine daha iyi olan Java 11 sürümüne geçirmek üzere Paper tarafından başlatılan sürece bizde başlatma kodu üzerinden katkı sağlamak için gerekli değişikleri yapmıştık. Bunlardan birisi ise, önceki güncellemelerde belirmeye başlayan ve sadece Java 11'de oluşan, bu nedenle hem Java 8 hem de Java 15 üzerinde yapılan testlerde yakalayamadığımız bir uyarıyı da çözdük.

    Artık hem Java 8, hem Java 11 hem de Java 15 üzerinde her güncellemeyi test ediyoruz.
Diğer Değişiklikler:
  • GC parametreleri ile alakalı ayarlar ve onları açıklayan yorum satırları eklendi. Timings'de GC kısmında sarı, turuncu veya kırmızı değerler görüyorsanız bunları değiştirmek işe yarayabilir. Hangi değerleri değiştirmeniz gerektiğini öğrenmek veya başlatma kodundaki varsayılan değerleri geliştirmeye katkı sağlamak için Timings raporlarınızı gönderebilirsiniz. (Lag sorunu yaşamanıza gerek yok, GC kısmı sarı turuncu veya kırmızı ise Timings raporunu lag sorunu olmasa bile gönderin).

  • Performansı arttırabilecek bazı yeni Java argümanları eklendi.

  • SurvivorRatio'ya 256M ve 128M max_ram desteği eklendi. Başlatma kodunu sonraki güncellemelerde sadece sunuculara veya kod oluşturma ile beraber client'e özel yapmak yerine, artık tüm Java programlarını çalıştırmak için kullanılabilecek bir şekile getirmek için bu değişikliği yaptık.

  • %TMP% klasöründe -XX:-UsePerfData ayarı önceki güncellemelerde eklenmeden önce sunucu çalıştırdı iseniz kalan çöp hsperfdata dosyalarını temizleyen bir kod eklendi.

  • allow_module_access ayarı true iken ve Java 12+ üstünde yürütülüyor iken jdk.internal.access için --add-opens değeri eklendi. (Client için kod oluşturmada OptiFine ile alakalı hataları çözer; bazı eklentiler için de gereklidir bu nedenle kod oluşturma dışında da genel olarak eklenir argüman.)

  • Eski Java sürümü uyarısı ve kontrolü Java 11 içinde eklendi.

  • Kod oluşturmanın, client koduna da Log4J parametrelerini eklemesi sorunu çözüldü. Client kendi log4j configlerini kullanmakta, bunlar sunucularınkinden farklı.
  • Beğen
Reactions: Erkutay_
Sürüm 2.4.0

Not: Aslında bundan önceki sürümü 2.4.0 olarak yayınlayıp bu sürümü 2.4.1 olarak yayınlamayı planlıyordum fakat son anda v2.3.3 olarak yayınladım önceki sürümü. Bu sürümün v2.3.4 yerine v2.4.0 olup, sadece 1 önemli değişiklik içermesinin nedeni bu. Bu sürüm daha çok hata düzeltmesi içeriyor.

İleride her zaman birçok önemli değişiklik olan sürümler x.X.x formatında X yükseltilecek şekilde yapılacak. Bazı durumlarda X.x.x formatında X yükseltilecek şekilde, "major" bir sürüm yükseltmesi de yapılabilir. Fakat bunun kodun en baştan yazılması gibi durumlar dışında şu an için olacağını düşünmüyorum.


Önemli Değişiklikler:
  • Başlatma kodu artık Client, Linux ve macOS için kod oluşturmayı destekliyor!

    Başlatma kodunu Minecraft Client'in de kullanmak veya Linux/macOS üzerinde kullanmak mı istiyorsunuz? O zaman aşağıdaki adımları uygulayın! (Sadece Java argümanlarını içerir. Otomatik yeniden başlatma gibi başlatma koduna özgü fonksiyonlar geçerli değildir.)

    Not: Client için kodlar stabil olmayabilir. Aynı zamanda açılışı veya oyunun stabil hale gelmesini yavaşlatabilir. Fakat bir süre açık kaldıktan sonra stabilleşmesi gerekmekte. Bunun nedeni, sunucular genelde uzun süre açık kaldığından, Java'nın -server ayarının açılış hızı veya direkt olarak hızlı çalışma yerine, zaman içinde (cliente göre daha hızlı) çalışma politikasını aktif etmesidir.

    Sunucular içinde aynı şey geçerlidir fakat stabil hale gelmeleri çok daha hızlı olmaktadır. Kodları kullanırken başlangıçta CPU/RAM artışı görürseniz endişelenmenize gerek yok. Oyun/sunucu stabil olunca %50 CPU'lar, %1 'lere kadar inecektir. (Tüm JIT işlemleri/TieredCompilation bittiğinde)

    Bunun için yeni bir konsol penceresi açıp, cd <başlatma kodunun olduğu konum> yazın ve yapmak istediğinize göre aşağıdaki komutlardan birini girin:

    1. Client: start.cmd gencode client print exit
    Açıklama: Client için kodları oluşturur, konsola yazdırır ve sunucuyu başlatmadan kapanır.

    2. Linux: start.cmd gencode linux exit
    Açıklama: Linux için bir start.sh oluşturur ve yine aynı şekilde kapanır.

    3. Mac/MacOS/Mac OSX: start.cmd gencode mac exit
    Açıklama: Mac/MacOS/Mac OSX için bir start.sh oluşturur ve yine aynı şekilde kapanır.
Diğer Değişiklikler:
  • Başlatma kodu Java ve sunucu klasörlerinin olmadığı bir sistemde ilk kez başlatılırsa oluşan "7z not found" hatası düzeltildi.

  • PluginMetrics ve server.properties (sync-chunk-writes) config değişikliklerinin aktif edilmemesi sorunu çözüldü.

  • Java 8 üstündeki sürümlerde değişen bazı sistem değişkenleri ve Java argümanları eklendi. (Eğer Java 8 üstü kullanılırsa aktif olmaz)

  • 1GB'dan az max_ram kullanıldığında oluşan "SurvivorRatio must be less than or equal to ergonomic value" hatası çözüldü.

  • JVMCI ve Truffle varsayılan olarak kapatıldı. Bu değişiklik performansı arttıracaktır.

  • JVM heapdumplarının otomatik silinmemesi ve .heapdump uzantısı yerine .exe uzantısına sahip olması sorunu çözüldü.

  • Bazı tehlikeli/yanlış ayarlanan ayarlar için otomatik uyarı verme eklendi.

  • Açılış hızı arttırıldı:

    - PowerShell'i açılışta arka planda yükler (1-2 saniye kadar gecikme giderildi)
    - OS algılaması geçici olarak devre dışı bırakıldı (2 saniye kadar gecikme giderildi)

    - Güncelleme kontrolü artık eğer cURL var ise (Windows 10+) cURL kullanacak. (eğer cURL var ise 1 saniye kadar gecikme giderilir)

  • 1GB'dan az RAM miktarına sahip Windows Server 2016 sistemlerde, Java 8 üzerinde oluşabilecek jvm.dll ERROR_ACCESS_VIOLATION hatası çözüldü. Bu hata Java 8 üstü sürümlerde; 1GB üstü RAM'e sahip sistemlerde veya Windows Server 2019/2012 R2 sistemlerde oluşmamakta.
Sürüm 2.3.3

Önemli Değişiklikler:

  • Başlatma kodu artık eğer kurulu Java bulamazsa Java'yı otomatik indirecek.

    Her şeyi otomatik ve kolay yapmak için başlatma kodu sunucu JAR dosyası ile birlikte artık eğer Java'yı da bulamazsa indirip kuracak, ayarlarını yapacak. Üstelik OracleJDK yerine Windows'da bile OpenJDK indirecek.

    OpenJDK'nın artıları: Açık kaynak, ücretsiz, lisans sorunu yok, her zaman OracleJDK'dan bir sürüm ileride (örneğin şu an ki OracleJDK sürümü 8u281 iken OpenJDK sürümü 8u282.)

    Sisteminizde Java kurulu iken bile başlatma kodunun indireceği Java'yı kullanmak istiyorsanız "java_command" ayarını "built-in" yapabilirsiniz.

  • Varsayılan minimum RAM miktarı 1536 MB'dan 1024 KB'a düşürüldü.

    Minimum RAM minimum RAM'dir; kullanılmayan ram israf edilen RAM'dir, fakat minimum RAM kullanılan RAM'de değildir. Minimum RAM parametresi olan Xms, Java'yı her koşulda her zaman Xms değeri kadar RAM kullanması için zorlar. Örneğin bu değer 1536 MB (1.5 GB) ise, sunucu sadece 300 MB gerektirse bile her zaman 1.5 GB minimum kullanır.

    Bu değişiklik Java'nın sadece ihtiyacı kadarı RAM kullanmasını sağlar. Performans düşüşüne sebep olmaz. Sunucu açılışını kapanışını yavaşlatacağını söyleyebilirsiniz, fakat aksine hızlandırır. Çünkü açılışta veya kapanışta büyük miktarda RAM'i işletim sisteminden almak veya işletim sistemine geri vermek yerine sadece bu işlemi ihtiyacı olduğunda yapar.

  • Başlatma koduna, Mojang'ın varsayılan client kodları ve Aikar'ın kodları eklendi.

    Tabii ki direk alıp eklemedik, düzenlemeler, uyumluluk testleri yaptık. En iyi olacak şekilde ayarladık. 12GB üstünde Aikar'ın önerdiği değişiklikleri de otomatik yapacak şekilde ayarladık.

  • io_timeout varsayılan değeri 60 dan 30'a indirildi. (Paper varsayılanı)

    Eğer timed out sorunları yaşarsanız yükseltin. Spigot varsayılanı zaten 20, Paper 30 yaptığı halde sorun yaşıyorsanız hostinginizi veya lokasyonunuzu değiştirmenizi tavsiye ederim. Çok fazla istek olduğundan v1 kodlarında bu değer 120 idi, v2 de 60 dı, şuanda ise 30. Daha fazla düşürülmeyecek.

    Bu değişikliğin nedeni oyuncular çıktıktan sonra normale göre biraz daha fazla süre boyunca hala aktif gözükmeleri sorununu çözmek. Bu değer 30 iken bu çok fark edilmiyor ancak 60 veya 120 iken oyundan çıkan oyuncularınız tekrar girmeye çalıştığında zaten aktif uyarısı ile atılabilir ve değişik buglara sebep olabilir.
Diğer Değişiklikler:
  • Yatopia Leaflight Yatopia'nın kendisine eklendiği için kaldırıldı.

  • Bazı durumlarda oluşabilecek log4j2.xml bulunamıyor hatası çözüldü.

  • "281 not expected" gibi bazı oluşabilecek hatalar çözüldü.

  • Güncellemeler kontrol ediliyor mesajı ve güncelleme kontrolünü kapatmak için ayar eklendi.

  • log4j.configurationFile ayarı absolute path yerine relative path'a geçirildi. Bu değişiklik Timings raporlarında vesaire Windows kullanıcı adının ve sunucu klasörünün konumunun gözükmemesi için gerekliydi.

  • Java 15'de kaldırıldığı için başlatma kodundan silinen CMS ve BiasedLocking ayarları, artık eğer Java 15 altı kullanıyorsanız başlatma kodu tarafından kullanılacak. Bu değişiklik performansı arttırabilir.

  • "agressive" hazır ayarı eklendi.

  • İşletim sistemi yükseltme/düşürmelerinde, os.name değişkeninin değişmemesi sorunu çözüldü.

  • Yatoclip desteği eklendi.

  • "download_provider" yatopia olduğunda indirilecek yatopia JAR'ı son sürüm yerine son stabil sürümü indirecek şekilde değiştirildi.
Sürüm 2.3.2
  • ASCII headerı eklendi.

  • Minecraft 1.16.5 ve Java 8u281 için güncellendi.

  • TLS 1.3 ve ileride çıkabilecek daha yeni TLS sürümleri PowerShell için kullanıma aktif edildi.

  • Güncelleme kontrolü eklendi. Artık yeni bir sürüm çıktığında, başlatma kodu sizi haberdar edecek.

  • Otomatik RAM ayarlama sistemi için, Windows'a ram bırakıp bırakılmayacağını ve bırakılacak ise ne kadar bırakalacağını ayarlayan ayarlar eklendi.

    Varsayılan olarak sisteme 1 GB RAM performans için bırakılıyor; isterseniz tüm RAM'i sunucuya verebilir veya 1.5 GB, 2 GB gibi daha da genişletebilirsiniz.

    En ideal değer sistem boşta iken ne kadar RAM yiyorsa odur; fakat bu Windows Server/Windows sürümlerine göre değiştiğinden ve çok fazla RAM'i sisteme bırakmanında sunucu performansından kısacağı öngörüldüğünden varsayılan değer olarak 1 GB seçildi.

  • JVM için kullanılan -d64 ve -server ayarları, eğer şuanki Java kurulumu destekliyorsa artık eski kodlardaki (v1.x) gibi varsayılan olarak açık olacak.

    Eski kodlarımda bu ayarlar vardı, fakat JDK yerine JRE kullanan veya Java 7 kullanan kişilerde sorun oluştuğundan, v2.x de bunları açmak için ayar ekleyip, varsayılan olarak kapatmıştım.

    Şimdi ise başlatma kodu şuanda kurulu olan Java sürümünün bu ayarları destekleyip desteklemediğini otomatik kontrol edip, destekliyorsa açıyor.

  • Vendor ve prod değişkenleri eklendi. Vendor eğer lifemcserver ise resmi dağıtımı kullanıyorsunuz demektir. Eğer başlatma kodunu düzenleyip başka bir adreste, başlatma kodunun içeriği değiştirilmiş bir sürümü için indirme linki sağlıyorsanız bu ayarı değiştirin. Bu ayar şu anda sadece güncelleme kontrolünde kullanılıyor; eğer vendor lifemcserver değil ise güncellemeleri kontrol etmiyor.

    Bu durumda kendi güncelleme sunucunuza göre ayar yapmalısınız. Prod ise bir test sunucusu mu yoksa production denilen stabil/test sunucusu olmayan sunucu mu olduğunu belirliyor, bu değişken Windows Server algılanırsa otomatik true, algılanmaz ise false oluyor ve şimdilik hiçbir yerde kullanılmıyor.

  • cache klasörü varsayılan olarak gizlendi. Bu klasör son kullanıcılar için kafa karıştırıcı olabiliyordu.

  • verbose_info true iken PowerShell ve .NET sürümlerini gösterme şimdilik yavaş olduğu için kapatıldı.

  • Önceki sürümde çözülen PowerShell başlığı sorunu için kullanılan çözüm geliştirildi.

  • tiered_compilation ayarı artık Java 8 kullanılmıyor ise veya kurulu Java sürümü desteklemiyor ise varsayılan olarak kapatılacak.

  • Java 8 altı bir sürüm veya eski bir Java 8 sürümü kullanılıyor ise artık başlatma kodu uyarı verecek.

  • 1.5 GB RAM'den daha az sistemlerde otomatik RAM ayarlamada oluşabilecek sorunlar giderildi.

  • Otomatik gereksiz dosya siliciye, eklentilerin kullandığı daha fazla log dosyası eklendi.

  • -XX:+UseNUMA ayarı eklendi, Oracle'ye göre %30'a kadar bir performans artışı gözlemlenebiliyor; fakat bu ayar çoğu durumda zaten varsayılan olarak açık.

    Açık olmamasına karşın eklendi.

  • -XX:-AggressiveOpts ayarı kaldırıldı. Bu ayar Java 11'de deprecate edilmişti ve başlangıçta bir uyarı yazdırılmasına neden oluyordu. Başındaki - ayarı kapatmayı ifade etse bile bu uyarı geldiğinden ve varsayılan olarak zaten kapalı olduğundan, kaldırıldı.

    Ayar deprecate edildikten sonra şu anda hatırlayamadığım bir güncellemede bu ayardaki + yı - yapmıştım; yani kapatmıştım, fakat kapatmak uyarıyı çözmek için yeterli değilmiş.
  • Beğen
Reactions: Erkutay_
Sürüm 2.3.1
  • Otomatik dosya indirmeleri için kullanılan PowerShell .NET TLS sürümünü ayarlayan kodda ki TLS12 ibaresi, dökümanlarla uyumlu olması için Tls12 olarak değiştirildi. (İkisi de çalışmakta fakat Tls12 orijinal adıydı; ona geçirildi)

  • PowerShell'de kullanılan null 'lar $null 'a çevrildi. Hataya sebebiyet verecek bir durum değildi fakat çalışmamasına sebep oluyordu.

  • Aynı şekilde true ve false 'lerde $true ve $false olarak değiştirildi.

  • Proxy'i geçme sistemi yukarıdaki değişiklikler nedeniyle önceki sürümde çalışmıyordu. Buda HTTP bağlantılarını (otomatik dosya indirmede kullanılan) yavaşlatabiliyordu; bu sürümde çözüldü.

  • Otomatik dosya indirme ve Paper API iletişimi için kullanılan HTTP WebClient'e User-Agent (Mozilla/5.0) ve Accept (*/*) headerları eklendi.

  • Eğer verbose_info açık ise PowerShell ve .NET sürümünü konsola yazdıran kod parçacığı eklendi. (Windows 10 Pro x64 için örnek varsayılan değer: PowerShell 5.1, .Net 4.0) (PowerShell 7.1 ve .NET 5.0 önerilir.)

  • Eğer Paper download_provider olarak ayarlı ise (varsayılan) download_url'nin sonunda beliren gereksiz bir boşluk kaldırıldı. Testlere göre bir hataya yol açmıyordu fakat yine de kaldırıldı.

  • help.yml de oluşabilecek bir "Premature end of file" hatası düzeltildi.

  • Pencere başlığının bazı Windows/Windows Server sürümlerinde title ayarı yerine Windows PowerShell olarak gözükmesi sorunu çözüldü.
  • Mükemmel
  • Beğen
Reactions: ToprakM ve Erkutay_
Sürüm 2.3.0
  • Bazı Minecraft sürümlerinde konsol renklerinin çalışmaması sorunu çözüldü.

  • server.properties de oluşan UTF-8 BOM kaynaklı bir sorun çözüldü.

  • disable_help_index ayarı true iken help.yml'nin sürekli değiştirilip büyümesi sorunu çözüldü.

  • Sunucu JAR dosyasında bulunan yggdrasil_session_pubkey.der sertifikası eski ise otomatik güncelleyen bir sistem eklendi.

  • Eski MC sürümlerinde loglarda ANSI renk kodları ([m[0;32;1m gibi) görünmesi sorununu çözen log42j config dosyası kullanıma açıldı.

  • online-mode ve yatopia-leaflight hazır ayarları eklendi.

  • yatopia-leaflight download_provider ayarı eklendi.

  • connect_timeout ve read_timeout ayarları eklendi.

  • Aikar'ın başlatma kodlarını başlatma koduna ekleyen/birleştiren use_aikars_gc_settings ayarı eklendi. (önerilmez)

  • title_prefix ile "Sunucu Konsolu" yazısının arasında boşluk olmaması sorunu çözüldü.

  • Otomatik ayar uygulamaları için PowerShell yerine FART (Find And Replace Tool)'a geçildi. Başlatma kodunun gecikmesi yaklaşık 5-10 saniyeden 0.6ms-3 saniyeye kadar indi.

  • verbose_info açık iken başlatma kodunun ne kadar gecikme ile açılıp Java'ya ulaştığını ve sunucu kapanınca ne kadar süre boyunca açık kaldığını gösteren mesaj eklendi.

  • Diğer hata düzeltmeleri, iyileştirmeler ve performans iyileştirmeleri için argüman eklemeleri yapıldı.

  • Başlatma kodunun başlangıçta ki ve kapanışta ki gecikme etkisi azaltıldı ve iyileştirildi.

  • Varsayılan delay ayarı (otomatik yeniden başlatmadan önce beklenecek süre) 3 saniye olarak değiştirildi ve mesaja "3 saniye içinde yeniden başlatılacak" eklendi.

  • expose_ip, use_custom_log4j_config, jansi.passthrough ve jansi.force ayarları eklendi.

  • Log4J, dosya blokları ve IP ayarları için yeni mesajlar ve mesaj ayarları eklendi.

  • Eğer dosya uzantısı .cmd değil ise uyarı verme eklendi. .bat uzantısı daha eski bir uzantıdır ve önerilmemektedir.

  • Dosya adı start.cmd den farklı bir adda ise oluşan bir hata düzeltildi.

  • Sunucu JAR dosyası ve diğer dosya indirme işlemlerinin hızları optimize edildi.

  • Config dosyaları için daha fazla otomatik optimizasyon eklendi.

  • %TEMP% ve cache klasörlerinde ki eski & gereksiz JANSI .dll dosyalarını silen kod eklendi.
  • Mükemmel
  • Beğen
Reactions: ToprakM ve Erkutay_

Üst