Subnautica 2 – 23 Özellikli Trainer | Unreal Engine Reflection Sistemi, Güncelleme ve Uyumluluk Konusu

Sürüm uyumu #subnautica-2#23-ozellik#orga-hub#unreal-engine#trainer 2 cevap 29 okunma

Subnautica 2 için hazırladığım trainerin güncelleme, uyumluluk ve sorun bildirimlerini bundan sonra bu konu altında toplayacağım.

Trainer şu anda 23 farklı özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor. 🌊

Subnautica 2 tarafı ORGA Hub’daki teknik olarak en ilginç trainerlerden biri çünkü burada klasik pointer ve sabit offset sistemlerine mümkün olduğunca az bağımlı kalmaya çalışıyorum.

Oyunun Unreal Engine kullanması sayesinde ORGA Hub içerisinde geliştirdiğim özel UE Reflection / RTTI altyapısından faydalanıyorum.

Bu sayede bazı özelliklerde:

Player + 0x3A8

gibi sabit bir offset kullanmak yerine oyunun runtime yapısından gerçek property ve attribute bilgilerini çözebiliyorum.

🟪 Unreal Engine Reflection Ne İşe Yarıyor?

Unreal Engine çalışma sırasında oyun içerisindeki birçok:

  • Class

  • Object

  • Property

  • Component

  • Attribute

hakkında bilgi taşıyor.

Eğer bu yapıyı doğru şekilde çözebilirsek trainer tarafından:

Bellekte 100 değerini ara.

demek yerine:

Oyuncunun Health attribute’unu bul.

gibi çok daha anlamlı bir yöntem kullanabiliyoruz.

Subnautica 2 trainerini geliştirirken de mümkün olduğunca bu yapıdan faydalanıyorum.

🧠 Neden Sabit Offset Yerine Reflection?

Örneğin oyuncunun can değeri eski sürümde:

Player + 0x310

adresinde olsun.

Oyuna güncelleme geldi ve geliştirici player class’ına birkaç yeni property ekledi.

Can artık:

Player + 0x338

olabilir.

Trainer doğrudan 0x310 kullanıyorsa artık yanlış yere bakar.

Ama ORGA Hub runtime sırasında:

Health property’sinin gerçek offset’ini

yeniden çözebiliyorsa fiziksel adresin değişmesi bizi etkilemeyebilir.

Bu trainerin hiçbir zaman bozulmayacağı anlamına gelmiyor ama bazı güncellemelere karşı sabit offset kullanımından daha dayanıklı bir yapı oluşturabiliyor.

❤️ Attribute Sistemi

Subnautica 2 trainerinde kullandığım önemli yöntemlerden biri UE Attribute Freeze.

Unreal Engine oyunlarında bazı karakter değerleri sadece tek bir float olarak tutulmayabiliyor.

Bir attribute örneğin:

  • Current

  • Base

  • Max

değerlerine sahip olabilir.

Basit bir örnek:

Current Health: 75
Base Health: 100
Max Health: 100

Sadece Current değeri sürekli 100 yapılırsa oyun başka bir hesaplama sırasında tekrar Base veya Max değerlerinden sonuç üretebilir.

Bu nedenle bazı özelliklerde attribute yapısını bir bütün olarak ele almak daha doğru oluyor.

ORGA Hub’daki ueAttrFreeze sistemi de bunun için bulunuyor.

🧊 Attribute Freeze Nasıl Çalışıyor?

İlgili Unreal nesnesi ve attribute runtime sırasında çözülüyor.

Daha sonra trainer gerekli değerleri kontrol altında tutuyor.

Oyunun kendi sistemi değeri değiştirmeye çalışsa bile ORGA Hub trainer özelliğine göre ilgili attribute’u tekrar düzenleyebiliyor.

Kullanıcı tarafında bunun sonucu örneğin:

Sınırsız Can

veya benzeri bir özellik olabilir.

Ama arka tarafta sadece bellekte gördüğümüz ilk sayıyı 999 yapmak yerine gerçek attribute sistemine müdahale ediliyor.

🔧 UE Field Set

Her özellik sürekli freeze gerektirmiyor.

Bazı işlemlerde ilgili Unreal property’sini bulup değeri bir kez değiştirmek yeterli.

Bunun için ORGA Hub içerisinde UE Field Set tarzı işlemler de bulunuyor.

Mantık genel olarak:

Nesneyi bul → Property’yi çöz → Değeri yaz

şeklinde.

Bu tarz özelliklerde gereksiz yere değere sürekli yazmak yerine sadece ihtiyaç olduğunda işlem gerçekleştirilebiliyor.

⏰ Zaman Sistemi

Subnautica 2 tarafında zamanla ilgili işlemler için de Unreal’a özel ayrı bir yöntem kullanıyorum.

Oyun zamanı sadece ekranda ilerleyen bir saat değil.

Arka tarafta:

  • Dünya davranışları

  • Bazı oyun sistemleri

  • Çevresel işlemler

  • Event’ler

zamanla bağlantılı olabilir.

Bu nedenle zaman sisteminde rastgele bir float bulup freeze etmek yerine oyunun gerçek runtime yapısını dikkate almak gerekiyor.

Trainer içerisinde bunun için ayrı UE Time işlemleri bulunuyor.

📍 Pozisyon ve Teleport

Subnautica gibi büyük bir dünyada teleport özellikleri de trainer açısından ayrı bir konu.

Oyuncunun gerçek pozisyonuna ulaşmak için sadece bellekte:

X

Y

Z

şeklinde değişen üç sayı aramak mümkün.

Ama bu yöntem güvenilir olmayabilir.

Aynı koordinatların:

  • Kamera

  • Oyuncu

  • Araç

  • Başka nesneler

için farklı kopyaları bulunabilir.

Subnautica 2 tarafında bu yüzden Unreal’ın gerçek nesne yapısından faydalanan ayrı bir UE Position sistemi kullanıyorum.

Bu sayede gerçek oyuncu konumunu daha güvenilir şekilde yönetebiliyoruz.

🗺️ Pozisyon Kaydetme ve Geri Dönme

Pozisyon sistemi sayesinde trainer tarafında mevcut konumu okuyup saklamak ve daha sonra tekrar aynı noktaya dönmek mümkün olabiliyor.

Bu tarz özelliklerde sadece koordinat değiştirmek yeterli değil.

Unreal Engine’in:

  • Character

  • Actor

  • Component

  • World

yapılarını da göz önünde bulundurmak gerekiyor.

Özellikle world streaming kullanan oyunlarda çok uzak bir noktaya aniden teleport olmak beklenmedik davranışlara neden olabilir.

Bu nedenle teleport tarafını diğer basit trainer özelliklerinden daha dikkatli test ediyorum.

🧩 23 Özelliğin Tamamı Aynı Yöntemle Çalışmıyor

Subnautica 2 trainerinde Unreal Engine reflection temel altyapılardan biri olsa da bütün özellikler tamamen aynı işlemden oluşmuyor.

İhtiyaca göre:

  • UE Attribute Freeze

  • UE Field Set

  • UE Time

  • UE Position

gibi farklı operasyonlar kullanılıyor.

Bir oyuncu statıyla dünya zamanı aynı veri yapısına sahip olmadığı için ikisini aynı yöntemle çözmeye çalışmak mantıklı değil.

Yine ORGA Hub’daki temel yaklaşım geçerli:

Her özellik için oyunun yapısına en uygun yöntemi kullanmak.

🔄 Subnautica 2 Güncellendiğinde Trainer Bozulabilir mi?

Evet.

Reflection kullanıyor olmamız traineri güncellemelerden tamamen bağımsız hale getirmiyor.

Geliştirici yeni sürümde:

  • Class adını değiştirebilir

  • Property adını değiştirebilir

  • Attribute’u başka component’e taşıyabilir

  • Veri tipini değiştirebilir

  • Oyuncu nesnesinin yapısını değiştirebilir

  • Unreal Engine sürümünü yükseltebilir

  • Runtime sistemini yeniden tasarlayabilir

Böyle bir durumda ilgili özellikleri tekrar güncellemem gerekebilir.

🛡️ Reflection’ın Avantajı Nerede?

Asıl avantaj küçük yapısal değişikliklerde.

Diyelim geliştirici class içerisine yeni field’lar ekledi.

Eski:

Health = +0x310

artık:

Health = +0x338

oldu.

Ama property adı ve yapısı aynı kaldı.

ORGA Hub offset’i runtime sırasında property üzerinden yeniden çözüyorsa trainer doğru değere ulaşmaya devam edebilir.

Hardcoded offset kullansaydık özellik doğrudan bozulurdu.

Bu yüzden reflection’ı özellikle mümkün olan yerlerde tercih ediyorum.

⚠️ Property Adı Değişirse Ne Olur?

Örneğin trainer:

Health

property’sini arıyor.

Yeni sürümde geliştirici bunu:

CurrentHealth

olarak değiştirdi.

Artık ORGA Hub’ın eski tanımı property’yi bulamaz.

Bu durumda ilgili trainer özelliğini yeni yapıya göre güncellemem gerekir.

Yani reflection’ın dayanıklılığı oyunun runtime yapısının ne kadar değiştiğine bağlı.

🤔 Neden Bazen Sadece Birkaç Özellik Bozuluyor?

Çünkü 23 özellik farklı Unreal sınıfları ve sistemleri kullanabiliyor.

Örneğin geliştirici sadece oyuncu movement sistemini değiştirdiyse:

  • Can

  • İhtiyaç değerleri

  • Zaman

çalışmaya devam ederken hareketle ilişkili özellikler bozulabilir.

Ya da ortak player object çözümleme sistemi değişirse bir anda birçok özellik etkilenebilir.

Bu yüzden sorun bildirirken hangi özelliklerin birlikte çalışmadığını belirtmeniz çok işime yarıyor.

🧪 Yeni Sürümde Nasıl Test Ediyorum?

Subnautica 2 güncellendiğinde mümkün olduğunca bütün 23 özelliği ayrı ayrı kontrol ediyorum.

Özellikle:

  • Property doğru çözülüyor mu?

  • Doğru player instance bulunuyor mu?

  • Attribute değerleri doğru mu?

  • Özellik kapatıldığında oyun normale dönüyor mu?

  • Save yükledikten sonra çalışıyor mu?

  • Bölge değişikliğinde bozuluyor mu?

  • Teleport sonrası karakter state’i düzgün mü?

  • Birden fazla özellik birlikte kullanılabiliyor mu?

gibi şeylere bakıyorum.

Unreal tarafında sadece property’nin bulunması yeterli değil.

Doğru instance üzerinde işlem yaptığımızdan da emin olmak gerekiyor.

🔁 Player Object Yeniden Oluşturulabilir

Oyuncu öldüğünde, save yüklediğinde veya bazı dünya geçişlerinde Unreal Engine yeni bir player object oluşturabilir.

Trainer eski nesne üzerinde işlem yapmaya devam ederse özellik artık çalışmaz.

Bu nedenle ORGA Hub’ın gerektiğinde güncel player object’i tekrar çözebilmesi önemli.

Eğer:

Trainer ilk açıldığında çalışıyor ama save yükleyince bozuluyor.

gibi bir durum görürseniz bunu özellikle bildirin.

Bu doğrudan instance lifecycle tarafına bakmam gerektiğini gösteriyor.

📍 Teleport Sonrası Sorun Görürseniz

Teleport özelliklerinde özellikle şu tarz durumları bildirmeniz önemli:

  • Haritanın altına düşme

  • Karakterin hareket edememesi

  • Dünya yüklenmemesi

  • Konumun geri eski yerine dönmesi

  • Araç içerisindeyken sorun çıkması

Çünkü bu özelliklerde sadece koordinat değil oyunun world state’i de devreye giriyor.

Özellikle erken erişim sürecindeki oyunlarda bu sistemler zaman içinde değişebilir.

🧪 Erken Erişim Güncellemeleri Önemli

Subnautica 2 gibi geliştirilmekte olan oyunlarda trainer güncelleme takibi normalden daha önemli.

Oyunun geliştiricileri yalnızca birkaç değer değiştirmiyor olabilir.

Büyük sistemler geliştirme sürecinde tamamen yeniden tasarlanabilir.

Bugün kullandığımız:

PlayerAttributeComponent

benzeri bir sistem birkaç güncelleme sonra farklı bir yapıya taşınabilir.

Bu nedenle özellikle büyük güncellemelerden sonra trainer uyumluluğunun tekrar doğrulanmasını beklemenizi öneriyorum.

💾 Save Yedeği Alın

Subnautica 2 tarafında da kalıcı oyun verilerini etkileyebilecek özellikleri kullanmadan önce manuel save almanızı öneriyorum.

Özellikle:

  • Envanter

  • Kaynaklar

  • Kalıcı karakter verileri

  • Dünya state’i

ile ilişkili değişikliklerde yedek her zaman faydalı.

Trainer geçici bir runtime işlemi yapıyor olsa bile oyun bu değeri daha sonra save içerisine yazabilir.

⚠️ Çok Yüksek Değerlerden Kaçının

Bir attribute’un maksimum değerini değiştirebiliyor olmak oyunun her sayıyı düzgün işleyeceği anlamına gelmiyor.

Örneğin normalde:

100

olan bir değeri:

999999999

yapmak oyunun:

  • UI

  • Matematik işlemleri

  • Save sistemi

  • Başka gameplay sistemleri

tarafında beklenmedik sonuçlar oluşturabilir.

Trainer kullanırken biraz mantıklı sınırlar içerisinde kalmak her zaman daha güvenli. 😄

🌐 Multiplayer Konusunda Dikkat

Subnautica 2 multiplayer tarafına sahip olabileceği için ORGA Hub’ın genel yaklaşımını burada da koruyorum.

Trainerleri kişisel oyun deneyimi ve mümkün olduğunca tek oyunculu kullanım için hazırlıyorum.

Başka oyuncuların deneyimini bozacak veya haksız avantaj sağlayacak kullanım şekillerini desteklemiyorum.

Özellikle multiplayer oturumlarda trainer kullanırken bunu göz önünde bulundurun.

🖥️ Ayrı Trainer Uygulaması Yok

Subnautica 2 traineri de tamamen ORGA Hub üzerinden çalışıyor.

Hub:

  • Oyunu algılıyor

  • Trainer paketini yüklüyor

  • 23 özelliği arayüzde gösteriyor

  • Unreal runtime katmanını başlatıyor

  • Reflection işlemlerini yönetiyor

  • Hotkey ve özellik durumlarını takip ediyor

ve bütün sistemi tek uygulamada kullanabiliyorsunuz.

Kullanıcı açısından diğer ORGA trainerleriyle aynı arayüz var.

Arka tarafta ise tamamen Unreal Engine’e özel farklı bir sistem çalışıyor.

🔐 Trainer Paketleme

Geliştirme aşamasındaki Subnautica 2 trainer tanımlarını açık JSON halinde dağıtmıyorum.

Yayın aşamasında tanımlar:

paketleniyor → şifreleniyor → imzalanıyor

ve .bin paketine dönüştürülüyor.

ORGA Hub paketin imzasını kontrol ettikten sonra gerekli trainer tanımını runtime sırasında kullanıyor.

Bu sayede Unreal Reflection gibi oyuna özel sistemleri de ORGA Hub’ın ortak trainer dağıtım altyapısında tutabiliyorum.

🐛 Sorun Bildirirken

Subnautica 2 trainerinde sorun yaşarsanız bu başlık altında bildirebilirsiniz.

Mümkünse:

  • Subnautica 2 oyun sürümü

  • Kullandığınız platform

  • Çalışmayan özelliğin adı

  • Daha önce çalışıyor muydu?

  • Oyun güncellemesinden sonra mı bozuldu?

  • Özellik hiç tepki vermiyor mu?

  • Değer değişip geri mi dönüyor?

  • Save yükledikten sonra mı bozuluyor?

  • Teleport ile mi ilgili?

  • Multiplayer mı single-player mı?

  • Başka mod kullanıyor musunuz?

  • Varsa ekran görüntüsü

bilgilerini ekleyin.

Özellikle hangi özelliklerin hâlâ çalıştığını belirtirseniz problemin ortak player çözümünde mi yoksa tek bir property’de mi olduğunu daha hızlı anlayabiliyorum.

🔎 Sorunu Nasıl İnceliyorum?

Önce ilgili özelliğin kullandığı Unreal işlemini kontrol ediyorum.

UE Attribute Freeze ise:

  • Attribute class hâlâ aynı mı?

  • Property isimleri aynı mı?

  • Current/Base/Max yapısı değişmiş mi?

UE Field Set ise:

  • Nesne bulunuyor mu?

  • Property hâlâ mevcut mu?

  • Veri tipi aynı mı?

UE Position ise:

  • Player/Actor yapısı aynı mı?

  • Transform sistemi değişmiş mi?

UE Time ise:

  • Zaman sisteminin bağlı olduğu runtime nesnesi aynı mı?

gibi kontroller yapıyorum.

Bu sayede bütün traineri baştan yazmak yerine gerçekten değişen sistemi inceleyebiliyorum.

📝 Güncellemeleri Bu Konuda Paylaşacağım

Önemli değişikliklerde buraya not düşeceğim.

Örneğin:

🔄 Güncellendi

Yeni Subnautica 2 sürümüyle uyumluluk sağlandı.

🐛 Düzeltildi

Değişen Unreal property yapısı nedeniyle çalışmayan özellik güncellendi.

🔧 Değiştirildi

Bir özellik sabit offset yerine Reflection tabanlı yeni sisteme geçirildi.

⚠️ Bilinen Sorun

Yeni oyun sürümünde belirli özellik geçici olarak uyumsuz.

gibi.

❤️ Kısaca

Subnautica 2 traineri şu anda 23 özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor.

Teknik tarafta özellikle geliştirdiğim Unreal Engine runtime katmanından faydalanıyorum.

Başlıca yöntemler:

  • UE Attribute Freeze

  • UE Field Set

  • UE Time

  • UE Position

  • Unreal Engine Reflection / RTTI

şeklinde.

Böylece mümkün olan yerlerde:

Hardcoded adres → yerine runtime property çözümü

kullanabiliyorum.

Subnautica 2 geliştikçe oyunun yapısı da değişmeye devam edeceği için 23 özelliği yeni sürümlerde test edip uyumluluk durumunu bu başlık üzerinden paylaşmaya devam edeceğim.

Bir sorun yakalarsanız buradan bildirebilirsiniz. 🌊

GringosSubnautica 2 için hazırladığım trainerin güncelleme, uyumluluk ve sorun bildirimlerini bundan sonra bu konu altında toplayacağım.Trainer şu anda 23 farklı özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor. 🌊Subnautica 2 tarafı ORGA Hub’daki teknik olarak en ilginç trainerlerden biri çünkü burada klasik pointer ve sabit offset sistemlerine mümkün olduğunca az bağımlı kalmaya çalışıyorum.Oyunun Unreal Engine kullanması sayesinde ORGA Hub içerisinde geliştirdiğim özel UE Reflection / RTTI altyapısından faydalanıyorum.Bu sayede bazı özelliklerde:Player + 0x3A8gibi sabit bir offset kullanmak


Subnautica 2 Modları 0.1.2.0 sürümüne uygun şekilde güncellenmiştir.

GringosSubnautica 2 için hazırladığım trainerin güncelleme, uyumluluk ve sorun bildirimlerini bundan sonra bu konu altında toplayacağım.Trainer şu anda 23 farklı özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor. 🌊Subnautica 2 tarafı ORGA Hub’daki teknik olarak en ilginç trainerlerden biri çünkü burada klasik pointer ve sabit offset sistemlerine mümkün olduğunca az bağımlı kalmaya çalışıyorum.Oyunun Unreal Engine kullanması sayesinde ORGA Hub içerisinde geliştirdiğim özel UE Reflection / RTTI altyapısından faydalanıyorum.Bu sayede bazı özelliklerde:Player + 0x3A8gibi sabit bir offset kullanmak


Sürüm v.0.1.2.1 sürümüne güncellenmiştir.

Cevap yazmak için giriş yapmalısın. Okumak için giriş gerekmez.

Giriş yap