02.12.2013, 13:42 
	
	
	
		Да. Читер отключается, но остаётся на сетевом уровне.
https://sampforum.blast.hk/showthread.php?tid=470156
Поковыряй.
	
	
	
https://sampforum.blast.hk/showthread.php?tid=470156
Поковыряй.
new AT_Timerid[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
if(AT_Timerid[playerid]) //На практике это вряд ли произойдет, но для самоуспокоения добавил
{
KillTimer(AT_Timerid[playerid]);
AT_Timerid[playerid] = 0;
}
//...
}
public OnPlayerDisconnect(playerid, reason)
{
//...
AT_Timerid[playerid] = SetTimerEx("AfterDisconnectTimer", 500, 0, "i", playerid);
}
forward AfterDisconnectTimer(const playerid);
public AfterDisconnectTimer(const playerid)
{
FastKick(playerid); //Это у меня для вызова обычного моментального Kick. Оставил, т.к. советую обратить на это внимание, учитывая то, что почти у всех щас макрос на Kick()
AT_Timerid[playerid] = 0;
}
OnPlayerDisconnect(...)
{
 // ваш код
  Kick(playerid);
  return 1;
}
| 
 Code: 
OnPlayerDisconnect(...)
{
 // ваш код
  Kick(playerid);
  return 1;
}
 | 
OnPlayerConnect(..)
{
   if(connected[playerid] == true)
   {
      BanEx(playerid, "Connect flood");
      return 1;
   }
   connected[playerid] = true;
   return 1;
}
OnPlayerDisconnect(...)
{
    if(connected[playerid] == false) return 1;
    connected[playerid] = false;
    // ваш код
    Kick(playerid);
    return 1;
}
| 
 Ну, попробуйте так сделать, и посмотрите на реакцию инклудов типа foreach. Все "OnPlayerDisconnect" которые выше, все равно выполняться будут. 
 | 
| 
			 нафига вы ставите if( !IsPlayerConnected(playerid) )  | 
| 
 Есть ещё какой то другой способ защитить сервер от флуда? 
типа [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113 [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113 [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113  | 
	| 
 Вышеописанные способы ловят это. Другое дело флуд "incoming connection" и "Blocking  
%s due to a 'server full' attack". Все равно лог читать нужно ![]()  | 
| 
 а как лог читать? 
fopen("../server_log.txt",io_read) типа так? И не сильно ли это накладно по нагрузке? ведь лог читать придётся как минимум раз в 5 сек. А он большой, и придётся его чистить каждые сутки. Или есть плагины отлавливающие сообщения в лог на уровне сервера?  | 

	| 
 Есть ещё какой то другой способ защитить сервер от флуда? 
типа [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113 [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113 [05/12/2013 23:19:14] Packet was modified, sent by id: 9, ip: 178.125.169.106:12113  |