Hile/MakroGenel
KO'da hile neden bitmiyor? Suç XIGNCODE'da mı, sunucuda mı?
Cevap yaz1 cevap · son cevap 2 g önce
- KoPolemikKonu sahibi71 entryYasal uyarı Bu yazı bir teknik değerlendirme ve yorumdur; hiçbir kişi veya şirket hakkında kesin suçlama içermez. Anlatılanlar, oyunun kendi bilgisayarımızdaki dosyalarına ve yıllardır herkese açık (açık kaynak) biçimde paylaşılan eski bir sunucu koduna dayanır — bugünkü resmî sunucu değildir ve güncel durumu yansıtmayabilir. Bu içerikte hile yapmanın, korumayı aşmanın ya da program kırmanın yolu anlatılmaz; amaç yalnızca sorunu anlamak ve çözüm önermektir. "Knight Online", "XIGNCODE", "NTTGame", "Mgame" ve "Wellbia" adları sahiplerine aittir; bu yazının onlarla bir bağı veya onayı yoktur. Anketteki seçenekler oyuncuların kanaatini ölçmek içindir, sitenin kesin iddiası değildir. Hatalı ya da eksik gördüğünüz bir yer olursa bize bildirin, düzeltelim veya kaldıralım. ——— KO'da hile neden bir türlü bitmiyor? Herkesin dilinde iki cevap var: ya "XIGNCODE çürük, kimseyi yakalamıyor" ya da "NTTGame umursamıyor". İkisi de olayın küçük bir parçası. İşin aslı daha can sıkıcı: sorun hile korumasında değil, oyun sunucusunun oyuncunun bilgisayarına fazla güvenmesinde. En net göründüğü yer de ışınlanma ve anlık büyü. Aşağıda adım adım, teknik dile boğmadan anlatıyoruz. XIGNCODE ne işe yarar, neye yaramaz? Çoğu tartışma burada yanlış yerden başlıyor, o yüzden netleştirelim. XIGNCODE işini fena yapmıyor: • Bilgisayarını derinlemesine tarar; oyuna dışarıdan müdahale eden programları, enjekte edilen eklentileri ve bilinen hile araçlarını yakalamaya çalışır. • Oyunun dosyalarıyla oynanmış mı diye bakar. • Kendini günceller; yeni bir hile aracı çıktığında onu tanıyacak güncelleme, oyun yaması beklemeden gelebilir. Kısacası XIGNCODE kapıdaki güvenlik görevlisi gibidir: üstünü arar, yasak bir şey sokuyor musun diye bakar. Ama maçın hakemi değildir. "Bu oyuncu az önce topu elleyerek mi gol attı?" kararını o veremez; o karar oyunu yöneten sunucuya aittir. Hilelerin çoğu da güvenlik görevlisini aşarak değil, hakemin hiç bakmadığı yerden giriyor. Oyun aslında nasıl çalışıyor? Mantık basit: senin oyunun (istemci) sunucuya sürekli haber verir — "şu an şuradayım", "bu büyüyü yaptım", "şöyle vurdum". Sunucu da bu haberlere büyük ölçüde inanır ve ona göre davranır. Yani oyun, hakemin oyuncuya "kaç adım attın, ne kadar hızlı koştun?" diye sorup cevabına inandığı bir maç gibi. Dürüst oyuncu için sorun yok. Ama istemcisine müdahale eden biri sunucuya olmayacak şeyler söylediğinde, sunucu çoğu zaman bunu sorgulamadan kabul ediyor. 1) Işınlanma — asıl mesele Karakterin hareket ettiğinde oyunun sunucuya söylediği şey şu: "artık şu noktadayım". Sunucunun yaptığı tek ciddi kontrol, o noktanın haritanın içinde geçerli bir yer olup olmadığı. "Peki oyuncu bir saniye önce haritanın öbür ucundaydı, oraya bu kadar kısa sürede nasıl gitti?" diye sormuyor; yani geçen zamanla kat edilen mesafeyi karşılaştırmıyor. Sonuç: • Haritanın bir ucundan öbürüne anında ışınlanmak, • CZ'de veya PK'de bir anda düşmanın tepesinde bitmek ya da bir anda kaçıp gözden kaybolmak, • Farm/bot karakterlerin saniyeler içinde bir mob yığınından diğerine atlaması hep bu tek eksik kontrolden besleniyor. Speed (hız) hilesi de aynı kapıdan girer: oyuncu "çok hızlı ilerliyorum" dediğinde sunucu ona da inanır. Oyundaki en can sıkıcı hilelerin temeli, abartısız, bu tek eksik. 2) Vurulmayan karakter (donma / desync) Işınlanmanın ikizi. Bazen bir karaktere vurursun ama herkes sürekli "failed" alır; sanki arkası dönük olduğu için hasar almıyor gibidir. Oysa oyunun kendi mantığında "arkası dönükse vurulmaz" diye bir kural yok: karakterin ne yöne baktığı tamamen görsel bir bilgidir, sunucu bunu hasar kararında hiç kullanmaz. Bir vuruşun tutup tutmayacağına sunucu, saldıranın isabet oranıyla hedefin kaçınma oranına göre karar verir; yönle, açıyla alakası yoktur. Peki neden olur? Hileci sunucuya sahte ya da donuk bir konum bildiriyor: sen onu bir yerde görüp vuruyorsun, ama sunucu onu başka yerde/başka durumda değerlendirdiği için vuruşlar hedefe oturmuyor, ekranda sürekli "failed" çıkıyor. Yani karakterin dönük durması donmanın sonucu, sebebi değil. Kök yine aynı: sunucu, oyuncunun bildirdiği konuma güveniyor — ışınlanmada "olmayan yere gittim", burada "ben hep buradayım" dedirtiliyor. 3) Anlık büyü ve seri skill Normalde her büyünün iki freni vardır: önce bir döküm süresi (cast — büyüyü hazırlama), sonra tekrar basmadan önce bir bekleme süresi (cooldown). Bu ikisi PvP dengesinin bel kemiğidir. Ama sunucu, büyüyü istemci "yaptım" der demez anında kabul ediyor. Döküm süresinin dolmasını beklemiyor, bekleme süresini de kendi saymıyor. Sonuç: büyüler art arda, neredeyse aynı anda iniyor — seri nova, üst üste binen zincir büyüler, botların insanüstü hızda skill basması. Dürüst oyuncu tek tek beklerken, hile yapan bütün büyüyü tek nefeste boşaltıyor. 4) Oto-vuruş ve combo Vuruşta da aynı mantık. "Ne kadar sık ve hangi mesafeden vurdum" bilgisini sunucu kendi ölçmüyor; istemcinin bildirdiğine güveniyor. İstemci "kurala uygun hızda vurdum" dediği sürece sunucu kabul ediyor. Oto-combo ve makro vuruşlar buradan çıkıyor. Hepsinin ortak noktası Tek cümle: sunucu "bu hareket fiziksel olarak mümkün müydü?" diye sormuyor, istemcinin sözüne güveniyor. Işınlanma, vurulmayan karakter, anlık büyü, oto-vuruş... hepsi aynı kökten çıkan farklı dallar. Bunu nereden söylüyoruz? İki yerden. Bir: kendi bilgisayarımızdaki kurulumdan XIGNCODE'un gerçekten ciddi bir koruma olduğunu gördük — yani "hiçbir şey yapmıyor" doğru değil. İki: yıllardır herkese açık (açık kaynak) olarak paylaşılan eski bir KO sunucu kodunda, sunucunun bu kararları nasıl verdiği açıkça görülüyor (bugünkü resmî sunucu değil, çok daha eski bir sürüm). Örneğin karakterin dönüşünün hasara etkisi olmadığı, bazı kontrollerin kapalı bırakıldığı ve geliştiricinin yanına Korece "burayı sonra mutlaka düzelt" diye not düştüğü yerler o kodda var. Demek ki açık da baştan biliniyormuş. Dürüst sınır Bu kod çok eski; bugünkü sunucu kapalı ve muhtemelen birçok yeri değişti. "Bugün de birebir böyle" diyemeyiz, bu bir bilinmez. Ayrıca her "failed" ya da her garip hareket hile değildir; normal kaçınma ıskası veya lag/desync de aynı görünebilir. Ama hilelerin yıllardır neredeyse hiç değişmemesi ve banların çoğunun anında değil sonradan ban dalgalarıyla gelmesi, sunucunun hâlâ anlık kontrol yapmadığını düşündürüyor. Peki neden hâlâ düzeltilmedi? Dışarıdan kesin cevap veremeyiz ama birkaç ihtimal var: Oyun çok eski ve bu mantığı değiştirmek riskli — yanlış yapılırsa lag anında masum oyuncular atılır. Sunucu tarafını kimin değiştirebildiği de belirsiz: TR'yi işleten NTTGame mi, yoksa oyunu geliştiren Kore'deki Mgame mi? Bir de işin ticari yüzü var; hile tam bitmeden de oyun para kazanmaya devam ediyor, yani düzeltmenin aciliyeti düşük kalıyor olabilir. Çözüm aslında belli "Araya bir güvenlik katmanı/proxy koyalım" gibi fikirler işe yaramaz; çünkü karar için gereken her şey (hız, mesafe, büyü süreleri, harita) zaten sunucunun içinde. Doğru yer orası ve yapılacak şey net: • Işınlanma için: sunucu, oyuncunun eski konumundan yeni konumuna geçen sürede gerçekten varılıp varılamayacağını kendi hesaplasın. • Vurulmayan karakter için: sunucu, oyuncunun konumunun tutarlı ve güncel kaldığını (donmadığını, zıplamadığını) kendi takip etsin; bildirilen konuma körü körüne güvenmesin. • Büyü için: döküm ve bekleme süresini sunucu kendi saysın; istemci "yaptım" dese bile süre dolmadan kabul etmesin. • Vuruş için: vuruş hızını ve mesafeyi sunucu kendi ölçsün. Lag yüzünden masum oyuncu atılmasın diye, şüpheli durumu anında atmak yerine işaretleyip ban dalgasında incelemek daha sağlıklı. Bunu da yalnızca oyunu işleten taraf yapabilir; XIGNCODE'u güçlendirmek bu açığı tek başına kapatmaz, çünkü sorun bilgisayarda değil, sunucunun verdiği kararda. Bir eski GM şunları doğrulayabilir • Bugünkü sunucu bu kontrolleri (hız, mesafe, cooldown, konum tutarlılığı) kendi yapıyor mu, yoksa hâlâ loga bakıp dalga mı atıyor? • XIGNCODE otomatik mi banlıyor, yoksa sadece "şüpheli" işareti mi koyuyor? Temiz oyuncu yanlışlıkla banlanıyor mu? • Bilinen botlar/KOXP neden hâlâ ayakta; oyuncu ihbarları (video + zaman damgası) gerçekten işleniyor mu? • Sunucu mantığını değiştirme yetkisi kimde — TR'de mi, Kore'de mi? Amaç hile yapmak değil; sorunun nerede olduğunu ve nasıl kapanabileceğini açıkça ortaya koymak. Sizce KO'da hile neden bitmiyor?
Taraf tut1 oy
Sunucu istemciye güveniyor (tasarım)%100
XIGNCODE yetersiz kalıyor%0
NTTGame öncelik vermiyor%0
Cevaplar 1
- bbyknn001 entrytamamiyle doğru istemciye güveni azaltıp sunucu doğrulaması kısmına geçildiği zaman kolay olmuyacatır ama bu sefer pk esnasında gelen binlerce doğrulama iznini kaldıracak alt yapı varmı peki :Dbu oyunda