saldırı ve hareket hızı kontrolü (server taraflı)

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
not:
gereksiz yere uyarı veren yerler var bu yerleri gevşetin.


örneğin 10 saniyede 1 paket göndermesini spam algılayıp hile algılıyor.

bunu 10 saniye depğilde 20 saniye gibi yapın.



%70 oranında iyi çalışıyor.



martysaam v5.8 p23 dosyaları düzenlenmiştir.
winemrgeyle karşılaştırıp sökebilirsiniz.


Kod:
protected:     // Mevcut protected üyeler     void Initialize();     // Anti-cheat için değişkenler     int m_nFrequentMoveCount;         // Hızlı hareket sayacı     DWORD m_dwLastAntiCheatPulse;     // Son anti-cheat kontrol zamanı     PIXEL_POSITION m_lastValidPos;    // Sunucu tarafı onaylı son pozisyon     DWORD m_lastMoveTime;             // Son hareket zamanı     int m_nCommandCount;              // Komut taşkını sayacı     DWORD m_dwLastCommandTime;        // Son komut zamanı     int m_nSmallMoveCount;            // Küçük mesafeli hareket sayacı     DWORD m_dwLastSmallMoveTime;      // Son küçük hareket zamanı     int m_nStaminaToggleCount;        // Start/Stop stamina komutları sayacı (yeni)     DWORD m_dwLastStaminaToggleTime;  // Son stamina toggle zamanı (yeni) protected:     int m_nAttackCount;               // Saldırı sayacı     DWORD m_dwLastAttackCheckTime;    // Son saldırı kontrol zamanı     int m_nAttackHackCount;           // Hileli saldırı deneme sayacı // protected:     // int m_nAttackCount;               // Saldırı sayacı     // DWORD m_dwLastAttackCheckTime;    // Son saldırı kontrol zamanı     // int m_nAttackHackCount;           // Hileli saldırı deneme sayacı public:     bool CheckAttackSpeedHack(DWORD dwCurrentTime);     void ResetAttackCount();     void PunishAttackSpeedHack();     DWORD GetMinAttackInterval() const;     // Anti-cheat metodları     void SetLastPosition(long x, long y) { m_lastValidPos.x = x; m_lastValidPos.y = y; }     long GetLastX() const { return m_lastValidPos.x; }     long GetLastY() const { return m_lastValidPos.y; }     void SetLastMoveTime(DWORD time) { m_lastMoveTime = time; }     DWORD GetLastMoveTime() const { return m_lastMoveTime; }     void IncrementFrequentMoveCount() { m_nFrequentMoveCount++; }     void ResetFrequentMoveCount() { m_nFrequentMoveCount = 0; }     int GetFrequentMoveCount() const { return m_nFrequentMoveCount; }     void SetLastAntiCheatPulse(DWORD time) { m_dwLastAntiCheatPulse = time; }     DWORD GetLastAntiCheatPulse() const { return m_dwLastAntiCheatPulse; }     void IncrementCommandCount() { m_nCommandCount++; }     void ResetCommandCount() { m_nCommandCount = 0; }     int GetCommandCount() const { return m_nCommandCount; }     void SetLastCommandTime(DWORD time) { m_dwLastCommandTime = time; }     DWORD GetLastCommandTime() const { return m_dwLastCommandTime; }     void IncrementSmallMoveCount() { m_nSmallMoveCount++; }     void ResetSmallMoveCount() { m_nSmallMoveCount = 0; }     int GetSmallMoveCount() const { return m_nSmallMoveCount; }     void SetLastSmallMoveTime(DWORD time) { m_dwLastSmallMoveTime = time; }     DWORD GetLastSmallMoveTime() const { return m_dwLastSmallMoveTime; }     // Yeni stamina toggle metodları     void IncrementStaminaToggleCount() { m_nStaminaToggleCount++; }     void ResetStaminaToggleCount() { m_nStaminaToggleCount = 0; }     int GetStaminaToggleCount() const { return m_nStaminaToggleCount; }     void SetLastStaminaToggleTime(DWORD time) { m_dwLastStaminaToggleTime = time; }     DWORD GetLastStaminaToggleTime() const { return m_dwLastStaminaToggleTime; }     bool IsValidPosition(long x, long y) const;     bool CheckMoveValidity(long x, long y, DWORD dwTime);     bool CheckCommandFlood(DWORD dwTime);     bool CheckStaminaToggleFlood(DWORD dwTime); // Yeni: Stamina komutları taşkını     void StartStaminaConsume();     void StopStaminaConsume();

versiyon 1

yürürken hareket halindeyken item çıkar tak yapınca hile algılıyor.
yön tuşlarıyla giderken hileyi hemen algılamıyor.
ok ile giderken hileyi hemen algılıyor.




versiyon2


prodamage + atack speed+ move speed anti cheat

atack speedde şimdilik bir sorun görmedim.
movespeed yukarıda açıkladığım gibi videodada belirttim açıklamalı.



3. versiyon.

1-diyelim oyuncuda hile açık ama hareket etmiyor yani hileyi kullanmıyor.bu durumda hileli olduğunu anlıyor.
2-hileli karakter başka bir oyuncuyla etkileşime girdiğinde hileyi hemen algılıyor.

251294_dbd5f2e81093dd336993b04756b69173.png




engellenmesi gereken başka yerler
bunlarda server tarafına alınmalı.
skill animasyon.
yere düşme
silahı uzun yapma.
7x + skill mesafesi (navicat en sağdan bu kısım ayarlanıyor)
yarı insanı tek ele alma.
mobblock
oyuncuyu itme düze alma pushing gibi şeyleride server tarafına alınmalı
Metin2 Server Tarafında Saldırı ve Hareket Hızı Kontrolü

Giriş:
Metin2 özel sunucularında oyun deneyimini optimize etmek ve adil bir PvP ortamı sağlamak için server tarafında saldırı ve hareket hızı kontrolleri kritik öneme sahiptir. Bu kontroller, oyuncuların yeteneklerini sınırlamak değil, hile kullanımı veya unfair avantajlardan kaçınmak adına yapılandırılır. Özellikle C++ sistem tabanlı game server programming süreçlerinde bu ayarlamalar, hem auth hem de db katmanlarında dikkatle yönetilmelidir.

Saldırı Hızı Kontrolü Nedir?
Saldırı hızı, bir oyuncunun birim zamanda kaç kez saldırı gerçekleştirebildiğini belirler. Metin2 özel sunucularında bu değer, client src üzerinde oynanarak bypass edilebilir. Bu nedenle, saldırı hızı kontrolü server taraflı olarak tanımlanmalıdır. Bu sayede herhangi bir modifikasyon yapılmış client üzerinden bile fair gameplay sağlanabilir.

Hareket Hızı Kontrolü Nedir?
Oyuncuların harita üzerindeki hareket hızları da benzer şekilde server tarafından kontrol edilmelidir. Hareket hızı, PvP savaşlarında stratejik avantaj sağlayabileceği için, yetkisiz modifikasyonlarla artırılması istenmeyen bir durumdur. Server src üzerinde yapılan bu kontrol, pack dosyaları ve uiscript ayarlarıyla birlikte yapılandırılmalıdır.

Python GUI arayüzleri ile bu gibi sistemler daha kolay yönetilebilir. Örneğin, py root üzerinden hazırlanan bir sistemle, game server üzerindeki hız ayarları dinamik olarak değiştirilebilir. Bu sayede sunucu yöneticisi, anlık olarak hız değerlerini güncelleyebilir.

Server Side Ayarlar ve Kodlama
Saldırı hızı ve hareket hızı kontrolleri genellikle game core kısmında tanımlanır. C++ dilinde yazılmış olan bu sistemler, doğrudan source edit ile değiştirilebilir. Ancak bu işlem, doğru bilgiye sahip olmayan geliştiriciler için riskli olabilir. Metin2 development sürecinde, bu gibi ayarların dökümantasyonu mutlaka tutulmalıdır.

PvP Sistemleri İçin Optimizasyon
Metin2 PvP sistem tasarımı yapılırken, saldırı ve hareket hızları dengeli bir şekilde ayarlanmalıdır. Bu değerlerin fazla yüksek olması, oyun içi dengesizliklere yol açabilir. Örneğin, bir karakterin çok hızlı hareket etmesi ya da çok sık saldırması, diğer oyuncular lehine olmayan bir avantaj sağlayabilir. Bu nedenle, channel bazlı hız kontrolleri yapılmalıdır.

Martysama gibi deneyimli geliştiriciler, bu konuda detaylı kaynaklar sunar. Sunucu geliştiricileri, metin2dev topluluklarında bu konular hakkında fikir alışverişi yapabilirler. Ayrıca, Metin2 lobby gibi platformlar üzerinden örnek sistemler incelenebilir.

Sonuç
Saldırı ve hareket hızı kontrolü, Metin2 private server geliştirme sürecinde ihmal edilmemesi gereken önemli bir unsurdur. Doğru yapılandırılmış server-side kontroller, oyuncuların adil bir şekilde rekabet etmesini sağlar. Bu sistemler, C++, Python ve diğer teknolojilerle birlikte entegre bir şekilde çalıştırılmalıdır. Metin2 Lobby olarak bu konularda destek sunuyoruz.


Attack and Movement Speed Control on Metin2 Server Side

Introduction:
In Metin2 private servers, controlling attack and movement speed on the server side is crucial for optimizing the gaming experience and ensuring a fair PvP environment. These controls are not meant to limit players' abilities but rather to avoid cheating or unfair advantages. Particularly in C++ system-based game server programming, these adjustments must be carefully managed across both auth and db layers.

What is Attack Speed Control?
Attack speed determines how many attacks a player can perform per unit of time. In Metin2 private servers, this value may be manipulated through modifications to the client src. Therefore, attack speed control must be defined server-side to ensure fair gameplay even with modified clients.

What is Movement Speed Control?
Player movement speeds on the map should also be controlled by the server. Since movement speed can provide strategic advantages during PvP battles, unauthorized modifications increasing this speed are undesirable. This control should be configured together with pack files and uiscript settings within the server src.

Python GUI interfaces make managing such systems easier. For instance, using py root, movement and attack speed values can be updated dynamically on the game server. This allows administrators to adjust speed settings in real-time.

Server-Side Settings and Coding
Attack and movement speed controls are typically defined in the game core section. Written in C++, these systems can be altered via source edit. However, this process can be risky for developers lacking sufficient knowledge. During Metin2 development, documentation of such settings is essential.

Optimization for PvP Systems
When designing Metin2 PvP systems, attack and movement speeds should be balanced. Excessively high values can lead to imbalances in-game. For example, characters moving too quickly or attacking too frequently may gain unfair advantages over others. Therefore, speed controls should be implemented on a per-channel basis.

Martysama and other experienced developers offer detailed resources in this area. Developers can exchange ideas about such topics in metin2dev communities. Additionally, sample systems can be reviewed via platforms like Metin2 lobby.

Conclusion
Attack and movement speed controls are essential elements that should not be overlooked in Metin2 private server development. Properly configured server-side controls ensure fair competition among players. These systems should operate in an integrated manner using C++, Python, and other technologies. At Metin2 Lobby, we provide support on these topics.
 

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

Geri
Üst Alt