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

Anti Rejoin - MySQL Guard - Ackslimit Guard - Ram Guard

Başlatan Sayrox, 30 Eylül 2019, 18:18:32

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Sayrox

Selamlar arkadaşlar Anti Rejoin nasıl konu başlığındaki diğer fonksiyonlara kalkan oluyor açıklayalım.

Özel programlar veya hileler ile sunucunuza giriş yapan kişilerin tekrar , tekrar farklı hesapları rejoin ettiğini düşünün.

Neler oluyor tabiki enum kullanıyorsunuz playerlarınız için ve enumları connectde sıfırlıyorsunuz bu bir standart. Rejoin engellendiğinde kişi otomatik kick yiyerek enum sıfırlamasını devre dışı bırakıyoruz. bu Ackslimit'e azda olsa bir destek sağlayacaktır.

Ram guard konusundan bahsedelim Sıfırla publicinizde bir çok değişkenin olduğunu düşünün ve kişi her hile programı ile re-login yaptığında değerler sıfırlanırken makinanızın Ram kapasitesi tabikide kullanılıyor.

MySQL guard konusuna gelirsek kişi hile programı ile her relogin yaptığında kayıt varmı yokmu diye bir sorgu gönderiyoruz ve kişi bunu hile programı ile binlerce kez yapıyor.  Buda makinanızı ve MySQL sisteminizi yoracaktır.

Daha fazla uzatmadan küçükte olsa değerli bir paylaşımda bulunmak istedim sizlerle iyi çalışmalar dilerim cümleten.


Modunuzun üst kısımlarından müsait bir konumuna;
PAWN Kodu: Seç
new CikisTime[MAX_PLAYERS]; // Çıkış zamanını integer sayı değeri olarak loglamak için
new CikisIP[MAX_PLAYERS][16]; // Çıkış ipsini string değer olarak hafızada tutmak için
#define RENK_BAN 0xFF6347AA // SendClientMessageToAll kullanarak string değişkeni yazdırdığım kısımda renk kodu hatası almamak için

OnPlayerDisconnect bölümümün müsait bir konumuna;
PAWN Kodu: Seç
Karakterler[playerid][CikisTime] = GetTickCount(); // cıkış zamanını integer kaydetmek icin
   
GetPlayerIp(playerid,Karakterler[playerid][CikisIP], 16); // son çıktığı ipyi string değişkene kaydetmek icin


Mutlaka ve mutlaka altındaki komutların çalışmasını engellemek için onplayerconnect kısmının en başına;
PAWN Kodu: Seç
if ((GetTickCount() - Karakterler[playerid][CikisTime]) < 2000 && !strcmp(ReturnIP(playerid), Karakterler[playerid][CikisIP]))
{
    new sayrox[256];
    format(sayrox,sizeof(sayrox),"(( * %s isimli oyuncu Anti Hile Sistemi
        tarafından sunucudan atıldı. Sebep: Rejoin )) ", GetName(playerid));
        SendClientMessageToAll(RENK_BAN,sayrox);
        Kick(playerid);
return true;
}

Modun en altlarından müsait bir konumuna oyuncu ismini çekmek için;
PAWN Kodu: Seç
stock GetName( playerid ) {

new Name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, Name, sizeof( Name ) );
return Name;
}

Modun en altlarından müsait bir konuma şuanki ip adresi ile eski ip adresinin aynı olduğunu kontrol eden  if şartımıza şuanki ipyi string değişkene kaydedip return ile göndermek için..
PAWN Kodu: Seç
stock ReturnIP(playerid)
{
   new plrIP[16];
   GetPlayerIp(playerid, plrIP, sizeof(plrIP));
   return plrIP;
}
Son düzenlenme: 30 Eylül 2019, 18:21:49 Sayrox

Amper

Ackslimit'e bir etkisi olmayacaktır tabii OnPlayerDisconnect sırasında oyuncuya atadığın timer tarzında verileri sıfırlamıyorsan olabilir. Yani seri bağlantı yapmaya çalışan bir oyuncuyu engellemek dışında bir etkisi yok yararı da olmaz açık söylemek gerekirse.

İkinci bir konu cikistime değişkeni playerid üzerinden işlem yapıyor. Adamın seri rejoinleri sırasında onun id değerini başka bir oyuncu alırsa bu düzen tamamen bozulur ve girmeye çalışan oyuncular da giremez. Yavaş yavaş tüm playerid slotları patlamaya başlar. (aynı ip üzerinden başka bağlantı gelirse tabi ki saldıran taraf bunu düşünebilirse işler)



lacosapalm

Eline sağlık Doğuş, Başarılı işler için iyi şeyler olması gerekiyor. Sağlam bir VDS alınırsa bu tür sorunlarla uğraşılmaz diye düşünüyorum.

- S O N

Sayrox

Alıntı yapılan: Amper - 30 Eylül 2019, 18:26:27
Ackslimit'e bir etkisi olmayacaktır tabii OnPlayerDisconnect sırasında oyuncuya atadığın timer tarzında verileri sıfırlamıyorsan olabilir. Yani seri bağlantı yapmaya çalışan bir oyuncuyu engellemek dışında bir etkisi yok yararı da olmaz açık söylemek gerekirse.

İkinci bir konu cikistime değişkeni playerid üzerinden işlem yapıyor. Adamın seri rejoinleri sırasında onun id değerini başka bir oyuncu alırsa bu düzen tamamen bozulur ve girmeye çalışan oyuncular da giremez. Yavaş yavaş tüm playerid slotları patlamaya başlar. (aynı ip üzerinden başka bağlantı gelirse tabi ki saldıran taraf bunu düşünebilirse işler)



Extrem bir kaydetme fonksiyonuna gerek yok 2 saniye dolmadan başka bir oyuncu girse dahi, zaten bir öncek IP adresini ve şuanki IP adresinin aynı olup olmadığını sorguluyor. Senin bahsettiğin olay aynı modemi kullanan 2 kişinin bir birinin oyuna sokmasını engellemek gibi bir şey.


Sayrox

Alıntı yapılan: lacosapalm - 30 Eylül 2019, 18:28:41
Eline sağlık Doğuş, Başarılı işler için iyi şeyler olması gerekiyor. Sağlam bir VDS alınırsa bu tür sorunlarla uğraşılmaz diye düşünüyorum.
Teşekkür ederim hakan tabikide, öyle bunlar sadece ekstra tedbirler Eğer VDS sağlam değilse zaten kodların yapabileceği hiç bir şey yok. Foruma dadanmış bazı arkadaşlar her konuyu biliyormuş gibi yorum yapmayı seviyor :)



Amper

Alıntı yapılan: Sayrox - 30 Eylül 2019, 18:31:18
Alıntı yapılan: Amper - 30 Eylül 2019, 18:26:27
Ackslimit'e bir etkisi olmayacaktır tabii OnPlayerDisconnect sırasında oyuncuya atadığın timer tarzında verileri sıfırlamıyorsan olabilir. Yani seri bağlantı yapmaya çalışan bir oyuncuyu engellemek dışında bir etkisi yok yararı da olmaz açık söylemek gerekirse.

İkinci bir konu cikistime değişkeni playerid üzerinden işlem yapıyor. Adamın seri rejoinleri sırasında onun id değerini başka bir oyuncu alırsa bu düzen tamamen bozulur ve girmeye çalışan oyuncular da giremez. Yavaş yavaş tüm playerid slotları patlamaya başlar. (aynı ip üzerinden başka bağlantı gelirse tabi ki saldıran taraf bunu düşünebilirse işler)



Extrem bir kaydetme fonksiyonuna gerek yok 2 saniye dolmadan başka bir oyuncu girse dahi, zaten bir öncek IP adresini ve şuanki IP adresinin aynı olup olmadığını sorguluyor. Senin bahsettiğin olay aynı modemi kullanan 2 kişinin bir birinin oyuna sokmasını engellemek gibi bir şey.


o halde ilk başta yazdığım şey hala geçerli ackslimit'e bir etkisi olmaz. fakat oldu da rejoin olayını engellemek istiyorsanız: İki defa MAX_PLAYERS kadar değişken oluşturmak yerine oyuncuların çıkış zamanlarını UNIX_TIMESTAMP yoluyla sql'e kaydedip yine aynı yöntem ile samp üzerinden verileri karşılaştırabilirsin daha sağlıklı olacaktır.


Sayrox

Bundan sonra konu başlığını ve içeriğini iyice okuyarak mantık çerçevesinde yorum yapmanı tavsiye ediyorum.

Buradaki amaç Raknet ile ve ya diğer hile programları ile hızlı rejoinler girişler yaparak sunucudaki MYSQL player mysql sorgu  fonksiyonlarını kullanıma direk kapatmak ve bunu yapan player idlerini sunucudan kicklemek.

Bu sebepten ötürüdürki Kick işlevlerini OnPlayerConnect'in en başına koyduk ve return true; atarak alttaki komutların çalışmasını bitirdik.

Ve ayrıca düşüncelerin yanlış MySQL e sürekli sorgu göndererek istekte bulunmak çekilen sorguyu kullanıp silmek sağlıklı bir olay değil bu benim düşüncem sebebide şudurki.

MySQL bir plugin olarak çalışyor ve iki tane local new'den daha fazla Ram tükettiğine ek olarak... O anda 10 kişinin çıkış yaptığını veya  MySQL e bilgi kaydedecek bir sistemi kullandığını düşünürsek bu zararlı bir olay.
Son düzenlenme: 30 Eylül 2019, 18:47:01 Sayrox

Amper

allah allah kendi kendine bir güç aracı bulunduran mysql plugini neden sağlıksız olsun ki?(sağlıklı kullanımda) konu başlığını okuduğum zaman ben ackslimit guard görüyorum farklı bir şey görebilen var mı? diğer yazdığın başlıklara gelince SA:MP threadlarının biri bitmeden ikincisinin başlamayacağının farkındasın öyle değil mi?


Sayrox

Alıntı yapılan: Amper - 30 Eylül 2019, 18:46:46
allah allah kendi kendine bir güç aracı bulunduran mysql plugini neden sağlıksız olsun ki?(sağlıklı kullanımda) konu başlığını okuduğum zaman ben ackslimit guard görüyorum farklı bir şey görebilen var mı? diğer yazdığın başlıklara gelince SA:MP threadlarının biri bitmeden ikincisinin başlamayacağının farkındasın öyle değil mi?

Senin ile daha fazla tartışmaya girmiyorum Thread,Thread,Thread kafayı bozdunuz önce Firewall yönetimini , Fiziksel Sunucu Kullanımını öğrenin daha sonra buraya gelin.

Elinizde bir çok makina patladı ackslimit uyarıları verdi bozdunuz tabi kafayı Thread , Thread , Thread aman fazla new atmıyayım.

Senin bahsettiğin olaylar spor salonunda ağırlık çalışan yeni nesil biyerlerin 1 dakikada bir kol saatini kontrol ederek aman 45 dakikadan fazla çalışmayayım kaslarım yanar mantığı.

MySQL'i şaka sanıyorsunuz çek babam çek gönder babam gönder... Oyuncak değil o kaç tane mysql sürümü kullandın hayatın boyunca?

R5,R6,R7,R8,R9,R10 bunları kullandınmı MYSQL pluginlerinin geçmişini biliyormusun? Geçmişte ne gibi sorunlar çıktı ve fixlendi biliyormusun? hayır. Ozaman lütfen bilmediğin konular hakkında yorum yapma.

Haydi bunları geçtim hayatın boyunca kaç tane hile programının kaynak kodlarını inceledin re-join yapan playerın salisede kaç adet rejoin yaptığını biliyor musun?

Tamam kardeşim buyur o halde sen çek IP adresini mysql den cache_get_vale_name ile rowlarınıda sorgula gönder querylerini haşamat etsin adam senin sunucunu buyur.


Zoxy

Kural dışı iletiler silinmiştir, gereken yaptırımlar uygulanacak.


Rouge

Yokmu şu konuşmalarının 'ss' lerini foruma atan. Marifet Marifeeet.