-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathAuthIDChecker1-6.sma
106 lines (94 loc) · 3.75 KB
/
AuthIDChecker1-6.sma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <amxmodx>
#include <reapi_reunion>
#define PLUGIN "AuthID Checker"
#define VERSION "1.6"
#define AUTHOR "Yek'-ta"
#define HAFIZADA_TUTULAN 35
#define LOGSDIR "addons/amxmodx/csdattacklogs"
#define LOGSFILE "saldirganclient.log"
new i_ipadresikayit[HAFIZADA_TUTULAN+1][32];
new i_authidkayit[HAFIZADA_TUTULAN+1][32];
new bool:i_guveniliroyuncu[MAX_PLAYERS+1];
new i_dongu;
new g_szAuthIDLogFile[128]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
formatex(g_szAuthIDLogFile,charsmax(g_szAuthIDLogFile),"%s/%s",LOGSDIR,LOGSFILE);
}
public client_connect(PlayerID){
if(is_user_steam(PlayerID) || is_user_bot(PlayerID) || PlayerID == 0 ){
i_guveniliroyuncu[PlayerID]=true;
return PLUGIN_HANDLED;
}
new szIP[MAX_IP_LENGTH];
new szAuthID[MAX_AUTHID_LENGTH];
get_user_authid(PlayerID, szAuthID, charsmax(szAuthID));
get_user_ip(PlayerID, szIP, charsmax(szIP),1);
//server_print("Sunucuya giren %s | %s",szIP,szAuthID);
for(new i ; i <= HAFIZADA_TUTULAN ; i++){
//server_print("Sorgusu yapilan %s", i_ipadresikayit[i]);
if(equal( szIP, i_ipadresikayit[i] )){
if(equal( szAuthID, i_authidkayit[i] )){
//server_print("Daha once girisi bulundu %s | %s | %s | %s",szIP,szAuthID, i_ipadresikayit[i], i_authidkayit[i]);
i_guveniliroyuncu[PlayerID]=true;
return PLUGIN_HANDLED;
}
else{
new szUserID,szMakeLog[128],szUserName[MAX_NAME_LENGTH];
get_user_name(PlayerID,szUserName,charsmax(szUserName));
szUserID = get_user_userid(PlayerID);
client_print_color(0,print_team_grey,"^3[CSD Guard] ^1%s oyunucusunda authid checker tespit edildigi icin 30 dakika banlandi",szUserName)
formatex(szMakeLog,charsmax(szMakeLog),"<%s><%s><%s> [ 30 dk ban ] ",szUserName, szAuthID, i_authidkayit[i]);
write_file(g_szAuthIDLogFile, szMakeLog);
server_cmd("kick #%d ^"AuthID Checker^";wait;addip ^"30^" ^"%s^";wait;writeip",szUserID,szIP);
return PLUGIN_HANDLED;
}
}
}
if(!i_guveniliroyuncu[PlayerID]){
client_cmd(PlayerID,"steam_random_id 1")
copy(i_ipadresikayit[i_dongu], charsmax(i_ipadresikayit[]), szIP);
copy(i_authidkayit[i_dongu], charsmax(i_authidkayit[]), szAuthID);
//server_print("Kayit Edildi %s | %s",i_ipadresikayit[i_dongu],i_authidkayit[i_dongu]);
client_cmd(PlayerID,"echo [CSD Guard] Dosya kontrol baslatildi..")
set_task(10.0,"sifirla",i_dongu)
i_dongu++;
if(i_dongu > HAFIZADA_TUTULAN-2){
i_dongu = 0;
}
send_director_cmd(PlayerID,"retry");
}
return PLUGIN_CONTINUE;
}
public sifirla(alinandongu){
server_cmd("eski %s", i_authidkayit[alinandongu])
copy(i_ipadresikayit[alinandongu], charsmax(i_ipadresikayit[]), "");
copy(i_authidkayit[alinandongu], charsmax(i_authidkayit[]), "");
server_cmd("yeni %s", i_authidkayit[alinandongu])
}
public client_disconnected(PlayerID){
i_guveniliroyuncu[PlayerID] = false
}
public client_putinserver(PlayerID){
if(is_user_steam(PlayerID) || is_user_bot(PlayerID)){
return PLUGIN_HANDLED;
}
if(!i_guveniliroyuncu[PlayerID] && is_user_connected(PlayerID)){
new szUserID,szMakeLog[128],szUserName[MAX_NAME_LENGTH];
get_user_name(PlayerID,szUserName,charsmax(szUserName));
szUserID = get_user_userid(PlayerID);
formatex(szMakeLog,charsmax(szMakeLog),"<%s> [ Kicklendi ] ",szUserName, PlayerID);
write_file(g_szAuthIDLogFile, szMakeLog);
server_cmd("kick #%d ^"Komut engelleyici tespiti^"",szUserID);
client_print_color(0,print_team_grey,"^3[CSD Guard] ^1%s oyunucusunda komut engelleyici tespit edildi",szUserName)
}
return PLUGIN_CONTINUE;
}
stock send_director_cmd(id , text[])
{
message_begin( MSG_ONE, SVC_DIRECTOR, _, id );
write_byte( strlen(text) + 2 );
write_byte( 10 );
write_string( text );
message_end();
}