Atack speed mov speed limitter

mt2go2

Üye
Üye
Mesaj
203
Çözümler
2
Beğeni
92
Puan
464
Merhabalar,

SOurce karıştırınca ve zerrecik c+ bilgimle şunu anladım.eğer ki bı sistem Metin2 de yoksa o sistem Metin2 de olmuyor örneğin game taraflı atack speed limiti 170 movespeed 200 ile sınırlandırılmış.
Yani sizin harekat hızınız 300 de olsa sen 200 de koşarsın fakat hile yapınca bu sınırı tanımıyor.
Benim düşündüğüm çözüm yöntemi.
Hızlı at in bini check edip at kitabını kullanamadigin gibi bundada buna benzer check eklenebilir.char cppde 170 diye aratın limit int Max var 170 yazan saldırı hızı buna check eklenebilir.
2. Yönteminde oyunda 200 saldırı hızı veren sistemin kodlama biçimini değiştirmek.
Yani şöyle 200 den fazla olmasının etkeni nedir.damage sınırını nasıl kaldırıyor.double ekliyor damage sınırını biraz daha uzatıyor.olmayan birşeyi ekliyor değil mi benimde demek istediğim şu Max hareket hızı oyunun genelinde kaça kadarda orneğin 3268 di galiba bunu 200 yap hiç bı hile işlemesin clientide yormaz game check de etmene gerek kalmaz.damage sınırı arttirilup azaltilabiliyorasa harekat hızı koşma hizida aynı şekil.
 
Bir sistem planlanırken tüm bileşenleri düşünülüp öyle tasarlanır. Zamanında benimde yazmak istediğim ama sistem yapısından dolayı çok fazla kod değişikliği yaptığım yerler olmuştu. Geliştirdiğiniz yazılım mümkün olduğunca performanslı bir şekilde çalışmalı. Eğer siz oyununuzda atıyorum level maksimum 100 olacaksa gidip level'i tutan değişkenlere int veri türünü vermemelisiniz. byte verirsiniz ki hem hafızada az yer kaplasın hemde client - sunucu arasındaki veri alışverişindeki boyut minimuma insin.

Konunuzda verdiğiniz örneklerde geçerli.
 
Bir sistem planlanırken tüm bileşenleri düşünülüp öyle tasarlanır. Zamanında benimde yazmak istediğim ama sistem yapısından dolayı çok fazla kod değişikliği yaptığım yerler olmuştu. Geliştirdiğiniz yazılım mümkün olduğunca performanslı bir şekilde çalışmalı. Eğer siz oyununuzda atıyorum level maksimum 100 olacaksa gidip level'i tutan değişkenlere int veri türünü vermemelisiniz. byte verirsiniz ki hem hafızada az yer kaplasın hemde client - sunucu arasındaki veri alışverişindeki boyut minimuma insin.

Konunuzda verdiğiniz örneklerde geçerli.
Benim anladığım kadarıyla arkadaş kontrol eklemek istiyor. Bir şeye sınır koymakla onu kontrol ettirmek bambaşka şeyler. Oyunda move ve attacklara kontrol eklemek aşırı bir işlem yükü oluşturacaktır. Bu yüzden hile engelleri client üzerinden yapılarak kontrolü oyuncunun bilgisayarı üzerinden yaptırıyor.
 
Linkleri görebilmek için giriş yap veya kayıt ol.
şu kullanıcının konularına bakabilirsin. Dediğinizi hangi konusu tam hatırlamıyorum ama konusunun birinde engelliyordu. Ancak ninja bıçakcıda sorun olmuşuyordu tabi bi tık limit artırarak çözebiliyorsun devdede olabilir hatırlayamadım şimdi. Hata cheatengine gibi baya bir engelleri var.

Ek; Korayın veya dazy anticheati düzenleme yaparak çok güzel işler yapılabilir.
 
Linkleri görebilmek için giriş yap veya kayıt ol.
şu kullanıcının konularına bakabilirsin. Dediğinizi hangi konusu tam hatırlamıyorum ama konusunun birinde engelliyordu. Ancak ninja bıçakcıda sorun olmuşuyordu tabi bi tık limit artırarak çözebiliyorsun devdede olabilir hatırlayamadım şimdi. Hata cheatengine gibi baya bir engelleri var.

Ek; Korayın veya dazy anticheati düzenleme yaparak çok güzel işler yapılabilir.
Github hesabında var.
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Merhaba @hasanmacit ve @melihalbayrak,

Forumda aynı davranışları sergilemeye devam etmeniz durumunda 1 ay uzaklaştırılacaksınız. Bu size son uyarıdır. Konu ile ilgili yorumlarınız beklenmelidir. Tartışmaya yönelik yorum ya da konu dışı yorumlarınız değil!

İyi forumlar.
 
Son düzenleme:
Benim anladığım kadarıyla arkadaş kontrol eklemek istiyor. Bir şeye sınır koymakla onu kontrol ettirmek bambaşka şeyler. Oyunda move ve attacklara kontrol eklemek aşırı bir işlem yükü oluşturacaktır. Bu yüzden hile engelleri client üzerinden yapılarak kontrolü oyuncunun bilgisayarı üzerinden yaptırıyor.
kontrol değil halıhazırda bir limit belirlemek isityorum.
örneğin level 99 sınırıvar.hiç bi hile leveli 120 v.s yapamıyor.açık kaynak olmasına rağmen bunu çözebilen olmamış.
level sınırı gibi hiç bi hilede atackspeedi 170 üzeri yapamasın bu kontrol değil sadece limitlemek.
normalde game sourcedede 170 ama clientde bu kontrol yok.


char.cpp att speed 170 limitli.
hilede bu olay kalkıyor.ama level sınırıda 99 hilede işlemiyor.bu yapılırsa anticheat çok paralar verilmesine gerek kalmaz.
birde şundan şüpeleniyorum sanki kordinat hilesi yapılıyor.örneğin lalaker hilesinde istediğin kordinata gidebiliyor ışınlanabiliyor.
ışınlanma hilesini kullanarak yaptığını düşünüyorum ışınlanmaya bi düzenleme gelirse hile çözülebilir.
Kod:
    switch (type)
    {
        case POINT_ATT_SPEED:
            min_limit = 0;

            if (IsPC())
                limit = 170;
            else
                limit = 250;
            break;

        case POINT_MOV_SPEED:
            min_limit = 0;

            if (IsPC())
                limit = 200;
            else
                limit = 250;
            break;

        case POINT_STEAL_HP:
        case POINT_STEAL_SP:
            limit = 50;
            max_val = 50;
            break;
 
Aslında haklısın. Nasıl ki level limitlemesi hile ile aşılamıyorsa aynı şekilde atak ve hız limitleride aşılamayacak duruma getirilebilir. Client taraflı yapılan hileler bi şekilde kırılabiliyor. Bir hile çalışmazsa yeni çılan başka bir hile çalışabiliyor. En mantıklısı source üzerinden çözmek. Svside mantığıda aynı sanırım.
 
Bide tutturmuslar kontrol lag yapar kontrol lag yapar.bu Metin2 teeeeee kaç yılının projesi nabarsan yap yine lag yapacaktır.halen teee 2001den kalma speedtree kullanılıyor.
 
Son düzenleme:
sana demedim genel bi yargı bu.
lalakerle konuştuğumda adma şunu dedi sunucu taraflı olması daha iyi.
lolu örnek gösterdi lol sunucu taraflı hile açılıyor mu dedi.
Şahsi algılamadım zaten. Yazdığın source kontrolü ile client kütüphanesi speedtree ile ne ilgisi var neden kıyas yaptın onu sordum
 
genel bi cevap vereyim turkmmo gibi olmasın.
lol ile metin2 bir tutması sebebi büyük ihtimal sunucu taraflı düşünmesi bildiğim kadarıyla online oyunlar sunucu client arası bilgi işlem yapılıyor.
speedtre derken şunu kast ettim metin2nin çoğu kütüphanesi kodlama biçimi eski böyle yazılmış kodlama biçiminden ne beklersin.
bu
Linkleri görebilmek için giriş yap veya kayıt ol.
incelerseniz anlayabilirsiniz.Günümüz teklonojisine göre 2001 yılı elle yazılımış tünel bağlantısı çok eski olduğu müddetçe lag kayma hile v.s hep olacaktır.
 
var zaten dediklerin ama komboya eklemiş adamlar. combo sequence diye bir kontrol var, komboyu kontrol ediyor:kop: saldırı hızına üst limit eklemişler, resmi metin2 sunucularında belirli bir saldırı hızını geçemiyorsun. tabii sadece üst limit var, mesela clientte 100 saldırı hızına sahip bir adam bunu hileyle 300 e çekip(server taraflı saldırı hızı üst limit) yine gereğinden hızlı vurabilir. dinamik olarak saldırı hızı kontrolü yok. günümüz oyunlarında dinamik olarak kontrol olsa da direkt olarak banlamıyor, log düşürüyor. 15 ms lik bir lag veya 1 adet paket kaybı bile serveri yanıltabilir çünkü.
 
var zaten dediklerin ama komboya eklemiş adamlar. combo sequence diye bir kontrol var, komboyu kontrol ediyor:kop: saldırı hızına üst limit eklemişler, resmi metin2 sunucularında belirli bir saldırı hızını geçemiyorsun. tabii sadece üst limit var, mesela clientte 100 saldırı hızına sahip bir adam bunu hileyle 300 e çekip(server taraflı saldırı hızı üst limit) yine gereğinden hızlı vurabilir. dinamik olarak saldırı hızı kontrolü yok. günümüz oyunlarında dinamik olarak kontrol olsa da direkt olarak banlamıyor, log düşürüyor. 15 ms lik bir lag veya 1 adet paket kaybı bile serveri yanıltabilir çünkü.
benimde amacım kontrol eklemek değil sınır eklemek.
yani adam saldırı hızını 500 yapabileceğine en fazla 170 yapsın.
alternatif forumdan şu konuyu gördüm şuan inceliyorum bakalım neler çıkacak.

bu konu limiti arttırıyor.

C++:
Client Source / UserInterface/Packet.h

struct packet_add_char (Bu struct'ta bulunuyor.)

[B]Bunu bul[/B]

BYTE        bMovingSpeed;
BYTE        bAttackSpeed;

[B]Şununla değiştir.[/B]

WORD        bMovingSpeed;
WORD        bAttackSpeed;


struct packet_add_char  (Bu struct'ta bulunuyor. packet_add_char2'de olabilir bazı fileslerde packet_add_char, bazılarında packet_add_char2 adında oluyor.)

[B]Bunu bul[/B]
BYTE        bMovingSpeed;
BYTE        bAttackSpeed;

[B]Şununla değiştir.[/B]

WORD        bMovingSpeed;
WORD        bAttackSpeed;

amesrc/packet.h:
struct packet_add_char içerisinde

Bu bulunur:

    BYTE    bMovingSpeed;
    BYTE    bAttackSpeed;

Şununla değiştir

    WORD    bMovingSpeed;
    WORD    bAttackSpeed;

struct packet_update_char içerisinde

    BYTE    bMovingSpeed;
    BYTE    bAttackSpeed;

Şununla değiştir

    WORD    bMovingSpeed;
    WORD    bAttackSpeed;

gamesrc/char.cpp:
    case POINT_ATT_SPEED:
        min_limit = 0;

        if (IsPC()) // Karakter saldırı hızı sınırı
            limit = 255;
        else
            limit = 250; // Slot saldırı hızı sınırı
        break;

    case POINT_MOV_SPEED:
        min_limit = 0;

        if (IsPC())
            limit = 255; // Karakter hareket hızı sınırı
        else
            limit = 250; // Slot hareket hızı sınırı
        break;

movespeed fixledim yuppi sıra geldi atackspeed :D
 
benimde amacım kontrol eklemek değil sınır eklemek.
yani adam saldırı hızını 500 yapabileceğine en fazla 170 yapsın.
alternatif forumdan şu konuyu gördüm şuan inceliyorum bakalım neler çıkacak.

bu konu limiti arttırıyor.

C++:
Client Source / UserInterface/Packet.h

struct packet_add_char (Bu struct'ta bulunuyor.)

[B]Bunu bul[/B]

BYTE        bMovingSpeed;
BYTE        bAttackSpeed;

[B]Şununla değiştir.[/B]

WORD        bMovingSpeed;
WORD        bAttackSpeed;


struct packet_add_char  (Bu struct'ta bulunuyor. packet_add_char2'de olabilir bazı fileslerde packet_add_char, bazılarında packet_add_char2 adında oluyor.)

[B]Bunu bul[/B]
BYTE        bMovingSpeed;
BYTE        bAttackSpeed;

[B]Şununla değiştir.[/B]

WORD        bMovingSpeed;
WORD        bAttackSpeed;

amesrc/packet.h:
struct packet_add_char içerisinde

Bu bulunur:

    BYTE    bMovingSpeed;
    BYTE    bAttackSpeed;

Şununla değiştir

    WORD    bMovingSpeed;
    WORD    bAttackSpeed;

struct packet_update_char içerisinde

    BYTE    bMovingSpeed;
    BYTE    bAttackSpeed;

Şununla değiştir

    WORD    bMovingSpeed;
    WORD    bAttackSpeed;

gamesrc/char.cpp:
    case POINT_ATT_SPEED:
        min_limit = 0;

        if (IsPC()) // Karakter saldırı hızı sınırı
            limit = 255;
        else
            limit = 250; // Slot saldırı hızı sınırı
        break;

    case POINT_MOV_SPEED:
        min_limit = 0;

        if (IsPC())
            limit = 255; // Karakter hareket hızı sınırı
        else
            limit = 250; // Slot hareket hızı sınırı
        break;

movespeed fixledim yuppi sıra geldi atackspeed :D

Cshield var attack ve move ayrıca bir iki engel daha var game ve client üzerinden ona bi bak derim.
 
Hileleri server tarafından olabildiğince engelleme yöntemini Casro2 projesinin geliştirme süreci bitmesine yakın çok düşünmüştüm. Geçmişte client tarafından hileleri engelleme yöntemini denemiştim fakat her yeni program çıktığında bu engellerin bir amacı kalmıyor. Ayrıca client taraflı hile engelleyen yazılımın çalışması dahi engellenebiliyor.
Tüm bu olumsuzlukları göz önüne getirince olabildiğince server tarafında kontroller eklenmeli ki oyuncu hile programını çalıştırabilse bile işlevleri geçersiz hale gelsin.

Tabi sadece hileleri engellemekle kalmıyor botlara da kesin engel lazım.
 
Geri
Üst