SürümCrash Doctor2.1.0.0

Crash Doctor 2.1.0.0 — dokuz yeni koruma

Dokuz yeni koruma, dürüst bir önlenen çökme sayacı, döküm analizi ve raporda kendi genişletilmiş yığınımız. Bannerlord 1.2 / 1.3.15 / 1.4.x için tek kurulum.

Kısaca

  • Dokuz yeni koruma — önceki seferden kalan bir eşyada takılan gün değişiminden 1.5+ sürümündeki cellatsız idama kadar
  • 1.2.10'daki kendi hatamız düzeltildi: Doctor maaş hesaplamasını bozuyor ve bunu "önlenen çökme" olarak sayıyordu
  • Rapor: kendi genişletilmiş yığınımız ve dökümden yerel çökme analizi
  • Mods sekmesi arka planda tarar ve sorunları oyun açılmadan önce bildirir

Steam Workshop’ta yayında — kendini günceller. RickLauncher onu otomatik olarak getirir. 29 Ağustos’tan beri yapılan her şey tek sürümde. Bannerlord 1.2 / 1.3.15 / 1.4.x — tüm sürümler için tek kurulum.

⚠️ Önce kendi hatamız

Bannerlord 1.2.10’da maaş hesaplamasını Doctor’ın kendisi bozuyordu. Ana menüde kurulan bir koruma, oyun kodunun bir parçasını çok erken çalıştırıyordu — oyun bu hatayı kalıcı olarak hatırlıyor ve yeniden başlatılana kadar her birliğin maaşı sıfır görünüyordu. Bu arada mod, bunun sonuçlarını 94.332 “önlenen çökme” olarak sayıyordu. Yalnızca Harmony ve Doctor yüklü temiz bir 1.2.10; Doctor olmadan her şey yolundaydı.

Modun nasıl kurulduğu düzeyinde düzeltildi: korumalar artık bu kadar erken hiç kurulmuyor ve bunu ayrı bir test denetliyor. Böyle bir hata artık bir kez ve dürüst sözlerle bildiriliyor — “çökme önlendi” değil, neyin bozuk olduğu ve ne zamana kadar.

Aynı yönde iki düzeltme daha: karşılaşma menüsü koruması artık döngüye girmiyor (bir günlükte iki dakikada 3.223 tetiklenme vardı ve her biri bir kurtarma sayılıyordu; tekrarlar artık tanınıyor ve bir kez bildiriliyor) ve her hatayı yutan iki koruma artık yalnızca kendi hataları için önlenen çökme sayıyor.

🛡 Dokuz yeni koruma

Varsayılan olarak açık, her birinin Crash Fixes sekmesinde kendi düğmesi var.

  • Kategorisi önceki seferden gelen bir eşyada gün değişimi. Oyun günde bir kez pazarlardan mal satar ve her eşyanın kategorisini, satırın var olup olmadığını kontrol etmeden talep tablosunda arar. Satırı olmayan tek bir eşya türü vardır — bir modun aynı oyun oturumundaki önceki seferden tuttukları. Tüm sınıfı kapatan tavsiye: bir kayıt yüklemeden önce oyunu yeniden başlatın.
  • Bir mod savaş başladıktan sonra takım eklediğinde ilk takviye dalgası. Konuşlanma planları başlangıçta bir kez oluşturulur ve her dalgada canlı olarak aranır — geç eklenen takımın planı yoktur ve oyun her karede bunda çöker. Koruma, planı oyunun kendisinin yapacağı şekilde oluşturur.
  • Ortak sancağı olan birliklerin üzerindeki sancak simgesi. Oyun önbellekteki malzemeyi bir dokuya göre arar ama başka bir dokuya göre saklar; ortak sancaklı bir grup (örneğin kuşatma konuşlanması) kareyi öldürüyordu.
  • Kervan gönderen bir tüccar — deniz güncellemesinden beri oyunun kendisindeki bir gerileme: dört değer tek bir kontrol olmadan okunuyor. Çökme her yüklemeden bir dakika sonra geri geliyordu, çünkü aynı tüccar her gün ortaya çıkıyor.
  • Sahibi klan olmayan yerleşim. Kayıt oluşturulduktan sonra oyuna eklenen bir yerleşim sonsuza dek sahipsiz kalır — milisiyle birlikte; bu da haritayı her karede çökertiyordu. Koruma bir sahip atamaz: bu, seferin ortasında bir kasabanın lordunu değiştirmek olurdu.
  • Cellatsız idam (Bannerlord 1.5+). “İdam edildi, cellat bilinmiyor” işaretini, kahramanları cellat belirtmeden idam eden bir mod bırakır; kan davası sistemi cellatın klanını kontrol etmeden okur — her yüklemeden saniyeler sonra çökme.
  • Görünüm verisi olmayan bir ebeveynden doğum. Eski koruma ilk okuyana bir değer veriyor ve nesneyi bozuk bırakıyordu — çökme iki satır aşağı kayıyordu ve kaydı geri almak işe yaramıyordu. Yenisi tüm aileyi onarır.
  • Kuşatma başlangıcı: sayacı birlik gösteren ama listesi boş olan bir birlik kadrosu. Kadroları API’yi atlayarak düzenleyen bir moddan kalır. Sayaç, kayıt yüklemesinde olduğu gibi gerçek kayıtlardan yeniden hesaplanır.
  • Taşıyıcısıyla birlikte yok edilmiş bir zırha gelen sancak dokusu. Savaşın sonunda arka plandaki sancak çizimini iptal edecek hiçbir şey yoktur ve ölü bir model üzerindeki ilk çağrı kimsenin yakalayamayacağı bir bellek erişim ihlalidir. Koruma, savaş bittikten sonra dokuyu uygulamaz ve “savaş ortası” varyantını da yakalar (bir mod bir askeri doğduğunda yeniden giydirmiş).

📄 Çökme raporu

  • Kendi genişletilmiş yığınımız: her çerçeve için — metodun içindeki konum, en yakın çağrı ve o metottaki her yamanın sahibi. Aynı metottaki iki özdeş hatayı birbirinden ayıran budur. Üçüncü taraf bir rapor toplayıcıya artık gerek yok.
  • Yerel çökmeler dökümden okunur: çöken kütüphaneye göre bir karar — ekran kartı sürücüsü, overlay (Steam / Discord / RTSS / Nahimic), ses motoru veya bir modun yerel DLL’i. Bu arada bunun neden daha önce çalışmadığını da bulduk: mod dökümü okumadan kendisi siliyormuş.
  • Çökme klasörleri her saat diliminde modun kaydıyla eşleşiyor — motor onları UTC’ye göre adlandırıyor ve UTC+0 dışında yığını içeren kayıt klasöre bağlanmıyordu.
  • Modül listesi klasör adlarını değil mod kimliklerini gösteriyor; rapor, yazarlarının uyumsuz ilan ettiği mod çiftlerini listeliyor; verisi yüklenemeyen birlikler suçlu modu gösteriyor.

🔎 Mods sekmesi

  • İlerleme göstergesiyle arka planda tarar ve dosyalar değişene kadar sonucu hatırlar (eskiden analiz boyunca oyunu dondururdu).
  • Manifestler oyunun okuduğu gibi okunuyor — ve uyumluluk veritabanındaki hash ile dosya kontrolleri nihayet çalışıyor.
  • Oyun açılmadan önce bildirilenler: yükleme sırasında iki kez listelenen bir modül (oyunu menüden önce öldürür), oyunun okumayacağı bir manifest, modunun üstüne yerleştirilmiş bir çeviri ve mevcut sıranın çeliştiği bir yazar yükleme sırası isteği.
  • Oyun artık kendi PlayStation ve Game Pass DLL’lerinin eksikliği yüzünden suçlanmıyor.

🧰 Arayüz ve ayrıntılar

  • Gölgelendirici önbelleği düğmesi yalnızca oluşturulan önbelleğe dokunur — asla oyun veya mod dosyalarına değil. Onları silmenizi söyleyen tanı tavsiyesi yeniden yazıldı.
  • Bir oyun oturumu bekleyen düzeltme “Not needed” olarak değil “Deferred” olarak görünüyor.
  • Uzun metinler (kayıt analizi, ayar ayrıntıları) okunamayacak kadar küçülmek yerine kaydırılıyor.
  • Prevented sekmesi tekrarları tek satırda topluyor ve dili oyunla birlikte değiştiriyor.
  • What’s New penceresi menü oluşturulur oluşturulmaz açılıyor.
  • Sessizce İngilizceye düşen Fransızca metinler düzeltildi.

Oyun mu çöktü? Karttaki “Open folder” düğmesine tıklayın ve iki dosyayı da gönderin: report.txt ve crashdoctor_at_crash.log.

Crash Doctor → Telegram'da tartış