husur

АнтиПесочница (проверка кол-ва подключений с IP)

В теме 1 сообщение

Уважаемый пользователь! Представляю твоему вниманию систему анти-песочница. Данная система проверяет при коннекте игрока, есть ли уже такой ip на сервере. Если есть, система не позволит войти ему на сервер, а также кикнет того, кто уже на сервере под этим IP (настраивается в #define). 

Начнем. Ко всем #define:

#define MAX_IP		2 // количество максимаьных ip 
#define KICK_ALL 	1 // кикать ли того, кто уже на сервере под этим ип. 1 - включено, 0 - выключено. 

Далее, добавляем в OnPlayerConnect:

new connect_ip[32+1];//АнтиБот
GetPlayerIp(playerid,connect_ip,32);
new num_ip = GetNumberOfPlayersOnThisIP(connect_ip);
if(num_ip > MAX_IP)
{
        Kick(playerid);
        return 1;
}
stock GetNumberOfPlayersOnThisIP(test_ip[])//АнтиБот
{
        new against_ip[33];
        new ip_count = 0;
        foreach( new i:Player)
        {
                if(IsPlayerConnected(i))
                {
                        GetPlayerIp(i,against_ip,32);
                        if(!strcmp(against_ip,test_ip))
                        {
                          	ip_count++;
                          	#if KICK_ALL == 1
                            	{
                              		SendClientMessage(i, -1,  "Вы кикнуты, так как попытались зайти с песочницы (второй аккаунт)!");
                              		Kick(i);
                            	}
                          	#endif
                }
        }
        return ip_count;
}

Автор: Ben_Vladen.

 

Будут ошибки, создавайте тему в спец. разделе. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • bogdanov
      От bogdanov
      Возможно ли добавить свой скин не заменяя старого? Тоесть новая моделька со своим названием и тд? Как это можно сделать