Yazar ve Destek Ekibi Alımları Aktif!
Merhaba Ziyaretçi!, Forumumuzun yazar ve destek ekibine katılmak ister misiniz? Yetkili market, yetkili sistemi ve başvuru formu gibi birçok bilgiye ulaşmak için buraya tıklayın.
Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
TanıtımuxmEssentials - Tek Eklentide Komple Sunucu Altyapısı | 35 Modül, Tamamen GUI'li, Folia-Ready [Paper 26.2 · Açık Kaynak]
0.5.0 sürümünden sonra yapılan tüm değişiklikleri kapsar. Veri kaybına yol açan bir hata giderilmiş, yönetim araçları genişletilmiş ve 15 yeni eklenti entegrasyonu eklenmiştir.
Paper 26.1.2+ ve Java 25 gerektirir.
Kritik Hata Düzeltmeleri
Blok içeriği kaybı giderildi. Survival modülünde auto-pickup, auto-smelt veya auto-sell mekanikleri etkinken sandık, fırın, varil ve shulker gibi envanter tutan bloklar kırıldığında içerikleri siliniyordu. Bu tür bloklar artık mekanik zincirinin dışında bırakılmakta ve kırılma işlemi vanilla davranışına devredilmektedir.
Drop konumu düzeltildi. Kırılan blokların eşyaları blok köşesine spawn ediliyor, bu nedenle komşu bloklara sıkışabiliyor veya fırlatılabiliyordu. Spawn noktası blok merkezine alınmıştır.
Yönetim
/uxmess reload işlevsel hale getirildi. Komut daha önce başarı mesajı döndürmesine rağmen herhangi bir yeniden yükleme gerçekleştirmiyordu. Artık kayıtlı yeniden yükleme görevleri sırayla çalıştırılmakta ve her adımın sonucu (uygulandı, yeniden başlatma gerekiyor, başarısız) ayrı ayrı raporlanmaktadır.
Yapılandırma dosyalarına otomatik ekleme. Yeni sürümlerle gelen ayarlar daha önce yalnızca jar içinde bulunuyor, mevcut config dosyalarına yansımıyordu. Güncelleme sonrası eklenen anahtarlar, açıklamaları ve sürüm bilgisiyle birlikte dosya sonuna eklenmektedir. Mevcut satırlar, yorumlar ve biçimlendirme korunur.
/uxmess gui menüsü tamamlandı. Arayüzü bulunduğu halde merkezde listelenmeyen altı modül (survival, ranks, vote, regions, staff ve diğerleri) eklenmiştir.
/uxmess doctor kapsamı genişletildi. Önceden yalnızca üç entegrasyon raporlanıyordu; artık tanımlı tüm entegrasyonların durumu listelenmektedir.
Komut çakışması uyarısı eklendi. Aynı komutları kaydeden bir eklenti tespit edildiğinde hangi komutun hangi eklentiyle çakıştığı bildirilmektedir.
Bildirimler
Auto-sell satış bildirimi eklendi. Satılan eşyalar ve elde edilen tutar bildirilmektedir (örnek: "12x Iron Ingot, 3x Coal for $102"). Bildirimler action bar üzerinden verilir ve belirlenen aralıkta gruplanarak tek satırda iletilir.
Ücret bildirimleri eklendi. Warp, kit, home, rütbe atlama, takas, NPC aksiyonu, vault satın alımı, ışınlanma ücreti ve player warp ücretleri olmak üzere dokuz noktada tahsilat bildirimsiz gerçekleşiyordu. Tahsilat yapan her nokta artık kesinti bilgisini iletmektedir.
Varsayılan Değer Değişiklikleri
Auto-smelt ve auto-tool varsayılan olarak kapalı gelmektedir. Her iki mekanik de tüm oyuncuların blok kırma davranışını değiştirdiğinden, yapılandırma incelenmeden etkin gelmeleri uygun görülmemiştir.
Auto-smelt dönüşüm tablosu daraltıldı. Tablo yalnızca dört cevher çiftini içermektedir. Cobblestone, kum ve kil dönüşümleri ilgili malzemelerin vanilla üretim yolunu ortadan kaldırdığından yapılandırma dosyasında yorum satırı olarak bırakılmıştır.
Oyuncu tarafındaki /autosmelt ve /autotool komutlarında değişiklik yoktur. Mekanik yönetici tarafından etkinleştirildiğinde oyuncular için varsayılan olarak açık gelmeye devam eder.
Güvenlik ve Giriş Doğrulama
Doğrulama tuş takımı yeniden düzenlendi. Önceki 3x3 blok düzeni on rakamı barındıramadığından sıfır ızgara dışında konumlanıyordu. Tuş takımı, her tuşta ilgili rakamın yer aldığı iki sıralı 0-9 düzenine geçirilmiştir.
Doğrulama sırasında oyuncu koruması eklendi. Doğrulama bekleyen oyuncu artık hasar almamakta, moblar tarafından hedeflenmemekte, başka bir oyuncu tarafından ışınlanamamakta ve açlık kaybı yaşamamaktadır. İlgili kısıtlamalar yapılandırma üzerinden yönetilebilir.
Spectator modunda oluşan kilitlenme giderildi. Spectator modundaki oyuncu hiçbir pencereye tıklayamadığından doğrulama ekranını görüp tamamlayamıyordu.
/pin ve /2fa komutları ayrıştırıldı. Bir faktörün devre dışı bırakılması diğerini de siliyordu ve /pin set mevcut PIN'i doğrulama istemeden değiştirebiliyordu. Her komut artık yalnızca kendi faktörünü yönetmekte ve yalnızca o faktörün doğrulamasını talep etmektedir.
Konsol üzerinden çalıştırılan güvenlik komutlarının yanıtları iletilmektedir.
Yeni Entegrasyonlar Desteklenen eklenti sayısı 50'ye ulaşmıştır; bunların 15'i bu sürümle eklenmiştir.
Claim eklentileri: KingdomsX, HuskClaims, HuskTowns ve Factions eklenmiştir. Home ve warp oluşturulurken başka oyunculara ait araziler dikkate alınır. Toplam 17 claim eklentisi desteklenmektedir.
BlueMap: spawn ve warp işaretleri harita üzerine yayınlanmaktadır. dynmap ve squaremap desteği önceden mevcuttu.
CombatLogX ve PvPManager: savaş etiketi aktif olan oyuncuların kendi ışınlanma komutları engellenebilmektedir.
Geyser: Floodgate kurulu olmadığı durumlarda Bedrock oyuncuları Geyser üzerinden tespit edilmektedir.
ViaVersion: oyuncunun istemci protokol sürümü okunmakta ve menü koşullarında kullanılabilmektedir.
mcMMO: menü öğeleri skill seviyesine ve power level değerine göre koşullandırılabilmektedir.
ExecutableItems: menü ikonu olarak kullanılabilmektedir.
EconomyShopGUI (ücretsiz ve premium sürüm): fiyat tanımı bulunmayan eşyalar için satış fiyatı bu eklentiden okunmaktadır.
SuperVanish ve PremiumVanish: bu eklentiler tarafından gizlenen oyuncular gizli kabul edilmektedir.
Multiverse-Core: dünya kayıtları /uxmess import multiverse komutu ile aktarılabilmektedir.
Diğer Düzeltmeler
NPC görünen adı temizlendiğinde isim etiketi tamamen kaldırılmaktadır. Önceki davranışta komut başarılı yanıt vermesine rağmen NPC kimliği etiket olarak görüntülenmeye devam ediyordu.
Oyuncu adı üzerinden profil sorgusu yapan işlemler ana iş parçacığını bloke etmemektedir.
İçeriği boşaltılmış ücret mesajları sohbete boş satır olarak yazılmamaktadır.
Bu duyuru 0.5.1 ve 0.5.2 sürümlerini birlikte kapsamaktadır.
uxmEssentials 0.6.0, 0.7.0 ve 0.8.0
0.5.2'den beri buraya güncelleme yazmamışım, arada üç sürüm çıktı. Yeniden eskiye doğru kısa özet:
0.8.0
On iki dil kutudan çıkıyor. Oyuncunun gördüğü 2837 satırın tamamı çevrildi: İngilizce, Türkçe, Almanca, Rusça, İspanyolca, Brezilya Portekizcesi, Fransızca, Lehçe, Ukraynaca, Çince, Japonca ve Korece. Oyuncu dilini /lang ile seçiyor, çevrilmemiş bir satır varsa İngilizcesi gösteriliyor.
Skin modülü eklendi (35. modül)./skin <oyuncu>, /skin url, /skin clear. Yüklenen skinler MineSkin üzerinden imzalanıyor; Bedrock oyuncularında ve cracked sunucularda da çalışıyor. Hangi kaynağa izin verileceğine, kara listeye ve bekleme süresine sen karar veriyorsun. Modül kapalı geliyor.
Arayüz tek bir tasarıma oturdu. Tek renk paleti, bütün menü ögelerinde aynı açıklama düzeni, düzgün ortalanan pencere başlıkları ve menü sesleri.
Pozlar düzeldi. Oturma, uzanma, yüzüstü yatma, dönme ve emekleme; kalkınca poz kapanıyor, emeklerken kafanın üstünde blok görünmüyor.
Ufak eklemeler./glow artık renk ve hedef oyuncu alıyor, /nightvision ile /ice komutlarının argümanları diğerleriyle aynı hâle geldi, menü ikonlarında CraftEngine desteği var.
Paper 26.2 zorunlu. 26.2 ile birlikte Adventure 5 hattına geçildi, tek jar iki sürüme birden hizmet edemiyor. Sunucun 26.1'de kalacaksa 0.7.0 ile devam et.
0.7.0
Yetkiler tek listede toplandı: 508 node. Kodun kontrol ettiği node, paper-plugin.yml kaydı ve dokümandaki satır artık aynı yerden geliyor, birbirinden kaymıyor.
Yetkiler parçalara ayrıldı./itemedit, /npc, /hologram ve /bank gibi komutlarda oluşturma, silme ve düzenleme ayrı ayrı verilebiliyor. Yirmi playerstate komutu da tek bir ortak node'u paylaşmayı bıraktı: /heal <oyuncu> yetkisi vermek artık /gamemode <oyuncu> yetkisi de vermek anlamına gelmiyor.
Placeholder sayısı 170'ten 338'e çıktı. On bir modül ilk kez placeholder veriyor; ayrıca elindeki eşya, başka bir oyuncunun değerleri (p_<isim>_<anahtar>), iki oyuncu arasındaki ilişkiler ve bekleme süreleri için yeni anahtarlar var.
Developer API tamamlandı. Okuma tarafı 27, yazma tarafı 23 alanı kapsıyor; aynısı REST add-on'unda da mevcut.
Hata düzeltmeleri. Aynı vault iki pencerede birden açılabiliyor ve çıkarılan eşyalar geri gelebiliyordu. 2FA kodu 30 saniye boyunca birden fazla kez kullanılabiliyordu. Saklanan IP artık HMAC ile tutuluyor. Alt hesap geçmişi tek tabloya indi. Shulker kutusu açıkken çıkan oyuncunun yaptığı değişiklik kayboluyordu.
/uxmess permissions ve /uxmess placeholders listeyi oyun içinde gösteriyor, export ile dosyaya çıkarıyor.
0.6.0
Developer API yayınlandı. Maven'dan çekilebilen bir sürüm, javadoc, doksanı aşkın event ve bunlardan dokuzunu iptal edebilme.
REST add-on çıktı./api/v1 üzerinden okuma ve yazma, /api/v1/events üzerinden WebSocket ile canlı olay akışı. Token'lar oyun içinde üretiliyor; add-on kapalı geliyor ve varsayılan olarak yalnızca localhost'u dinliyor.
Cracked (offline-mode) sunucu desteği. İsimden hesap bulma, skin çekme ve oy kaydı aynı ortak aramadan geçiyor; farklı büyük-küçük harfle yazılmış bir isim artık ikinci bir hesap açmıyor.
İlk kurulum daha sade. Dokuz modül temiz kurulumda kapalı geliyor, mevcut sunucular bundan etkilenmiyor.
Menü motoru bütün ekranları kapsadı. Kalan pencereler de config'ten çiziliyor, yani hepsi koda dokunmadan değiştirilebiliyor.
Güncelleme
Sunucu Paper 26.2 ve Java 25 olmalı.
Jar'ları değiştirip sunucuyu yeniden başlatman yeterli; configler, yetkiler ve menüler olduğu gibi kalıyor.
0.7.0 öncesinden geliyorsan ilk açılışta alt hesap geçmişi yeni tablosuna taşınıyor ve daha önce doğrulanmış cihazlar bir kez daha doğrulama istiyor.
On bir yeni dil dosyası mevcut messages_en.conf dosyanın yanına ekleniyor, o dosyada yaptığın değişiklikler korunuyor.
uxmEssentials 0.8.1
0.8.0'da yarım kalan birkaç yüzeyi tamamlayan bir bakım sürümü: scoreboard ve tab listesi oyuncu başına satır mantığıyla yeniden yazıldı, /uxmess reload artık tick thread'inde çalışmıyor, admin komutlarının neredeyse hepsi konsoldan çalışıyor, doctor bulduğunu onarabiliyor, girişte ve ölümde spawn yerleşimi tek bir blokta ayarlanıyor.
Paper 26.2 ve Java 25 gerektirir, 0.8.0 ile aynı.
Scoreboard ve tab listesi yeniden yazıldı
Scoreboard tek bir fikrin üzerine kuruldu: bir satır değil, onu gören oyuncuya aittir.
Sığandan fazla satır yazabilirsin. 128 aday satıra kadar tanımlayabilirsin. Koşullar ve hide-when-empty her oyuncu için ayrı değerlendiriliyor, ayakta kalan ilk 15 satır o oyuncuya gösteriliyor. Kaybolan bir satır artık altındakileri yanlış kimliğe kaydırmıyor.
Tipli satırlar. Bir satır artık sabit bir id taşıyan bir nesne olabiliyor; böylece etrafındaki satırlar sökülmeden tam olarak o satır güncelleniyor veya yer değiştiriyor. Düz metin satırlar çalışmaya devam ediyor, kendiliğinden bir id alıyorlar.
Sağa yaslı değerler."<gray>Bakiye||<gold>{coins}" yazdığında sağ taraf animasyonlardan, yerleşik token'lardan, PlaceholderAPI'den ve MiniMessage'dan ayrı ayrı geçiyor ve o satırın sabit sayı formatı olarak gönderiliyor. Tipli satırlarda aynı şeyi number-format = { type = "fixed", text = "..." } ile yazabilirsin.
Yer açıyor. Başka bir eklenti kendi sidebar objective'ini gösterdiğinde uxmEssentials çekiliyor, o objective kaldırıldığında kendi karesine geri dönüyor. Aynı slot için iki eklentinin çekişmesi bitti.
Tab listesinde exact modu.exact = true ile 80 hücrenin tamamı oluşturuluyor, senin yazmadıkların dahil; böylece filler ızgarası ızgara olarak kalıyor. suppress-real-players = true istiyor, yoksa kendini açmayı reddediyor: gerçek oyuncu listesi ile tam sentetik ızgara aynı anda şekle karar veremez.
/uxmess reload artık bir operatör aracı gibi davranıyor
Dosyaları tick thread'i dışında okuyup doğruluyor, yani reload sırasında sunucu ayrıştırma yaparken donmuyor.
/uxmess reload <modül> tamamlamalı bir modül adı alıyor, her şeyi baştan yüklemek zorunda değilsin.
Bir reload sürerken gelen ikinci istek kuyruğa alınmıyor, reddediliyor.
Hata veren her adım son çalışan değerlerinde kalıyor; rapor hangi adımın düştüğünü ve işin kaç ms sürdüğünü söylüyor.
Yapısal değişiklikler (bir modülün açılıp kapanması) çalışan kuruluma yarım uygulanmıyor, "yeniden başlatma gerekiyor" diye raporlanıyor.
Konsoldan yönetim
Yaklaşık yüz komut sınıfı, oyuncu bedeni olmayan bir sunucu sahibinin de çalıştırabilmesi için elden geçirildi. Eskiden "sadece oyuncu" diyen her komut artık ya açık bir hedef ya da açık bir konum alıyor:
Konum komutları koordinat alıyor: /setjail <isim> at <dünya> <x> <y> <z> [yaw] [pitch]; spawn, warp, dünya, hologram ve NPC tarafında da aynı biçim geçerli.
Oyuncuya etki eden komutlar oyuncuyu alıyor: /heal, /feed, /god, /fly, /speed, /burn, /ice, /air, /clearinventory, /experience, /gamemode, /kit, /playtime, /ping ve diğerleri.
Konsol artık gerçek bir muhatap: komutu çalıştırana giden mesajlar konsola da düşüyor, konsolun yaptığı işlemler de "kimse" yerine konsola yazılıyor.
Ekonomi, hologram, NPC, dünyalar, bölgeler, kit, warp, oyuncu warp'ları, jail ve item araçlarının tamamı kapsam içinde.
Doctor artık onarıyor /uxmess doctor veritabanının tamamını tarayan bir ilişkisel bütünlük kontrolü ve bulduğu şeyler için bir onarım kazandı. /uxmess doctor repair hiçbir şeyi değiştirmeyen bir önizleme; yazan komut /uxmess doctor repair confirm ve kendi uxmessentials.admin.doctor.repair node'unun arkasında duruyor.
Bazı alt tablolarda bilerek foreign key yok, çünkü aynı migration'lar SQLite, MySQL/MariaDB ve PostgreSQL üzerinde çalışmak zorunda. Repository'ler alt kayıtları transaction içinde siliyor ama yarıda kesilen bir import ya da elle düzenlenmiş bir veritabanı yine de sahipsiz satır bırakabiliyor. Kontrol bunları tek bir domain nesnesi yüklemeden buluyor. Onarım yalnızca hiçbir yoruma açık olmayan sahipsiz satırları siliyor ve hedefi kaybolmuş boş bırakılabilir bağlantıları temizliyor; transaction içinde çalışıyor, hata olursa geri alıyor. Üst kayıtlar asla silinmiyor: eksik bir dünyaya yapılan referans, o dünya geri geldiğinde tekrar geçerli olabilir, o yüzden doctor bunu siliyor değil raporluyor.
Girişte ve ölümde spawn, tek blokta
Giriş yerleşimi ile ölüm yerleşimi eskiden iki ayrı yerde, birbirinden habersiz iki anahtardı. Artık tek bir politika ve ikisi de /spawn ile aynı zinciri yürüyor: mirror yönlendirmesi, sonra dünyanın kendi /setspawn'ı, sonra ana spawn, sonra vanilla dünya spawn'ı.
Otomatik giriş hareketinin tamamı tek bir listener'a ait, yani ayrı ayrı ayarlanmış iki işleyici birbiriyle yarışamıyor. Açıksa ilk giriş RTP'si yine öncelikli.
Otomatik hareketler iradesiz sayılıyor: /back noktası yazmıyorlar, varış başlığı, sesi veya efekti çalmıyorlar. Sunucuya girmek, en son kendi seçtiğin yerin üstüne yazmamalı.
respawn.chain.<dünya> çalışmaya devam ediyor ve o dünya için hâlâ önceliği var; açıkça boş bırakılan bir liste o dünyayı vanilla respawn'a döndürüyor.
warp:<isim> adımı warp modülünün ısıtılmış anlık görüntüsünden çözülüyor, spawn dizini de önbellekli; yani ölüm anında veritabanı beklenmiyor.
Bir yetki, oyuncuyu otomatik giriş hareketinden tamamen muaf tutuyor.
Tek commands.conf ve dile göre alias
Komut kataloğu commands/commands.conf konumundan veri klasörünün kökündeki commands.conf dosyasına taşındı. Kurulumunda eski tek dosya varsa ilk yüklemede kendiliğinden taşınıyor. Kataloğu bilerek birden çok dosyaya bölmüş kurulumlar da eski yöntem olarak okunmaya devam ediyor: bir düzeni dayatmak için operatörün düzenlemelerini kaybetmek iyi bir takas değil.
Komutlar artık yalnızca belirli bir dilde var olan alias'lar da taşıyabiliyor:
Kod:
commands {
home {
localized-aliases {
tr = ["ev"]
de = ["zuhause"]
}
}
}
Bütün alias'lar global olarak kaydediliyor, yani komutun çalışması, konsol kullanımı ve Geyser çevirisi sıradan Brigadier yolları olarak kalıyor. Değişen şey görünürlük: Paper bir oyuncunun komut listesini kurarken yalnızca başka dillere ait alias'lar o listeden gizleniyor. Asıl isimler ve normal alias'lar hiçbir zaman gizlenmiyor.
Düzeltmeler
PIN kaydından kaçılabiliyordu. Keypad kapanış listener'ı yalnızca doğrulama keypad'ini tanıyordu, PIN oluşturmakta kullanılanı tanımıyordu. Artık ikisi de kapsanıyor.
PIN uzunluk uyarıları bir işe yaramıyordu. "Çok kısa" ve "çok uzun" mesajları artık senin politikandaki gerçek alt ve üst sınırı yazıyor.
Yönetilen bir portal bağlantısı sunucunun kendi politikasını atlayabiliyordu.allow-nether veya allow-end kapalıysa nether ve end portalı artık, ayarlanmış bağlantı çözülmeden önce iptal ediliyor.
Yükseltme
Yeni jar'ları at ve yeniden başlat. Configler, yetki tanımları ve menüler olduğu gibi kalıyor, commands/commands.conf kendini taşıyor.
Canlı bir sunucuyu yeniden başlatmadan önce iki varsayılana bakmakta fayda var:
spawn.first-join açık. Gerçekten yeni bir oyuncu, çözülen spawn noktasına konuyor. İlk girişi başka bir eklentiyle hallediyorsan false yap.
spawn.respawn açık, zinciri de bed, anchor, spawn. Geçerli bir yatak veya respawn anchor'ı hâlâ korunuyor; değişen şey, bunlardan biri yoksa oyuncunun vanilla dünya spawn'ı yerine senin /setspawn noktana düşmesi. Eski davranış için spawn.respawn = false yap, ya da tek bir dünyayı vanilla bırakmak için o dünyaya boş bir respawn.chain.<dünya> listesi ver.