1835 Dupe çıktı koş, kaçıran pişman

Evet arkadaşlar hoşgeldiniz, dupenin mantığı üzerine konuşalım biraz. Dupe nedir, nasıl yapılır veya dupe yapmak terimlerini teknik anlamda ele alıcaz.

Dupe: (uzun olarak duplicate) ingilizcede kopyalamak, (çoğaltarak kopyalamak) anlamına gelir. Dupe oyun dünyasında kısalmış halidir. Ağa nın aga olması gibi :D

Dupe nasıl yapılır?
Dupe yapabilmek için öncelikle bize dupelenecek bir eşya, item gerekiyor :D Neyi kopyalayacağımıza karar verdikten sonra dupe işlemine geçiyoruz. Dupe, oyunun açıklarından faydalanarak yapılan bir dalgadır. Bu açıklar server-side gerçekleştiğinde, kopyalama işlemimiz başarılı olmuş demektir. Anladığınız üzere dupeyi servera yedirmedikçe elimize hiçbir şey geçmiyor. Örnek vermek gerekirse bir ara 2 karakter sokarak dupe yaptı herkez. Nasıl oldu olayın teknik boyutuna inelim. Oyunda her karakterin 1 id si vardır. id unique yani tek dir. 1 id den 1 tane daha olamaz. Yani olmamalıdır işlerin yolunda gitmesi için. Bizim kardeşlerimiz bunu başardı :D 2 aynı id li charı oyuna soktu ve dupe yaptılar. Peki serverda koruma olmasına rağmen 2 aynı id nasıl oyuna aynı anda sokuldu? İşte düğüm burda çözülüyor. Mysql veritabanındaki bir açıktan faydalanılarak yapılan bu olayda türkçe karakterli idler (önceden bildiğiniz gibi türkçe karakterli id ler alabiliyorduk) görmezden gelindi. yani zürafa idsi ile login olan bir oyuncuyu server zyrafa şeklinde olarak gördü, ü karakterini tanımlayamadığı içinde 2. kere zürafa logini yapan oyuncuyu tekrar içeri aldı. Sonuç olarak k2 türkçe id leri kayda kapatma yoluna gitti. Aslında açıkların tamamı gameserverdan aktarılarak mysql serverda gerçekleşiyor. Yeni patch geldiğinde bilgiğiniz gibi yeni görevlerde beraberinde geliyor. 10k exp ve para bugunu kullanarak dupe dedikleri birşey yaptılar 1720 küsür patchlerde biyerde. Bu aslında dupe değildir. Yapılan şey k2 nin verdiği bir açıktan faydalanmakdır sadece. Burdaki nokta şu: k2 bir görev açıyor, biz bu görevi yapınca mysqlde yaptığımız görevler listesine ekliyor. Bu listeye eklendiğinde bir daha bu görevi göremiyoruz doğal olarak. Ancak, görevi yaptığımızda servera postalanan paket elimizdeyse işler değişiyor :D k2, görevi yaptığımızı kaydediyor ancak, paketi tekrar gönderdiğimizde görevi yapmışmıyız diye kontrol etmiyor, üstüne yazıyor. Püf nokta bu. Yani unutmuşlar :D veya hafife almışlar, görevi yapınca nasıl olsa birdaha açamayacak, nerden bulacak görevi gibi :P Programcılık karmaşık bir iş, o bakımdan her yeni patch geldiğinde bu ve bunun gibi açıkları denemek dupe bulmanın yöntemi. Eskiyi örnek almak ve yeniler üzerinde denemek sonucu verebiliyor.

Konu beklediğinizi vermemiş olabilir ama bana balık verme balık tutmayı öğret demişler :D Her dupe yapan açıklasaydı server oynanmaz hale gelirdi, arayın sizde bulun :D Gidipde başkaları gibi yaymamak lazım.

2 yorum:

Adsız dedi ki...

.d.d.d

313 dedi ki...

düp öğretiyoruz ne gülüon :D

Yorum Gönder