GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

[RAGE-MP] Gelişmiş Hile Koruma Stratejileri

Başlatan Krips Je, 19 Nisan 2025, 00:23:41

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Krips Je

Merhaba, ben Krips.

Bu konuda sizlerle uzun süredir üzerinde çalıştığım ve aktif projelerde uyguladığım gelişmiş anti-cheat stratejilerini paylaşmak istiyorum. Sadece speed hack veya teleport engellemekle bitmeyen, davranış temelli ve sistematik bir yaklaşımla RAGE:MP projelerinizi daha güvenli hale getirebileceğiniz yöntemleri anlatacağım.

Konuyu tamamen geliştirici perspektifiyle, mantıksal temelleriyle ve pratik örneklerle sunuyorum. Bu sayede sadece 'nasıl yapılır' değil, 'neden yapılmalı' kısmını da anlayacaksınız.

Hazırsanız Başlayalım..  :oku2:



1. Sunucu-Temelli Kontrolün Önemi

Client tarafı her zaman manipülasyona açıktır. Bu yüzden kontrollerin çoğunu sunucu tarafında yapmalısınız. İdeal sistemde client sadece kullanıcı arayüzü ve animasyon gibi işlemler için çalışır.

Örnekler:

Oyuncunun hızını sadece client üzerinden takip etmek yerine, sunucuda her 500ms'de pozisyon farkı kontrol edilerek gerçek hız ölçülmeli.

Araç spawn işlemleri sadece sunucu yetkilendirmesiyle yapılmalı.

PAWN Kodu: Seç
function isSpeedHack(player) {
const now = Date.now();
const elapsed = (now - player.lastCheck) / 1000;
const distance = player.position.distanceTo(player.lastPos);
const speed = distance / elapsed;
player.lastCheck = now;
player.lastPos = player.position;

return speed > 10;
}



2. Hız Hilesine Karşı İzleme Sistemi

Speed hackler genellikle oyuncunun pozisyonunu hızlıca değiştirmeye çalışır. Bunu fark etmek için sunucuda belirli zaman aralıklarında oyuncunun gerçek pozisyonunu kontrol ederek bir karşılaştırma yapabilirsiniz.

Uygulama:

Oyuncunun pozisyonları cache'lenir.

Her 1 saniyede bir mesafe ölçülür.

Araç içindeyse daha yüksek eşik değeri belirlenir.

PAWN Kodu: Seç
if (isSpeedHack(player)) {

player.kick("Speed Hack Tespit Edildi");

}



3. Teleport Koruması

Teleport hacklerde oyuncu bir anda uzak bir koordinata ışınlanır. Bu da pozisyon farkının anormal büyümesine neden olur. Sistemde belirli bölgelerde hızlı pozisyon değişimi izinli olabilir (örneğin iç mekan geçişleri), ama onun dışında kontrol şart.

PAWN Kodu: Seç
if (player.position.distanceTo(player.lastPos) > 100 && !player.justTeleported)
{

logSuspicious(player, "Teleport Hack");

}



4. Envanter Manipülasyonuna Karşı Sunucu Doğrulaması

Bazı client-side exploitler, oyuncunun item eklemesini, silmesini ya da sayısını değiştirmesini sağlar. Bu yüzden tüm envanter işlemleri sadece sunucu onayıyla yapılmalıdır.

PAWN Kodu: Seç
mp.events.add("inventory:useItem", (player, itemId) => {
if (!playerHasItem(player, itemId)) return;
// geriye kalan islemin devamini burdan yazin.
});



5. Ani Para Artışı Algılayıcısı

Hilelerin önemli hedeflerinden biri de ekonomi manipülasyonudur. Oyuncunun birden fazla yolla para kazanabileceği oyunlarda, bunları analiz etmek gerekir.

Öneri:

Her oyuncunun para kazanma kaynakları loglanmalı.

Belirli süre içinde belirli eşiğin üstü kontrol edilmeli.

PAWN Kodu: Seç
function checkSuspiciousMoney(player) {
if ((player.money - player.lastMoney) > 50000)
{
logSuspicious(player, "Ani Para Artışı Algılandı !");
}
player.lastMoney = player.money;
}



6. Tick Bazlı Hareket Analizi

Tick bazlı takip, oyuncunun her tickte yaptığı hareketleri kaydederek, şüpheli aktiviteleri filtreleme imkanı sunar. Özellikle silent aim, noclip, speed gibi hackler tickte tutarsızlık yaratır.

Analiz edilecek parametreler:

1 - Hareket yönü

2 - Hız

3 - Pos/Heading/Quat farkı

4 - Aim/Fire/HitEvent tutarlılığı



7. Anti-Cheat Loglama Sistemi Kurun

Hile tespiti yapıldığında sadece oyuncuyu kicklemek yetmez. O anki konum, action, ping, tick süresi, oyuncunun client verisi gibi tüm detaylar loglanmalı.

PAWN Kodu: Seç
function logSuspicious(player, reason) {
console.log([K-AC] ${player.name} (${player.id}) -> ${reason});
}



8. Command Abuse Karşı Rate Limiter

Bazı oyuncular komutlara spam atarak sistemleri suistimal edebilir. Örneğin /pay, /heal, /spawn gibi komutlar rate limit ile korunmalıdır. (sunucu freeroam olsun ve ya roleplay olsun farketmez verdiğim komutlar örnek komutlar. sizin için hangi komut spama girebilir şüphesindeyse ona (onlara) rate limit ekleyebilirsiniz)

PAWN Kodu: Seç
const cooldown = {};

mp.events.addCommand("pay", (player, targetId, amount) => {
if (cooldown[player.id] && Date.now() - cooldown[player.id] < 2000) return; cooldown[player.id] = Date.now();

// işlem devam
});



9. Client Request Güvenliği

Client üzerinden sunucuya gelen her isteği doğrulamak gerekir. Oyuncunun UI üzerinden gerçekleştirdiği her eylem, sunucuda kontrol edilmeden işleme alınmamalıdır.

PAWN Kodu: Seç
mp.events.add("client:buyItem", (player, itemId) => {
if (!isInShop(player)) return;
if (!itemExists(itemId)) return;
// satın alma devam
});



10. Hilecileri Sessizce Takip Etme Taktiği

Bazı durumlarda oyuncuyu doğrudan kicklemek yerine sessizce izlemek daha fazla bilgi sağlar. Özellikle exploit türünü öğrenmek, açıkları tam anlamak için kullanılır.

Nasıl yapılır:

1 - Hile şüphesi olan oyuncu gizli loglanır.

2 - Şüpheli komutlar/devranışlar ayrı log dosyasına yazılır.

3 - Gerekirse admin özel olarak izler (spectate).



Sonuç ve Son Söz

Hile önlemek bir seferlik değil, sürekli gelişen bir süreçtir. Geliştiriciler olarak sistemin hem güvenliğini hem de performansını düşünmek zorundayız. Yukarıdaki yöntemler, sadece basit kontroller değil, aynı zamanda uzun vadeli bir yapı oluşturmanın temelidir. Günümüzde RAGE:MP sunucularına yönelik yapılan exploitler çok çeşitli. Sadece teleport, speed gibi klasik hilelere değiller bunlar item duplication, para exploitleri, command abuse gibi davranış tabanlı hilelere de karşı hazırlıklı olmalıyız.

Konu zamanla güncellenmeye devam edecektir aklıma geldiği sürece RageMP işlemcisi adı altında konular oluşturacağım ve oluşturduğum konulara devamlı güncelleme getireceğim. Siz de farklı yöntemler, örnekler veya gözlemlerinizi paylaşmak isterseniz yorum kısmında belirtebilirsiniz.

Hasım olmak yerine birlikte daha sağlam sistemler kurabiliriz. :serefe:

Son düzenlenme: 19 Nisan 2025, 00:25:43 Krips Je
"Kodunu yaz, gerisini compiler düşünsün." - Meçhul Yazılımcı