Hounds The Last Hope Geliştirme

  • Konuyu açan Konuyu açan ekin
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 104

ekin

Çaylak Üye
Üye
Mesaj
3
Beğeni
0
Puan
11
Ticaret Puanı
0
image.webp
2.webp


Merhaba,

Hounds: The Last Hope (Hounds: Reload) projesini yerel ortamda çalıştırmak ve
sunucu kapandıktan sonra oyunu tekrar oynanabilir hale getirmek için geliştirme
yapıyorum. İlk gün içinde login ekranına kadar gelmeyi başardım; TCP paket
alışverişi de sunucu tarafında çalışıyor. Ancak login ekranından sonraki adıma
(karakter seçimi / lobi) geçiş hâlâ tamamlanamadı.

Manuel olarak login sistemini düzeltmeye çalışıyorum. Bir defa örnek
değişiklikler yapıp direkt login atlama (autologin / UI skip) denedim; login
ekranı geçildi ama karakter oluşturma ve 3D lobi sahnesi açılmadığı için
login sistemini atlamadan giriş yapmanın mantıksız olduğunu düşündüm. Şu an
hedefim: gerçek CQ → SA login akışını çalıştırıp ardından karakter seçim
ekranına ulaşmak.

Çalışan:
[x] Oyun açılıyor, Korece login ekranı geliyor
[x] Auth HTTP stub (18080) yanıt veriyor
[x] Patch sunucusu (9090) Archive + GameClient.dll sunuyor
[x] TCP 6901: CQ paketi geliyor (20 byte)
[x] Sunucu SA gönderiyor (plain_sa_layout, 20 byte)
[x] Patch verify: tüm kritik adresler [OK]

Çalışmayan / takılı:
[ ] Login butonu (로그인) sonrası ekran değişmiyor
[ ] ~6 saniye sonra TCP bağlantısı kapanıyor (CLOSE)
[ ] Karakter seçimi / lobi / 3D sahne açılmıyor

Örnek tcp_capture.log:
C->S: 63d037c116803ab83dab118724b0081e6bfd7ad8 (CQ)
S->C: 63d037c14e4d140030314c6f1204040000000000 (plain SA)
CLOSE ~6s sonra

Yani sunucu tarafı paket alışverişi tamam; sorun istemcinin SA'yı işleyip
DE640 handler → C0D0 (lobi) → FAF4 (UI geçişi) zincirini tamamlayamaması.

--------------------------------------------------------------------------------
YARDIM İSTEDİĞİM KONULAR
--------------------------------------------------------------------------------

1) GameClient.dll login TCP akışı:
- CQ sonrası SA'nın hangi fonksiyon zinciriyle işlendiği
- 1017F310 → 100E4A20 → DE640 → 1022C0D0 yolunun doğrulanması
- Plain SA yerine doğru Hermit SA üretimi (pos/key brute)

2) SA paket gövdesi formatı:
- g_txt_SA_CreateChar_2 / sscanf beklenen metin yapısı
- Create_Name / LocalPlayer alanlarının wire üzerindeki gerçek layout'u

3) Karakter listesi / lobi TCP opcode'ları (login sonrası):
- 0x40420+ paket tipleri
- GameServer.dll vs GameClient.dll ayrımı

4) Ghidra / x64dbg ile runtime trace:
- Login tıklanınca hangi branch'lerin alındığı
- SA geldikten sonra neden FAF4/C0D0 tetiklenmiyor

5) Eski resmi sunucu dump / paket capture varsa paylaşım
--------------------------------------------------------------------------------
BİRLİKTE GELİŞTİRME
--------------------------------------------------------------------------------

Bu projeyle ilgilenen, reverse engineering / oyun protokolü / eski MMO
sunucu emülasyonu deneyimi olan varsa birlikte ilerleyebiliriz.

Aradığım profiller:
- GameClient.dll / Hermit cipher analizi yapmış
- LithTech tabanlı eski Netmarble oyunlarıyla uğraşmış
- TCP paket capture + Ghidra decompile deneyimi olan
- Python stub sunucu + binary patch workflow'una katkı verebilecek

İletişim için bu konuya cevap yazabilir veya DM atabilirsiniz.
Log dosyası (tcp_capture.log, login_trace.log), Ghidra notları
(SA_handler_DE640_analiz.txt) ve patch scriptleri paylaşılabilir.

Kısa vadeli hedef: Login ekranından çıkıp karakter seçimine geçmek.
Orta vadeli: Karakter oluşturma + lobi 3D sahnesi + butonların çalışması.
Uzun vadeli: Oyun içi TCP/GameServer protokolünün emülasyonu.

Teşekkürler.
 
Son düzenleme:
Geri
Üst