Haberlerimiz Bizi Google'da daha sık gör. Ekle
Discord
Lithium
Modlar

Lithium: Minecraft oyun mantığı optimizasyonu

Sodium görüntü işlemeyle (render) ilgilenir, Lithium da geri kalan her şeyle. Bu mod, Minecraft'ın iç mantığını (mob yapay zekâsı, fizik, chunk yükleme, yol bulma, blok tick'leri) oyun mekaniklerinin hiçbirini değiştirmeden optimize eder. .jar dosyasını mods klasörüne atarsın ve oyun daha akıcı çalışır; özellikle sunucularda ve çok sayıda varlık bulunan dünyalarda.

Lithium neleri optimize eder

Lithium, oyunun sunucu tarafına odaklanır: her tick'te (saniyede 20 kez) çalışan mantığa. Bunlar grafik değişiklikleri değil, bu yüzden Lithium FPS'i doğrudan etkilemez. Bunun yerine TPS'i (saniyedeki tick sayısını) artırır ve ani lag sıçramalarını ortadan kaldırır.

Mob yapay zekâsı ve yol bulma

Vanilla Minecraft, mobların hareket rotalarını çevredeki blokları tarayan bir algoritmayla hesaplar. Lithium bu sistemi daha hızlı çalışacak ve daha az bellek kullanacak şekilde yeniden yazar. Etkisi en çok mobla dolu dünyalarda hissedilir: farmlar, Canavar Çağırıcı (spawner) farmları, köylülerle dolu köyler.

Varlık fiziği

Varlıklar (moblar, eşyalar, oklar) arasındaki çarpışmalar, bir chunk'taki her nesnenin konumunun kontrol edilmesini gerektirir. Lithium bu hesaplamalar için optimize edilmiş veri yapıları kullanır ve çarpışma kontrolüne harcanan süreyi yüzde onlarca oranında kısaltır.

Blok tick'leri

Yüklü chunk'lardaki her blok, her tick'te güncelleme isteyebilir: bitkiler büyür, su akar, redstone sinyal gönderir. Lithium tick olay kuyruğunu optimize eder ve güncellenmesi gerekmeyen bloklarda gereksiz kontrolleri atlar.

Chunk üretimi

Lithium, gürültü (noise) üretimini ve yapı yerleşimini optimize ederek yeni arazinin üretilmesini hızlandırır. Yeni bölgeleri keşfetmek daha akıcı hissettirir.

Çarpışma şekilleri

Minecraft, blokların çarpışma şekillerini (VoxelShapes) çok fazla bellek ayırmaya yol açan bir yöntemle saklar. Lithium bu şekilleri önbelleğe alır ve çöp toplayıcı (garbage collector) üzerindeki yükü azaltır; bu da ani lag sıçramalarını azaltır.

Lithium arka planda nasıl çalışır

Lithium oyun mekaniklerini değiştirmez: her şey vanilla'daki gibi çalışır. Mod, verimsiz algoritmaları ve veri yapılarını daha hızlı karşılıklarıyla değiştirir. Örnekler:

  • Bir chunk'taki varlık listesi: vanilla ArrayList kullanır, Lithium bunu O(1) aramalı uzamsal bir yapıyla değiştirir
  • Yol bulma: vanilla rotayı her tick'te sıfırdan hesaplar, Lithium sonuçları önbelleğe alır ve yalnızca çevre değiştiğinde yeniden hesaplar
  • Blok durumu aramaları: vanilla durum haritasını doğrusal olarak tarar, Lithium bunları O(1) ile indeksler

İşin özü şu: bu değişikliklerin hiçbiri oynanışı etkilemez. Köylü yine yatağına ulaşır, su yine aynı şekilde akar, ekinler aynı hızda büyür. Lithium oyunun bunları nasıl hesapladığını değiştirir, neyi hesapladığını değil.

Kurulum

Lithium bir Fabric modu. Kurulumu gerçekten bir dakika sürer:

  1. Fabric Loader'ın kurulu olduğundan emin ol (rehber)
  2. Lithium'u Modrinth üzerinden indir ve Minecraft sürümüne uygun olanı seç
  3. lithium-fabric-X.X.X.jar dosyasını .minecraft/mods/ klasörüne koy
  4. Oyunu Fabric profiliyle başlat

Lithium'un Fabric API'ye ihtiyacı yok: tek başına çalışır. Yapılandırılacak bir ayar da yok. Dosyayı at ve unut.

Lithium'un Lithium (NeoForge) adında bir NeoForge sürümü de var; Modrinth'te arayabilirsin.

Gerçek performans kazancı

Lithium'un ne kadar fayda sağlayacağı, oyunda ne yaptığına bağlı. Birkaç senaryo:

Senaryo Lithium olmadan Lithium ile Kazanç
Boş dünya, keşif 20 TPS 20 TPS Çok az (daha az lag sıçraması)
50'den fazla köylülü üs 14-17 TPS 19-20 TPS Büyük
Mob farmı (200'den fazla varlık) 10-15 TPS 17-20 TPS Ciddi
Devasa redstone makinesi 8-12 TPS 12-16 TPS Belirgin
20'den fazla oyunculu sunucu 12-16 TPS 18-20 TPS Kritik

20 TPS, oyunun tam hızda çalıştığı anlamına gelir. 16 TPS'in altında oyun takılmaya başlar: moblar ışınlanır, redstone geride kalır, bloklar gecikmeyle kırılır. Lithium, normalde düşüşe yol açacak durumlarda TPS'i 20'ye daha yakın tutar.

Lithium + Sodium: tam set

Lithium ve Sodium oyunun farklı katmanlarını optimize eder ve birlikte çalışmak üzere tasarlanmıştır:

  • Sodium - görüntü işleme (GPU): 2-5 kat daha fazla FPS, yeniden yazılmış bir chunk render motoru
  • Lithium - mantık (CPU): daha yüksek TPS, daha az lag sıçraması, daha iyi fizik
  • Moonrise - chunk'lar: Paper'ın chunk sistemi, Lithium ve FerriteCore ile uyumlu (deposu arşivlenen Starlight'ın yerini alır)
  • FerriteCore - bellek: %40-50 daha az RAM kullanımı
  • ModernFix - genel: bellek sızıntılarını giderir, daha hızlı yükleme

Sodium, Lithium, FerriteCore ve ModernFix her Fabric kurulumunun olmazsa olmazıdır; sunucuda Moonrise eklemek de mantıklı. Toplam performans kazancı, modların tek tek sağladığı kazançların toplamından büyüktür, çünkü darboğazları farklı seviyelerde ortadan kaldırırlar.

Sunucularda Lithium

Lithium özellikle çok oyunculu sunucularda değerlidir. Sunucu grafik işlemez (yani Sodium'a ihtiyacı yoktur), ama bütün oyuncular için oyun mantığını aynı anda hesaplamak zorundadır. Lithium sunucunun CPU yükünü azaltır; bu da çevrimiçi 30'dan fazla oyuncu varken bile sabit 20 TPS demektir.

Fabric sunucularında Lithium'u diğer sunucu modları gibi kurarsın: .jar dosyasını sunucunun mods/ klasörüne koy. Oyuncuların kendi taraflarında Lithium kurmasına gerek yoktur (sunucu taraflı bir mod), ama tek oyunculuyu optimize etmek için client'ta da kullanabilirler.

Sunucu alternatifi: Paper/Purpur sunucuları (Spigot fork'ları) Lithium'un optimizasyonlarının çoğunu yerleşik olarak içerir. Paper kullanıyorsan Lithium'dan elde edeceğin kazanç daha küçük olur.

Sıkça sorulan sorular

Lithium oyun mekaniklerini değiştirir mi?

Hayır. Lithium, oyunun tam olarak vanilla gibi davranması için tasarlanmıştır. Lithium ile bir şey farklı çalışıyorsa bu bir hatadır ve projenin GitHub sayfasında bildirilmelidir.

Lithium, OptiFine ile çalışır mı?

Lithium, render motoruna dokunmadığı için OptiFine ile (OptiFabric üzerinden) çakışmaz. Ama Sodium + Lithium daha iyi bir seçim, çünkü Sodium OptiFine'dan daha yüksek FPS verir.

Lithium, Fabric API gerektirir mi?

Hayır. Lithium, Fabric API olmadan çalışır. Ama başka Fabric modların varsa büyük ihtimalle Fabric API'ye zaten ihtiyacın vardır.

Lithium, Forge/NeoForge'da çalışır mı?

Lithium'un resmî sürümü Fabric için. NeoForge port'ları var (Modrinth'te NeoForge filtresiyle "Lithium" ara). Eski Forge'daki karşılığı Radium.

Lithium'u Sodium ile birlikte kullanabilir miyim?

Evet, birlikte çalışmak üzere tasarlandılar. Sodium GPU'yu (görüntü işleme), Lithium CPU'yu (mantık) optimize eder. Birlikte en iyi sonucu verirler.