Serverinizde Hile Yapamasınlar [BANKOK]

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 33

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Öncelikle herkese Selamın Aleyküm ben Soymalık Portakal :)
Bugün sizlerle beraber acımasız bir anti hile yapacağız :D
Acıma yok direk ban atıp kıvrandırır. 100% Kıvrandırma garanti xD

İlk Olarak Anti Safezone'dan başlıyalım , korumalı bölgeden atak yapanlar ban yiyecek

Char_battle.cpp açılır

Aratılır :

bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType)

Komple Değiştirilir :​
Kod:
bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType) {     if (test_server)         sys_log(0, "[TEST_SERVER] Attack : %s type %d, MobBattleType %d", GetName(), bType, !GetMobBattleType() ? 0 : GetMobAttackRange());     //PROF_UNIT puAttack("Attack");     if (!CanMove())         return false;          SECTREE        *sectree = NULL;     SECTREE        *vsectree = NULL;     sectree = GetSectree();     vsectree = pkVictim->GetSectree();     if (sectree && vsectree)     {         if (sectree->IsAttr(GetX(), GetY(), ATTR_BANPK) || vsectree->IsAttr(pkVictim->GetX(), pkVictim->GetY(), ATTR_BANPK)) {             if (GetDesc())             {                 ChatPacket(CHAT_TYPE_INFO, "|cFF00FFFF|h <EyeShield - SvSide> Banlandin Gardasss!");                 GetDesc()->DelayedDisconnect(3);                 std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status= 'BLOCK' WHERE id = %d", GetDesc()->GetAccountTable().id));             }         }     }

Pln6ov.png


2- WallHack Yapanlar Ban Yiyecek

input_main.cpp Açılır
Kod:
const float fDist = DISTANCE_SQRT((ch->GetX() - pinfo->lX) / 100, (ch->GetY() - pinfo->lY) / 100);
Üstüne Ekle :
Kod:
{         PIXEL_POSITION pos = ch->GetXYZ();         if (!SECTREE_MANAGER::instance().GetMovablePosition(ch->GetMapIndex(), pos.x, pos.y, pos))         {             if (ch->GetDesc())             {                 ch->ChatPacket(CHAT_TYPE_INFO, "|cFF00FFFF|h <EyeShield - SvSide> WallHack Hack Tespit Edildi! - Banlandin Gardasss");                 ch->GetDesc()->DelayedDisconnect(3);                 std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status= 'BLOCK' WHERE id = %d", ch->GetDesc()->GetAccountTable().id));             }         }


3- Anti Damage Engeli , Yapanlar ban yiyecek :

Aratılır :

Kod:
SET_ATTACK_TIME(ch, victim, current_time);

Komple Değiştirilir :
Kod:
SET_ATTACK_TIME(ch, victim, current_time);     if (victim->m_AttackedLog.dwPID == ch->GetPlayerID())     {         if (current_time - victim->m_AttackedLog.dwAttackedTime < GET_ATTACK_SPEED(ch))         {             INCREASE_SPEED_HACK_COUNT(ch);             if (ch->m_speed_hack_count > 50)             { #ifdef ENABLE_SYSLOG_NOTICE                 sys_log(0, "%s Attack Speed HACK! time (delta, limit)=(%u, %u), hack_count = %d",                         ch->GetName(),                         current_time - victim->m_AttackedLog.dwAttackedTime,                         GET_ATTACK_SPEED(ch),                         ch->m_speed_hack_count); #endif #ifdef ENABLE_SYSCHAT_NOTICE                 ch->ChatPacket(CHAT_TYPE_INFO, "|cFF00FFFF|h <EyeShield - SvSide> Damage Hack Tespit Edildi. Hesabin Banlandi Gardasss",                         ch->GetName(),                         current_time - victim->m_AttackedLog.dwAttackedTime,                         GET_ATTACK_SPEED(ch),                         ch->m_speed_hack_count); #endif                #ifdef ENABLE_BAN_WAITHACK                                std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status= 'BLOCK' WHERE id = %d", ch->GetDesc()->GetAccountTable().id)); #endif                 ch->GetDesc()->DelayedDisconnect(3);             }                          SET_ATTACKED_TIME(ch, victim, current_time);             return true;         }     }

OoV9y4.png

Bu Hile Engel Olayı Dahada Geliştirilebilir Şuan Çok Basit Görünsede Diğer Hileleri Engellemek İçin Uyarlayabilirsiniz.
Şuanlık Bukadarını paylaşmamı yeterli görüyorum :)
Kolay Gelsin.

Serverinizde Hile Yapamasınlar [BANKOK]

Metin2 özel sunucuları geliştirme sürecinde en büyük sorunlardan birisi oyuncuların hile yapmasıdır. Özellikle PvP odaklı sistemlerde hile kullanımı, adil oyun deneyimini ciddi şekilde bozar. Bu nedenle server tarafında alınması gereken önlemler hayati önem taşır. Bu yazıda, oyuncuların hile yapamaması için bankok gibi hile engelleme yöntemlerini nasıl uygulayacağınızı anlatıyoruz.

Hile Nedir ve Neden Önemlidir?
Hile; oyuncuların oyunun kurallarını dışlayarak avantaj elde etmeleridir. Bu avantajlar; karakterin daha hızlı seyahat etmesi, daha fazla hasar vermesi, görünmez olmak veya envanterde yasadışı itemler barındırmak şeklinde olabilir. Bu durum, PvP sistemlerinde ciddi dengesizliklere yol açar. Bu yüzden server geliştiricileri olarak hile engelleme sistemleri kurmak zorundayız.

Bankok Sistemi Nedir?
Bankok, Metin2 özel sunucularında yaygın olarak kullanılan bir hile engelleme sistemidir. Bu sistem, oyuncu karakterlerinin belirli kontrollerden geçerek server tarafından onaylanmasını sağlar. Oyuncu, hileli bir aksiyon gerçekleştirmeye çalıştığında, server tarafından otomatik olarak tespit edilir ve gerekli ceza uygulanır. C++ tabanlı src dosyalarına entegre edilebilir ve oldukça etkilidir.

Hile Engelleme İçin Gerekli Adımlar
Öncelikle game server üzerinde çalışan auth ve db katmanlarında hile kontrol mekanizmalarının olması gerekir. Bu kontrol sistemleri, Python veya C++ ile geliştirilebilir. Örneğin, bir oyuncu belirli bir mesafeyi çok kısa sürede katettiğinde, server bu hareketi şüpheli olarak işaretleyebilir. Benzer şekilde, envanterdeki itemlerin doğrulanması da server tarafından yapılmalıdır.

Hile Tespit Yöntemleri
Bazı hile tespit yöntemleri şunlardır:
- Oyuncu koordinatlarının kontrolü
- Beklenmedik item geçişlerinin analizi
- Yetkisiz komut kullanımı tespiti
- Anormal PvP davranışlarının izlenmesi
Bu kontrollerin hepsi server tarafında C++ veya Python ile geliştirilmelidir. Bu sayede, client tarafında yapılan değişikliklerin etkisi minimize edilir.

Bankok Nasıl Entegre Edilir?
Bankok sistemi, game server src dosyalarına entegre edilir. Bu işlem sırasında Martysama gibi güvenilir kaynaklar kullanılabilir. C++ dilinde yazılmış olan bu sistem, core dosyalarla senkronize çalışır. Db core ile de uyumlu olması gerekir. Python tabanlı root dosyaları da hile kontrol mekanizmalarıyla desteklenebilir.

Hile Engelleme için Güvenlik Katmanları
Güvenlik katmanları, hile yapmayı neredeyse imkansız hale getirir. Bunlar:
- Sunucu tarafında veri doğrulama
- Hareket takibi ve analiz modülleri
- Zaman bazlı aktivite kontrolü
- Şifrelenmiş iletişim kanalları
Bu katmanlar, server performansını etkilemeyecek şekilde optimize edilmelidir.

Sonuç
Oyuncuların hile yapamaması için server tarafında alınması gereken birçok önlem vardır. Bankok gibi sistemler, bu alanda önemli rol oynar. Ancak sadece bir sisteme bağlı kalmak yeterli olmaz. Çok katmanlı koruma sistemleriyle birlikte, düzenli compile işlemleri ve source edit süreçleri de güvenlik için kritiktir. Metin2Dev ve benzeri topluluklardan destek alarak bu işlemleri daha verimli hale getirebilirsiniz.


Prevent Cheating on Your Server [BANKOK]

One of the biggest challenges in developing private Metin2 servers is preventing players from cheating. Especially in PvP-oriented systems, cheat usage seriously disrupts fair gameplay. Therefore, taking necessary measures on the server side is vital. In this article, we explain how to implement cheat prevention methods like bankok to prevent players from cheating.

What is Cheating and Why is it Important?
Cheating refers to actions that allow players to gain advantages by bypassing the rules of the game. These advantages may include faster character movement, increased damage, invisibility, or holding illegal items in inventory. This causes significant imbalances in PvP systems. Therefore, as server developers, we must establish anti-cheat systems.

What is Bankok System?
Bankok is a widely used anti-cheat system in Metin2 private servers. This system ensures that player characters are validated by the server through specific checks. When a player attempts to perform a cheating action, the server automatically detects it and applies penalties. It can be integrated into C++-based src files and is highly effective.

Steps for Cheat Prevention
Firstly, cheat control mechanisms must be implemented within the auth and db layers of the game server. These systems can be developed with Python or C++. For example, if a player travels a certain distance too quickly, the server can flag this movement as suspicious. Similarly, validation of items in the inventory must also be done by the server.

Methods of Cheat Detection
Some common cheat detection methods include:
- Checking player coordinates
- Analyzing unexpected item transfers
- Detecting unauthorized command usage
- Monitoring abnormal PvP behavior
All these controls should be developed on the server side using C++ or Python, minimizing the impact of modifications made on the client side.

How to Integrate Bankok?
The bankok system is integrated into game server src files. During this process, reliable sources like Martysama can be used. Written in C++, this system works in sync with core files and must also be compatible with db core. Python-based root files can also be enhanced with cheat control modules.

Security Layers for Cheat Prevention
Security layers make cheating nearly impossible. These include:
- Data validation on the server side
- Movement tracking and analysis modules
- Time-based activity checks
- Encrypted communication channels
These layers must be optimized so as not to affect server performance.

Conclusion
There are many precautions to take on the server side to prevent players from cheating. Systems like bankok play an important role in this area. However, relying solely on one system is insufficient. Multi-layered protection systems, combined with regular compile operations and source edit processes, are critical for security. You can enhance these processes more efficiently by seeking support from communities like Metin2Dev.​
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt