Karakter saldırı hızı ve harekat hızı sınırlamaları hakkında bilgi c++

  • 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
örnek:
sourcede atak hızınız ve yürüme hızınız sınırlıdır.
mesela öfke skil mor pot hız ayakkabısı hız taşı bastığınız 250 lerde bi hız elde edersiniz.
fakat source kısmı bunu 200 e limitlemiş yanı packda 250 gözükür fakat siz 200 harekat hızını kullanırsınız.
aynısı saldırı hızı içinde geçerli.
burda çakallık yapılmış yani siz trde ne kadar çok hız yada harekat hızı itemlerine para verirseniz verin o size 200 limit koyuyor.

bu limiti 250 çıkardığımda oyuncu hareket edemiyor olduğu yerde duruyor. 250 aşağısında problem yok.
bunun sebebini bilmiyorum.

bu limiti kaldırmak isteyenler şuna dikkat etsin.
svde + saldırı ve hareket hızı kullanan tüm item ve skilleri kullanarak test etsin yoksa 250 saldırı ve harekat hızında oyuncu takılı kalıyor.
yani sen bu limiti kaldırdın svde tüm + hız verecek item ve efsunalr skiller takılyıken 300 hız veriyor burda oyuncu buga girer.


game/src/

char.cpp


Kod:
int CHARACTER::GetLimitPoint(BYTE type) const {     if (type >= POINT_MAX_NUM)     {         sys_err("Point type overflow (type %u)", type);         return 0;     }     int val = m_pointsInstant.points[type];     int max_val = INT_MAX;     int limit = INT_MAX;     int min_limit = -INT_MAX;     switch (type)     {         case POINT_ATT_SPEED:             min_limit = 0;             if (IsPC())                 limit = 170;   ///burdaki rakamlar değişecek şuanki saldırı hızı limiti 170 bu kod bloklarını kaldırın yada düzenleyin keyfinize kalmış             else                 limit = 250;             break;         case POINT_MOV_SPEED:             min_limit = 0;             if (IsPC())                 limit = 200;    ///burdaki rakamlar değişecek şuanki harekat hızı limiti 200 bu kod bloklarını kaldırın yada düzenleyin keyfinize kalmış             else                 limit = 250;             break;

Bilgilendirme






Daha Önce paylaşılmış konular belki yorumlar v.s incelersiniz.

keyfinize göre kapatabilirsiniz :)
Metin2 Karakter Saldırı Hızı ve Hareket Hızı Sınırlamaları Hakkında Bilgi (C++)

Metin2 özel sunucuları geliştirmesi sırasında, karakterlerin saldırı ve hareket hızları üzerinde çalışmak, oyuncu deneyimini doğrudan etkileyen önemli bir konudur. Bu sistemlerin doğru ayarlanması hem dengeli bir PvP ortamı sağlar hem de sunucunuzun performansını optimize eder. Bu yazıda, C++ tabanlı Metin2 sunucu kaynak kodlarında saldırı ve hareket hızı sınırlamalarının nasıl yapıldığına dair detaylı bilgiler vereceğiz.

Saldırı Hızı Nedir?
Metin2'de saldırı hızı, karakterin belirli bir süre içinde kaç kez saldırı yapabildiğini ifade eder. Bu değer genellikle ticks olarak tanımlanır ve sistem tarafından milisaniye cinsinden değerlendirilir. Yüksek saldırı hızı, daha sık saldırı yapılmasına olanak tanır; ancak bu, bazı güvenlik sınırlarıyla desteklenmelidir.

Hız Artışı Sınırlamaları[/BR]Metin2 sistemlerinde, saldırganların hız artışı trüklerini engellemek için rate limiting mekanizmaları kullanılır. Bu mekanizmalar genellikle game server tarafında C++ ile yazılmıştır. Örneğin, bir karakterin saldırı sıklığı saniyede 10'dan fazla olamaz gibi bir kural konabilir. Bu, client tarafından gönderilen verilerin sunucu tarafından kontrol edilmesiyle sağlanır.

C++ Kod Örnekleri
Saldırı hızı kontrolü için C++ kodlarında genellikle bir sayaç oluşturulur. Örneğin:

Kod:
if (GetTickCount() - m_lastAttackTime < MIN_ATTACK_INTERVAL) { return false; }

Bu kod, son saldırıdan bu yana geçen süreyi kontrol eder ve belirlenen minimum aralıktan daha kısa sürede saldırı yapılmışsa işlemi reddeder. MIN_ATTACK_INTERVAL sabiti, geliştirici tarafından ayarlanabilir.

Hareket Hızı ve Exploit Engelleme
Benzer şekilde, hareket hızı da sınırlanmalıdır. Oyuncuların movement speed değerlerini manipüle ederek sunucuda hile yapması engellenmelidir. Bu kontrol genellikle auth server ve game server arasında senkronize şekilde yapılır.

Örneğin, bir karakterin maksimum move speed değeri 100 olarak belirlenmişse, sunucu bu değeri her movement packet geldiğinde kontrol etmelidir. Eğer bu limit aşılmışsa, oyuncuya uyarı mesajı gönderilir veya.disconnect edilir.

Sunucu Tarafında Performans Optimizasyonu
Bu tür sınırlamalar, sadece güvenlik açısından değil, aynı zamanda performans açısından da önemlidir. Fazla sayıda istek atan kullanıcılar sunucu yükünü artırabilir. Bu nedenle, rate limiting algoritmaları, CPU ve RAM tüketimini minimum düzeyde tutacak şekilde tasarlanmalıdır.

Sonuç
Metin2 özel sunucularında saldırı ve hareket hızı sınırlamaları, C++ seviyesinde dikkatli bir şekilde yönetilmelidir. Bu kontroller, hem adil bir oyun ortamı sağlar hem de sunucunun daha kararlı çalışmasını sağlar. Bu tür sistemlerin geliştirilmesi için source edit ve server src bilgisi oldukça önemlidir.


Information on Character Attack Speed and Movement Speed Limitations in Metin2 (C++)

When developing private Metin2 servers, working on character attack and movement speeds is a critical aspect that directly impacts player experience. Proper configuration of these systems ensures a balanced PvP environment while optimizing your server's performance. In this article, we will provide detailed information on how to implement attack and movement speed limitations in C++-based Metin2 server source codes.

What Is Attack Speed?
In Metin2, attack speed refers to how many attacks a character can perform within a specific timeframe. This value is usually defined in ticks and evaluated by the system in milliseconds. Higher attack speeds allow more frequent attacks; however, this must be supported by certain security limits.

Speed Increase Limitations
To prevent attackers from exploiting speed increase tricks, Metin2 systems employ rate limiting mechanisms. These are typically implemented in C++ on the game server. For instance, a rule may be set so that a character cannot attack more than 10 times per second. This is achieved by validating data sent by the client on the server side.

C++ Code Examples
For attack speed control, a counter is usually created in C++ code. For example:

Kod:
if (GetTickCount() - m_lastAttackTime < MIN_ATTACK_INTERVAL) { return false; }

This code checks the elapsed time since the last attack and rejects the action if the attack occurred faster than the defined minimum interval. The MIN_ATTACK_INTERVAL constant can be configured by the developer.

Movement Speed and Exploit Prevention
Similarly, movement speed should also be limited. Players must be prevented from manipulating their movement speed values to cheat on the server. This check is typically synchronized between the auth server and the game server.

For example, if the maximum move speed for a character is set to 100, the server should validate this value every time a movement packet arrives. If the limit is exceeded, a warning message is sent to the player or they are disconnected.

Performance Optimization on Server Side
These types of limitations are important not only for security but also for performance. Users sending excessive requests can increase server load. Therefore, rate limiting algorithms must be designed to keep CPU and RAM consumption at minimal levels.

Conclusion
Attack and movement speed limitations in private Metin2 servers must be carefully managed at the C++ level. Such controls ensure a fair gaming environment and enable the server to run more stably. Knowledge of source edit and server src is crucial for developing such systems.
 

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

Geri
Üst Alt